C++基础语法、算法、数据结构的简化总结

这里写目录标题

    • C++基础语法
      • 变量与运算
      • 条件判断
      • 循环结构
    • 数组和字符串
      • 一维数组
      • 二维数组
      • 字符串处理
    • 函数与算法
      • 函数定义
      • 常用算法
    • 数据结构
      • 链表与顺序表
      • 栈和队列
    • 计算机基础
      • 硬件组成
      • 数据单位
      • 进制转换

C++知识点总结,适合六年级刚学C++的学生:


C++基础语法

变量与运算

  • 求和公式:初始化sum为0,然后累加每个数。

    int sum = 0;
    sum += number;
    
  • 求乘积公式:初始化sum为1,然后连乘每个数。

    int product = 1;
    product *= number;
    
  • 交换变量ab的值

    swap(a, b);
    
  • C语言输入整数

    int a;
    scanf("%d", &a);
    
  • C语言输出整数

    printf("%d", a);
    

条件判断

  • 判断n能否被i整除n % i == 0

  • 判断奇偶数:偶数 n % 2 == 0,奇数 n % 2 == 1

  • 寻找最大值:初始化max为最小可能值,然后更新为最大值。

    int max = -99999;
    if (max < value) max = value;
    
  • 寻找最小值:初始化min为最大可能值,然后更新为最小值。

    int min = 999999;
    if (min > value) min = value;
    

循环结构

  • 计数器:初始化cnt为0,然后每次循环递增。

    int cnt = 0;
    cnt++;
    
  • 分解数字:使用while循环逐位分解数字。

    int n, m;
    while (n > 0) {m = n / 10;n = n % 10;
    }
    
  • 输入一系列数:使用while循环读取输入直到结束。

    while (cin >> number) {// 处理number;
    }
    
  • 循环遍历数组:使用for循环访问数组元素。

    for (int i = 0; i < arraySize; i++) {cin >> array[i];
    }
    
  • 中断和跳过循环:使用break退出循环,continue跳过当前迭代。

数组和字符串

一维数组

  • 输入数组元素

    int array[5];
    for (int i = 0; i < 5; i++) {cin >> array[i];
    }
    
  • 倒序遍历数组

    for (int i = arraySize - 1; i >= 0; i--) {// 处理array[i];
    }
    

二维数组

  • 输入二维数组元素

    int matrix[3][3];
    for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {cin >> matrix[i][j];}
    }
    
  • 对角线元素:检查(i, j)是否在对角线上。

    if (i == j) {// 左对角线
    } else if (i+j==arraySize ?1) { // arraySize-1	arraySize+1// 右对角线    //看输入从0开始还是1开始
    }

字符串处理

  • 获取字符串长度:使用strlen()size()方法。
 char c[100];cin >> c;c_len = strlen(c);string str;cin >> str;size_t length = str.size();
  • 读取整行字符串:使用getline()函数。
    string line;
    getline(cin, line);
    

函数与算法

函数定义

  • 定义一个函数:指定返回类型、函数名和参数。
    int add(int a, int b) {return a + b;
    }
    

常用算法

  • 排序:使用sort()函数对数组进行排序。

    vector<int> numbers = {4, 2, 1, 3};
    sort(numbers.begin(), numbers.end());
    
  • 查找素数:使用循环判断一个数是否为素数。

    bool isPrime(int n) {for (int i = 2; i * i <= n; i++) {if (n % i == 0) return false;}return true;
    }
    
  • 求因子之和:计算一个数的所有因子之和。

    int sumOfFactors(int n) {int sum = 0;for (int i = 1; i < n; i++) {if (n % i == 0) sum += i;}return sum;
    }
    
  • 斐波那契数列:使用数组计算斐波那契数列。

    int fib(int n) {if (n <= 1) return n;return fib(n - 1) + fib(n - 2);
    }
    

数据结构

链表与顺序表

  • 链表特点:可以随时插入、删除值,但不能随机访问。
  • 顺序表(数组)特点:可以任意存取值,长度固定。

栈和队列

  • :先进后出(LIFO)数据结构。

    stack<int> s;
    s.push(1);
    s.pop();
    
  • 队列:先进先出(FIFO)数据结构。

    queue<int> q;
    q.push(1);
    q.pop();
    

  • 二叉树特点:每个节点最多有两个子节点。
  • 遍历方式:先序、中序、后序。

计算机基础

硬件组成

  • CPU:中央处理器,负责算术和逻辑运算。

数据单位

  • 1字节(Byte):等于8位(bit)。
  • 1KB:等于1024字节(Byte)。
  • 1MB:等于1024KB。

进制转换

  • 十进制转其他进制:使用短除法进行转换。

以上内容为C++基础语法、算法、数据结构的简化总结,适合学了半年以上C++学生理解和学习。请根据学生的实际情况适当调整内容深度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt+OpenGL-part3

1-4EBO画矩形_哔哩哔哩_bilibili 可以绘制两个三角形来组成一个矩形&#xff08;OpenGL主要处理三角形&#xff09; 直接画两个三角形&#xff1a; #include "openglwidget.h" #include <QDebug>unsigned int VBO,VAO; unsigned int shaderProgram;//顶点着…

升级到springdoc的Swagger3

jdk 17、springboot3 依赖配置&#xff1a;就此一个依赖即可 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.5.0</version></dependency>Swagger2-…

Leetcode 215. 数组中的第K个最大元素

心路历程&#xff1a; 这道题本质上是排序不完全的过程&#xff0c;而且这道题有bug&#xff0c;直接用python的排序算法其实就能AC。 可以按照快排排到找到k-1个large元素的思维去做&#xff0c;不过这道题需要考虑空间复杂度&#xff0c;所以需要用指针快排。 其实也可以考虑…

