Skip to content

运算符

运算符用于执行各种运算操作。C++提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。本章将详细介绍C++中的各类运算符。

算术运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 基本算术运算符 ============
    
    int a = 10, b = 3;
    
    // 加法运算符 +
    int sum = a + b;
    cout << a << " + " << b << " = " << sum << endl;  // 13
    
    // 减法运算符 -
    int diff = a - b;
    cout << a << " - " << b << " = " << diff << endl;  // 7
    
    // 乘法运算符 *
    int product = a * b;
    cout << a << " * " << b << " = " << product << endl;  // 30
    
    // 除法运算符 /
    int quotient = a / b;
    cout << a << " / " << b << " = " << quotient << endl;  // 3(整数除法)
    
    // 取模运算符 %(求余数)
    int remainder = a % b;
    cout << a << " % " << b << " = " << remainder << endl;  // 1
    
    
    // ============ 整数除法与浮点除法 ============
    
    int x = 7, y = 2;
    
    // 整数除法:结果为整数,截断小数部分
    cout << "\n整数除法: 7 / 2 = " << x / y << endl;  // 3
    
    // 浮点除法:至少有一个操作数是浮点数
    cout << "浮点除法: 7.0 / 2 = " << 7.0 / y << endl;  // 3.5
    cout << "浮点除法: 7 / 2.0 = " << x / 2.0 << endl;  // 3.5
    
    
    // ============ 自增自减运算符 ============
    
    int num = 5;
    
    // 前置自增:先加1,再使用
    int prefix = ++num;  // num变为6,prefix为6
    cout << "\n前置自增: num = " << num << ", prefix = " << prefix << endl;
    
    // 后置自增:先使用,再加1
    num = 5;  // 重置
    int postfix = num++;  // num变为6,postfix为5
    cout << "后置自增: num = " << num << ", postfix = " << postfix << endl;
    
    // 前置自减
    num = 5;
    int prefixDec = --num;  // num变为4,prefixDec为4
    cout << "前置自减: num = " << num << ", prefixDec = " << prefixDec << endl;
    
    // 后置自减
    num = 5;
    int postfixDec = num--;  // num变为4,postfixDec为5
    cout << "后置自减: num = " << num << ", postfixDec = " << postfixDec << endl;
    
    
    // ============ 复合赋值运算符 ============
    
    int n = 10;
    
    n += 5;   // 等价于 n = n + 5;  n = 15
    cout << "\nn += 5: " << n << endl;
    
    n -= 3;   // 等价于 n = n - 3;  n = 12
    cout << "n -= 3: " << n << endl;
    
    n *= 2;   // 等价于 n = n * 2;  n = 24
    cout << "n *= 2: " << n << endl;
    
    n /= 4;   // 等价于 n = n / 4;  n = 6
    cout << "n /= 4: " << n << endl;
    
    n %= 4;   // 等价于 n = n % 4;  n = 2
    cout << "n %= 4: " << n << endl;
    
    return 0;
}

