目录
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 杂项运算符
1. 算术运算符
C语言中常用的算术运算符有加法(+)、减法(-)、乘法(*)、除法(/)和取模(%)。
加法运算符(+)用于将两个操作数相加,例如:
int a = 5;
int b = 3;
int sum = a + b; // sum的值为8
减法运算符(-)用于将第一个操作数减去第二个操作数,例如:
int a = 5;
int b = 3;
int difference = a - b; // difference的值为2
乘法运算符(*)用于将两个操作数相乘,例如:
int a = 5;
int b = 3;
int product = a * b; // product的值为15
除法运算符(/)用于将第一个操作数除以第二个操作数,例如:
int a = 10;
int b = 3;
int quotient = a / b; // quotient的值为3
需要注意的是,如果两个操作数都为整数,使用除法运算符(/)得到的结果也会是整数,即只保留整数部分。如果想要得到精确的浮点数结果,可以将其中一个操作数转换为浮点数类型。
取模运算符(%)用于求两个操作数相除的余数,例如:
int a = 10;
int b = 3;
int remainder = a % b; // remainder的值为1
除了这些基本的算术运算符,C语言还提供了自增(++)和自减(--)运算符用于对变量进行加1或减1的操作。
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
* | 把两个操作数相乘 | A * B 将得到 200 |
/ | 分子除以分母 | B / A 将得到 2 |
% | 取模运算符,整除后的余数 | B % A 将得到 0 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
-- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
代码示例:
#include <stdio.h>
int main()
{
int a = 21;
int b = 10;
int c ;
c = a + b;
printf("Line 1 - c 的值是 %d\n", c );
c = a - b;
printf("Line 2 - c 的值是 %d\n", c );
c = a * b;
printf("Line 3 - c 的值是 %d\n", c );
c = a / b;
printf("Line 4 - c 的值是 %d\n", c );
c = a % b;
printf("Line 5 - c 的值是 %d\n", c );
c = a++; // 赋值后再加 1 ,c 为 21,a 为 22
printf("Line 6 - c 的值是 %d\n", c );
c = a--; // 赋值后再减 1 ,c 为 22 ,a 为 21
printf("Line 7 - c 的值是 %d\n", c );
}
运行结果:
2. 关系运算符
在C语言中,关系运算符用于比较两个值之间的关系,并返回一个布尔值(0表示假,非0表示真)。
以下是C语言中常用的关系运算符:
- 相等(==):判断两个操作数是否相等。
- 不等(!=):判断两个操作数是否不相等。
- 大于(>):判断第一个操作数是否大于第二个操作数。
- 小于(<):判断第一个操作数是否小于第二个操作数。
- 大于等于(>=):判断第一个操作数是否大于等于第二个操作数。
- 小于等于(<=):判断第一个操作数是否小于等于第二个操作数。
下面是一些使用关系运算符的例子:
int a = 5;
int b = 3;
if (a == b) {
// 执行代码块,当a等于b时
}
if (a != b) {
// 执行代码块,当a不等于b时
}
if (a > b) {
// 执