• C
  • C语言 算术运算符 逻辑运算符 关系运算符 复合赋值等运算符教程

  • @ 2025-3-24 12:07:45

在C语言里,运算符是用来对数据进行操作的符号。下面会详细介绍算术运算符、逻辑运算符、关系运算符和复合赋值运算符。

1. 算术运算符

算术运算符用于执行基本的数学运算。

常见算术运算符及示例

#include <stdio.h>

int main() {
    // 定义两个整数变量 a 和 b
    int a = 10;
    int b = 3;

    // 加法运算符 +
    // 计算 a 和 b 的和,并将结果存储在 sum 中
    int sum = a + b;
    // 输出 a + b 的结果
    printf("a + b 的结果是: %d\n", sum);

    // 减法运算符 -
    // 计算 a 减去 b 的差,并将结果存储在 diff 中
    int diff = a - b;
    // 输出 a - b 的结果
    printf("a - b 的结果是: %d\n", diff);

    // 乘法运算符 *
    // 计算 a 和 b 的乘积,并将结果存储在 prod 中
    int prod = a * b;
    // 输出 a * b 的结果
    printf("a * b 的结果是: %d\n", prod);

    // 除法运算符 /
    // 计算 a 除以 b 的商,并将结果存储在 quot 中
    int quot = a / b;
    // 输出 a / b 的结果
    printf("a / b 的结果是: %d\n", quot);

    // 取模运算符 %
    // 计算 a 除以 b 的余数,并将结果存储在 rem 中
    int rem = a % b;
    // 输出 a % b 的结果
    printf("a %% b 的结果是: %d\n", rem);

    // 自增运算符 ++
    // 后缀自增:先使用 a 的值,然后 a 加 1
    int c = a++;
    // 输出后缀自增后 c 和 a 的值
    printf("a++ 后,c 的值是: %d,a 的值是: %d\n", c, a);

    // 前缀自增:先将 b 加 1,然后使用 b 的值
    int d = ++b;
    // 输出前缀自增后 d 和 b 的值
    printf("++b 后,d 的值是: %d,b 的值是: %d\n", d, b);

    return 0;
}

代码解释

  • +-*/% 分别用于加、减、乘、除、取模运算。在除法运算中,如果操作数是整数,结果会截断小数部分。
  • a++ 是后缀自增,先使用 a 的当前值,之后 a 再加 1;++b 是前缀自增,先把 b 加 1,再使用 b 的新值。

2. 逻辑运算符

逻辑运算符用于组合或反转条件表达式,其结果是布尔值(真或假),在C语言里,非零表示真,零表示假。

常见逻辑运算符及示例

#include <stdio.h>

int main() {
    // 定义两个整数变量 a 和 b
    int a = 10;
    int b = 3;

    // 逻辑与运算符 &&
    // 只有当 (a > 5) 和 (b < 10) 都为真时,结果才为真
    int and_result = (a > 5) && (b < 10);
    // 输出逻辑与运算的结果
    printf("(a > 5) && (b < 10) 的结果是: %d\n", and_result);

    // 逻辑或运算符 ||
    // 只要 (a > 5) 或 (b > 10) 中有一个为真,结果就为真
    int or_result = (a > 5) || (b > 10);
    // 输出逻辑或运算的结果
    printf("(a > 5) || (b > 10) 的结果是: %d\n", or_result);

    // 逻辑非运算符 !
    // 反转 (a > 5) 的真假值
    int not_result = !(a > 5);
    // 输出逻辑非运算的结果
    printf("!(a > 5) 的结果是: %d\n", not_result);

    return 0;
}

代码解释

  • &&:只有当两个条件都为真时,整个表达式才为真。
  • ||:只要有一个条件为真,整个表达式就为真。
  • !:用于反转条件的真假。

3. 关系运算符

关系运算符用于比较两个值,其结果同样是布尔值(真或假)。

常见关系运算符及示例

#include <stdio.h>

int main() {
    // 定义两个整数变量 a 和 b
    int a = 10;
    int b = 3;

    // 等于运算符 ==
    // 比较 a 和 b 是否相等
    int equal_result = (a == b);
    // 输出等于运算的结果
    printf("a == b 的结果是: %d\n", equal_result);

    // 不等于运算符 !=
    // 比较 a 和 b 是否不相等
    int not_equal_result = (a != b);
    // 输出不等于运算的结果
    printf("a != b 的结果是: %d\n", not_equal_result);

    // 大于运算符 >
    // 比较 a 是否大于 b
    int greater_result = (a > b);
    // 输出大于运算的结果
    printf("a > b 的结果是: %d\n", greater_result);

    // 小于运算符 <
    // 比较 a 是否小于 b
    int less_result = (a < b);
    // 输出小于运算的结果
    printf("a < b 的结果是: %d\n", less_result);

    // 大于等于运算符 >=
    // 比较 a 是否大于等于 b
    int greater_equal_result = (a >= b);
    // 输出大于等于运算的结果
    printf("a >= b 的结果是: %d\n", greater_equal_result);

    // 小于等于运算符 <=
    // 比较 a 是否小于等于 b
    int less_equal_result = (a <= b);
    // 输出小于等于运算的结果
    printf("a <= b 的结果是: %d\n", less_equal_result);

    return 0;
}

代码解释

  • 关系运算符用于比较两个值的大小或相等性。若条件成立,结果为 1(真);若不成立,结果为 0(假)。

4. 复合赋值运算符

复合赋值运算符是算术运算符和赋值运算符的结合,能简化代码。

常见复合赋值运算符及示例

#include <stdio.h>

int main() {
    // 定义两个整数变量 a 和 b
    int a = 10;
    int b = 3;

    // 加赋值运算符 +=
    // 等价于 a = a + b
    a += b;
    // 输出加赋值运算后 a 的值
    printf("a += b 后,a 的值是: %d\n", a);

    // 减赋值运算符 -=
    // 等价于 a = a - b
    a -= b;
    // 输出减赋值运算后 a 的值
    printf("a -= b 后,a 的值是: %d\n", a);

    // 乘赋值运算符 *=
    // 等价于 a = a * b
    a *= b;
    // 输出乘赋值运算后 a 的值
    printf("a *= b 后,a 的值是: %d\n", a);

    // 除赋值运算符 /=
    // 等价于 a = a / b
    a /= b;
    // 输出除赋值运算后 a 的值
    printf("a /= b 后,a 的值是: %d\n", a);

    // 取模赋值运算符 %=
    // 等价于 a = a % b
    a %= b;
    // 输出取模赋值运算后 a 的值
    printf("a %%= b 后,a 的值是: %d\n", a);

    return 0;
}

代码解释

  • 复合赋值运算符会先对变量和右侧的值进行相应的算术运算,然后把结果赋给左侧的变量。

通过这些示例,你能掌握C语言中常见运算符的使用方法。在实际编程时,合理运用这些运算符能让代码更简洁高效。

0 条评论

目前还没有评论...