关系运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 关系运算符 ============
    
    int a = 10, b = 20;
    
    // 等于 ==
    bool isEqual = (a == b);
    cout << a << " == " << b << " : " << isEqual << endl;  // 0 (false)
    
    // 不等于 !=
    bool notEqual = (a != b);
    cout << a << " != " << b << " : " << notEqual << endl;  // 1 (true)
    
    // 大于 >
    bool greater = (a > b);
    cout << a << " > " << b << " : " << greater << endl;  // 0 (false)
    
    // 小于 <
    bool less = (a < b);
    cout << a << " < " << b << " : " << less << endl;  // 1 (true)
    
    // 大于等于 >=
    bool greaterEqual = (a >= b);
    cout << a << " >= " << b << " : " << greaterEqual << endl;  // 0 (false)
    
    // 小于等于 <=
    bool lessEqual = (a <= b);
    cout << a << " <= " << b << " : " << lessEqual << endl;  // 1 (true)
    
    
    // ============ 比较浮点数 ============
    
    double x = 0.1 + 0.2;
    double y = 0.3;
    
    // 直接比较可能失败(浮点精度问题)
    cout << "\n0.1 + 0.2 == 0.3 : " << (x == y) << endl;  // 可能是0
    
    // 正确的比较方法:使用epsilon
    double epsilon = 1e-9;
    bool nearlyEqual = (abs(x - y) < epsilon);
    cout << "使用epsilon比较: " << nearlyEqual << endl;  // 1 (true)
    
    
    // ============ 比较字符串 ============
    
    #include <string>
    string s1 = "hello";
    string s2 = "world";
    string s3 = "hello";
    
    cout << "\n字符串比较:" << endl;
    cout << s1 << " == " << s3 << " : " << (s1 == s3) << endl;  // 1 (true)
    cout << s1 << " == " << s2 << " : " << (s1 == s2) << endl;  // 0 (false)
    cout << s1 << " < " << s2 << " : " << (s1 < s2) << endl;    // 1 (true,字典序)
    
    
    // ============ 在条件中使用 ============
    
    int score = 75;
    
    cout << "\n条件判断:" << endl;
    if (score >= 60) {
        cout << "分数 " << score << " 及格" << endl;
    }
    
    if (score >= 90) {
        cout << "优秀" << endl;
    } else if (score >= 80) {
        cout << "良好" << endl;
    } else if (score >= 60) {
        cout << "及格" << endl;
    } else {
        cout << "不及格" << endl;
    }
    
    return 0;
}

逻辑运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 逻辑运算符 ============
    
    bool a = true, b = false;
    
    // 逻辑与 &&(两边都为true才为true)
    cout << "true && false = " << (a && b) << endl;  // 0 (false)
    cout << "true && true = " << (a && a) << endl;   // 1 (true)
    
    // 逻辑或 ||(任一边为true就为true)
    cout << "true || false = " << (a || b) << endl;  // 1 (true)
    cout << "false || false = " << (b || b) << endl; // 0 (false)
    
    // 逻辑非 !(取反)
    cout << "!true = " << !a << endl;   // 0 (false)
    cout << "!false = " << !b << endl;  // 1 (true)
    
    
    // ============ 短路求值 ============
    
    cout << "\n短路求值:" << endl;
    
    // 逻辑与短路:如果左边为false,右边不执行
    int x = 0;
    bool result1 = (x != 0) && (10 / x > 1);  // 右边不执行,避免除零错误
    cout << "(x != 0) && (10 / x > 1) = " << result1 << endl;
    
    // 逻辑或短路:如果左边为true,右边不执行
    bool result2 = (x == 0) || (10 / x > 1);  // 右边不执行
    cout << "(x == 0) || (10 / x > 1) = " << result2 << endl;
    
    
    // ============ 实际应用 ============
    
    int age = 25;
    bool hasLicense = true;
    
    // 检查是否可以驾驶
    if (age >= 18 && hasLicense) {
        cout << "\n可以驾驶" << endl;
    }
    
    // 检查是否是周末
    int day = 6;  // 周六
    if (day == 6 || day == 7) {
        cout << "今天是周末" << endl;
    }
    
    // 检查成绩等级
    int score = 85;
    if (score >= 80 && score < 90) {
        cout << "成绩良好" << endl;
    }
    
    // 检查字符类型
    char ch = 'A';
    if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {
        cout << ch << " 是字母" << endl;
    }
    
    
    // ============ 位运算实现逻辑运算 ============
    
    // & 位与:可以用于逻辑运算,但不短路
    // | 位或:可以用于逻辑运算,但不短路
    
    bool p = true, q = false;
    
    cout << "\n位运算实现逻辑运算:" << endl;
    cout << "true & false = " << (p & q) << endl;  // 0
    cout << "true | false = " << (p | q) << endl;  // 1
    
    // 注意:位运算会对两边都求值,不会短路
    
    return 0;
}

位运算符

cpp
#include <iostream>
#include <bitset>
using namespace std;

