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;
 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++学生理解和学习。请根据学生的实际情况适当调整内容深度。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 05:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 05:12:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 05:12:02       82 阅读
  4. Python语言-面向对象

    2024-04-04 05:12:02       91 阅读

热门阅读

  1. ClickHouse开发相关(UDAF)

    2024-04-04 05:12:02       35 阅读
  2. 优化 Nginx 处理 504 Gateway Timeout 错误

    2024-04-04 05:12:02       33 阅读
  3. vue-codeirror编辑器vue3中的使用

    2024-04-04 05:12:02       31 阅读
  4. 使用Docker 部署jenkins 实现自动化部署

    2024-04-04 05:12:02       36 阅读