- 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 条评论
目前还没有评论...