int main() {
    // ============ 位运算符 ============
    
    unsigned int a = 0b1100;  // 12
    unsigned int b = 0b1010;  // 10
    
    // 按位与 &(两位都为1才为1)
    unsigned int andResult = a & b;  // 0b1000 = 8
    cout << "1100 & 1010 = " << bitset<4>(andResult) << " (" << andResult << ")" << endl;
    
    // 按位或 |(任一位为1就为1)
    unsigned int orResult = a | b;  // 0b1110 = 14
    cout << "1100 | 1010 = " << bitset<4>(orResult) << " (" << orResult << ")" << endl;
    
    // 按位异或 ^(两位不同为1,相同为0)
    unsigned int xorResult = a ^ b;  // 0b0110 = 6
    cout << "1100 ^ 1010 = " << bitset<4>(xorResult) << " (" << xorResult << ")" << endl;
    
    // 按位取反 ~(0变1,1变0)
    unsigned int notResult = ~a;
    cout << "~1100 = " << bitset<8>(notResult) << endl;
    
    // 左移 <<(向左移动n位,低位补0)
    unsigned int leftShift = a << 2;  // 0b110000 = 48
    cout << "1100 << 2 = " << bitset<8>(leftShift) << " (" << leftShift << ")" << endl;
    
    // 右移 >>(向右移动n位,高位补0)
    unsigned int rightShift = a >> 2;  // 0b0011 = 3
    cout << "1100 >> 2 = " << bitset<4>(rightShift) << " (" << rightShift << ")" << endl;
    
    
    // ============ 位运算应用 ============
    
    cout << "\n===== 位运算应用 =====" << endl;
    
    // 1. 快速乘除2的幂
    int num = 10;
    cout << num << " * 2 = " << (num << 1) << endl;  // 乘2
    cout << num << " * 4 = " << (num << 2) << endl;  // 乘4
    cout << num << " / 2 = " << (num >> 1) << endl;  // 除2
    cout << num << " / 4 = " << (num >> 2) << endl;  // 除4
    
    // 2. 判断奇偶
    cout << "\n判断奇偶:" << endl;
    for (int i = 0; i < 5; i++) {
        if (i & 1) {
            cout << i << " 是奇数" << endl;
        } else {
            cout << i << " 是偶数" << endl;
        }
    }
    
    // 3. 交换两个数(不使用临时变量)
    int x = 5, y = 10;
    cout << "\n交换前: x = " << x << ", y = " << y << endl;
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
    cout << "交换后: x = " << x << ", y = " << y << endl;
    
    // 4. 权限管理
    const int READ = 0b001;     // 读权限
    const int WRITE = 0b010;    // 写权限
    const int EXECUTE = 0b100;  // 执行权限
    
    int permission = READ | WRITE;  // 有读和写权限
    
    cout << "\n权限检查:" << endl;
    cout << "读权限: " << ((permission & READ) ? "有" : "无") << endl;
    cout << "写权限: " << ((permission & WRITE) ? "有" : "无") << endl;
    cout << "执行权限: " << ((permission & EXECUTE) ? "有" : "无") << endl;
    
    // 添加执行权限
    permission |= EXECUTE;
    cout << "添加执行权限后: " << bitset<3>(permission) << endl;
    
    // 移除写权限
    permission &= ~WRITE;
    cout << "移除写权限后: " << bitset<3>(permission) << endl;
    
    // 5. 获取和设置特定位
    int value = 0b10110100;
    
    // 获取第3位(从右往左,从0开始)
    int bit3 = (value >> 3) & 1;
    cout << "\n第3位: " << bit3 << endl;
    
    // 设置第2位为1
    value |= (1 << 2);
    cout << "设置第2位后: " << bitset<8>(value) << endl;
    
    // 清除第2位
    value &= ~(1 << 2);
    cout << "清除第2位后: " << bitset<8>(value) << endl;
    
    return 0;
}