序列超图的下一项推荐 笔记

1 Title Next-item Recommendation with Sequential Hypergraphs&#xff08;Jianling Wang、Kaize Ding、Liangjie Hong、Huan Liu、James Caverlee&#xff09;【SIGIR 2020】 2 Conclusion This study explores the dynamic meaning of items in realworld scenarios and p…

设计模式:抽象工厂

定义 抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一个接口&#xff0c;用于创建一系列相关或相互依赖的对象&#xff0c;而无需指定它们具体的类。这种模式特别适用于处理产品族&#xff0c;但在不可能修改的情况下扩展产品族是困难的。 应用场景 抽象工厂模式通…

RocketMQ的简单使用

这里需要创建2.x版本的springboot项目 导入依赖 <dependencies><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version></dependency>&…

基于SSM+Jsp+Mysql的人事管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

CV最新论文|4月5日 arXiv更新论文合集

以下内容由马拉AI整理&#xff0c;今天为大家带来4月5日 arXiv 计算机视觉和模式识别相关论文&#xff1a; 1、Know Your Neighbors: Improving Single-View Reconstruction via Spatial Vision-Language Reasoning 了解你的邻居&#xff1a;通过空间视觉-语言推理改进单视图…

深入理解JVM的内存结构及GC机制(2)

虚拟机栈占用的是操作系统内存&#xff0c;每个线程对应一个虚拟机栈&#xff0c;它是线程私有的&#xff0c;生命周期和线程一样&#xff0c;每个方法被执行时产生一个栈帧&#xff08;Statck Frame&#xff09;&#xff0c;栈帧用于存储局部变量表、动态链接、操作数和方法出…

大语言模型落地的关键技术:RAG

1、什么是RAG&#xff1f; RAG 是检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09;的简称&#xff0c;是当前最火热的大语言模型应用落地的关键技术&#xff0c;主要用于提高语言模型的效果和准确性。它结合了两种主要的NLP方法&#xff1a;检索&#xff…

Anaconda 安装pytorch 问题

问题 clobbererror: this transaction has incompatible packages due to a shared path. packages: nvidia/win-64::cuda-cupti-11.8.87-0, nvidia/win-64::cuda-nvtx-11.8.86-0 path: ‘metadata_conda_debug.yaml’ 打开 cmd 输入 nvida-smi &#xff0c;可以看见本机的NI…

post请求搜索功能爬虫

<!--爬虫仅支持1.8版本的jdk--> <!-- 爬虫需要的依赖--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency>…

2023年下半年网络工程师上午真题及答案解析

1.当计算机突然断电时&#xff0c;( )中存储的信息会丢失。 A.光盘 B.ROM C.RAM D.硬盘 2.进程的状态有就绪态、运行态、阻塞态&#xff0c;其中( )的变化是不可能直接发生的。 A.就绪态到运行态 B.阻塞态到就绪态 C.运行态到阻塞态 D.阻塞态到运行态 3.分…

老板们注意了,AI可能在悄悄威胁你的工作

前天,科技新闻大佬The Register发了一篇文章,说的是AI在科研领域的管理角色越来越大,可能会让管理岗位变得过时,听起来是不是有点儿疯狂? ESMT Berlin的研究小伙伴们发现,AI能够以更大的规模和效率来管理研究项目,比如审查科学文献和预测创新化合物等等,而不是取代人类…

docker用来解决什么问题

2024年4月6日&#xff0c;周六下午 Docker用于解决软件开发、部署和运行过程中的一系列问题&#xff0c;包括但不限于以下几点&#xff1a; 环境一致性问题&#xff1a;在软件开发和部署过程中&#xff0c;由于不同环境的配置差异&#xff0c;经常会出现“在我的电脑上可以运行…

漂亮国的无人餐厅的机器人骚操作

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;你的老朋友&#xff0c;老K。行业群 新书《智能物流系统构成与技术实践》 知名企业 读者福利&#xff1a; &#x1f449;抄底-仓储机器人-即买即用-免调试 智能制造-话题精读 1、西门子、ABB、汇川&#x…

线性结构与非线性结构

线性结构与非线性结构 数据结构包括:线性结构和非线性结构。 线性结构 1)线性结构作为最常用的数据结构&#xff0c;其特点是数据元素之间存在一对一的线性关系。 2)线性结构有两种不同的存储结构&#xff0c;即顺序存储结构和链式存储结构。 顺序存储的线性表称为顺序表&a…

react api:createContext

使用 createContext 创建组件能够提供与读取的 上下文&#xff08;context&#xff09;。 ** const SomeContext createContext(defaultValue) 在任意组件外调用 createContext 创建一个上下文。 import { createContext } from ‘react’; const ThemeContext createConte…

P2036 [COCI2008-2009 #2] PERKET(DFS)

# [COCI2008-2009 #2] PERKET ## 题目描述 Perket 是一种流行的美食。为了做好 Perket&#xff0c;厨师必须谨慎选择食材&#xff0c;以在保持传统风味的同时尽可能获得最全面的味道。你有 n 种可支配的配料。对于每一种配料&#xff0c;我们知道它们各自的酸度 s 和苦度 b。…

深入探讨string类的奥秘

标题&#xff1a;深入探索C String类的奥秘 一、String类简介 在C编程中&#xff0c;字符串处理是非常常见的一种操作。C标准库为我们提供了一种名为String的类&#xff0c;用于处理字符串。String类在头文件中定义&#xff0c;它提供了许多成员函数和友元函数&#xff0c;使…