赋值运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 基本赋值运算符 ============
    
    int a = 10;  // 基本赋值
    cout << "a = " << a << endl;
    
    // 连续赋值(从右向左)
    int b, c;
    b = c = a;  // 先c = a,再b = c
    cout << "b = " << b << ", c = " << c << endl;
    
    
    // ============ 复合赋值运算符 ============
    
    int num = 10;
    
    // 加法赋值
    num += 5;  // num = num + 5 = 15
    cout << "\nnum += 5: " << num << endl;
    
    // 减法赋值
    num -= 3;  // num = num - 3 = 12
    cout << "num -= 3: " << num << endl;
    
    // 乘法赋值
    num *= 2;  // num = num * 2 = 24
    cout << "num *= 2: " << num << endl;
    
    // 除法赋值
    num /= 4;  // num = num / 4 = 6
    cout << "num /= 4: " << num << endl;
    
    // 取模赋值
    num %= 4;  // num = num % 4 = 2
    cout << "num %= 4: " << num << endl;
    
    // 位运算赋值
    num = 0b1100;
    
    num &= 0b1010;  // num = num & 0b1010 = 0b1000
    cout << "\nnum &= 0b1010: " << num << endl;
    
    num |= 0b0010;  // num = num | 0b0010 = 0b1010
    cout << "num |= 0b0010: " << num << endl;
    
    num ^= 0b1111;  // num = num ^ 0b1111 = 0b0101
    cout << "num ^= 0b1111: " << num << endl;
    
    num <<= 2;  // num = num << 2 = 0b10100
    cout << "num <<= 2: " << num << endl;
    
    num >>= 1;  // num = num >> 1 = 0b1010
    cout << "num >>= 1: " << num << endl;
    
    
    // ============ 赋值表达式 ============
    
    // 赋值是一个表达式,有返回值
    int x;
    int y = (x = 5);  // x被赋值为5,y也被赋值为5
    
    cout << "\nx = " << x << ", y = " << y << endl;
    
    // 在条件中使用赋值表达式
    int value;
    if ((value = getValue()) > 0) {  // 假设getValue返回正数
        cout << "value = " << value << endl;
    }
    
    return 0;
}

int getValue() {
    return 42;
}

条件运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 三目运算符 ============
    
    // 语法:条件 ? 表达式1 : 表达式2
    // 如果条件为真,返回表达式1的值;否则返回表达式2的值
    
    int a = 10, b = 20;
    
    // 求最大值
    int max = (a > b) ? a : b;
    cout << "max(" << a << ", " << b << ") = " << max << endl;
    
    // 求最小值
    int min = (a < b) ? a : b;
    cout << "min(" << a << ", " << b << ") = " << min << endl;
    
    // 求绝对值
    int num = -5;
    int absValue = (num < 0) ? -num : num;
    cout << "|" << num << "| = " << absValue << endl;
    
    
    // ============ 嵌套三目运算符 ============
    
    int score = 75;
    
    // 根据分数判断等级
    string grade = (score >= 90) ? "A" :
                   (score >= 80) ? "B" :
                   (score >= 70) ? "C" :
                   (score >= 60) ? "D" : "F";
    
    cout << "\n分数 " << score << " 的等级是 " << grade << endl;
    
    
    // ============ 三目运算符与if-else对比 ============
    
    // 使用三目运算符
    int x = 5;
    int result1 = (x > 0) ? x * 2 : x * -1;
    
    // 等价的if-else
    int result2;
    if (x > 0) {
        result2 = x * 2;
    } else {
        result2 = x * -1;
    }
    
    cout << "\n三目运算符结果: " << result1 << endl;
    cout << "if-else结果: " << result2 << endl;
    
    
    // ============ 在输出中使用 ============
    
    int count = 1;
    cout << "\n你有 " << count << " 条" << (count > 1 ? "消息" : "消息") << endl;
    
    count = 5;
    cout << "你有 " << count << " 条" << (count > 1 ? "消息" : "消息") << endl;
    
    
    // ============ 注意事项 ============
    
    // 三目运算符的两个表达式类型应该兼容
    int val = 10;
    // auto r = (val > 0) ? val : "negative";  // 错误:类型不匹配
    
    // 正确做法
    string result = (val > 0) ? to_string(val) : "negative";
    cout << "\n结果: " << result << endl;
    
    return 0;
}

逗号运算符

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 逗号运算符 ============
    
    // 逗号运算符用于连接两个表达式
    // 从左到右依次执行,返回最后一个表达式的值
    
    int a = 5;
    int b = 10;
    
    // 逗号表达式
    int result = (a++, b++, a + b);
    // 执行过程:
    // 1. a++ -> a变为6
    // 2. b++ -> b变为11
    // 3. a + b -> 6 + 11 = 17
    // result = 17
    
    cout << "a = " << a << ", b = " << b << endl;  // a=6, b=11
    cout << "result = " << result << endl;  // result=17
    
    
    // ============ 在for循环中使用 ============
    
    cout << "\nfor循环中使用逗号运算符:" << endl;
    
    // 同时初始化和更新多个变量
    for (int i = 0, j = 10; i < j; i++, j--) {
        cout << "i = " << i << ", j = " << j << endl;
    }
    
    
    // ============ 在赋值中使用 ============
    
    int x, y, z;
    
    // 连续赋值(注意:这不是逗号运算符)
    x = y = z = 0;
    
    // 使用逗号运算符
    int sum = (x = 1, y = 2, z = 3, x + y + z);
    cout << "\nsum = " << sum << endl;  // sum = 6
    
    
    // ============ 注意事项 ============
    
    // 逗号运算符的优先级最低
    int num = 5;
    int result2 = num++, num * 2;  // 注意:这不是逗号运算符!
    // 等价于:(int result2 = num++), (num * 2);
    // result2 = 5,然后num变为6
    
    cout << "\nnum = " << num << ", result2 = " << result2 << endl;
    
    // 正确使用括号
    num = 5;
    int result3 = (num++, num * 2);  // result3 = 12
    cout << "num = " << num << ", result3 = " << result3 << endl;
    
    return 0;
}

sizeof运算符

cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    // ============ sizeof基本用法 ============
    
    // sizeof用于获取类型或变量的大小(字节数)
    
    // 获取基本类型大小
    cout << "===== 基本类型大小 =====" << endl;
    cout << "sizeof(char): " << sizeof(char) << " 字节" << endl;
    cout << "sizeof(short): " << sizeof(short) << " 字节" << endl;
    cout << "sizeof(int): " << sizeof(int) << " 字节" << endl;
    cout << "sizeof(long): " << sizeof(long) << " 字节" << endl;
    cout << "sizeof(long long): " << sizeof(long long) << " 字节" << endl;
    cout << "sizeof(float): " << sizeof(float) << " 字节" << endl;
    cout << "sizeof(double): " << sizeof(double) << " 字节" << endl;
    cout << "sizeof(bool): " << sizeof(bool) << " 字节" << endl;
    
    
    // ============ sizeof变量 ============
    
    int num = 10;
    double pi = 3.14;
    char ch = 'A';
    
    cout << "\n===== 变量大小 =====" << endl;
    cout << "sizeof(num): " << sizeof(num) << " 字节" << endl;
    cout << "sizeof(pi): " << sizeof(pi) << " 字节" << endl;
    cout << "sizeof(ch): " << sizeof(ch) << " 字节" << endl;
    
    // sizeof可以省略括号(用于变量时)
    cout << "sizeof num: " << sizeof num << " 字节" << endl;  // 等价于sizeof(num)
    
    
    // ============ sizeof数组 ============
    
    int arr[] = {1, 2, 3, 4, 5};
    
    // 数组大小 = 总字节数
    cout << "\n===== 数组大小 =====" << endl;
    cout << "sizeof(arr): " << sizeof(arr) << " 字节" << endl;  // 20字节(5个int)
    
    // 计算数组元素个数
    int length = sizeof(arr) / sizeof(arr[0]);
    cout << "数组元素个数: " << length << endl;
    
    
    // ============ sizeof指针 ============
    
    int* ptr = arr;
    
    cout << "\n===== 指针大小 =====" << endl;
    cout << "sizeof(ptr): " << sizeof(ptr) << " 字节" << endl;  // 指针大小(32位系统4字节,64位系统8字节)
    cout << "sizeof(*ptr): " << sizeof(*ptr) << " 字节" << endl;  // int的大小(4字节)
    
    
    // ============ sizeof字符串 ============
    
    const char* cstr = "hello";
    string cppstr = "hello";
    
    cout << "\n===== 字符串大小 =====" << endl;
    cout << "sizeof(cstr): " << sizeof(cstr) << " 字节" << endl;  // 指针大小
    cout << "sizeof(cppstr): " << sizeof(cppstr) << " 字节" << endl;  // string对象大小
    cout << "cppstr.length(): " << cppstr.length() << endl;  // 字符串长度
    
    
    // ============ sizeof结构体 ============
    
    struct Student {
        char name[20];   // 20字节
        int age;         // 4字节
        double score;    // 8字节
    };
    
    Student stu;
    
    cout << "\n===== 结构体大小 =====" << endl;
    cout << "sizeof(Student): " << sizeof(Student) << " 字节" << endl;
    cout << "sizeof(stu): " << sizeof(stu) << " 字节" << endl;
    
    // 注意:结构体大小可能因为内存对齐而大于成员大小之和
    cout << "成员大小之和: " << sizeof(stu.name) + sizeof(stu.age) + sizeof(stu.score) << " 字节" << endl;
    
    
    // ============ sizeof与容器 ============
    
    vector<int> vec = {1, 2, 3, 4, 5};
    
    cout << "\n===== 容器大小 =====" << endl;
    cout << "sizeof(vec): " << sizeof(vec) << " 字节" << endl;  // vector对象大小
    cout << "vec.size(): " << vec.size() << endl;  // 元素个数
    
    return 0;
}

运算符优先级

cpp
#include <iostream>
using namespace std;

int main() {
    // ============ 运算符优先级 ============
    
    /*
     * 运算符优先级(从高到低):
     * 
     * 1. ::                          作用域解析
     * 2. () [] -> . ++ --            后缀运算符
     * 3. ++ -- + - ! ~ * & sizeof    前缀运算符
     * 4. new delete                  内存管理
     * 5. .* ->*                      成员指针
     * 6. * / %                       乘除模
     * 7. + -                         加减
     * 8. << >>                       移位
     * 9. < <= > >=                   关系运算符
     * 10. == !=                      相等运算符
     * 11. &                          位与
     * 12. ^                          位异或
     * 13. |                          位或
     * 14. &&                         逻辑与
     * 15. ||                         逻辑或
     * 16. ?:                         条件运算符
     * 17. = += -= *= /= %= &= ^= |= <<= >>=  赋值运算符
     * 18. ,                          逗号运算符
     */
    
    // 示例:优先级影响结果
    int a = 5, b = 3, c = 2;
    
    // 算术运算优先级
    int result1 = a + b * c;    // 先乘后加:5 + 6 = 11
    int result2 = (a + b) * c;  // 先加后乘:8 * 2 = 16
    
    cout << "a + b * c = " << result1 << endl;
    cout << "(a + b) * c = " << result2 << endl;
    
    // 关系运算与逻辑运算
    bool result3 = a > b && b > c;     // 先比较后逻辑与
    bool result4 = a > b || b > c;     // 先比较后逻辑或
    
    cout << "\na > b && b > c = " << result3 << endl;
    cout << "a > b || b > c = " << result4 << endl;
    
    // 位运算与比较
    int x = 6;  // 0b110
    int y = 3;  // 0b011
    
    // 注意:比较运算符优先级高于位运算符
    // int wrong = x & y > 0;  // 等价于 x & (y > 0),可能不是预期结果
    
    int correct = (x & y) > 0;  // 正确写法
    cout << "\n(x & y) > 0 = " << correct << endl;
    
    // 赋值与比较
    int val;
    // if (val = getValue() > 0)  // 错误:先比较后赋值
    if ((val = getValue()) > 0) {  // 正确:先赋值后比较
        cout << "val = " << val << endl;
    }
    
    
    // ============ 使用括号明确优先级 ============
    
    // 建议:使用括号明确优先级,提高可读性
    
    int complex = ((a + b) * c - 10) / 2;
    cout << "\n((a + b) * c - 10) / 2 = " << complex << endl;
    
    return 0;
}

int getValue() {
    return 42;
}

本章小结

本章学习了:

  • 算术运算符:+、-、*、/、%、++、--
  • 关系运算符:==、!=、>、<、>=、<=
  • 逻辑运算符:&&、||、!
  • 位运算符:&、|、^、~、<<、>>
  • 赋值运算符:=、+=、-=、*=、/=、%=等
  • 条件运算符:?:
  • 逗号运算符:,
  • sizeof运算符:获取类型或变量大小
  • 运算符优先级:使用括号明确优先级

下一章,我们将学习流程控制,了解C语言的条件语句和循环语句。