C的运算符与表达式
运算符与表达式
运算符是C语言中用于执行各种操作的符号或关键字。运算符与操作数结合形成表达式,表达式可以计算出一个值。理解各种运算符及其优先级与结合性,是编写正确和高效C程序的基础。
1 算术运算符
算术运算符用于执行基本的数学计算,包括加、减、乘、除和取模(余数)等操作。
常见算术运算符
运算符 | 描述 | 示例 | 解释 |
---|---|---|---|
+ | 加法 | a + b | 将两个操作数相加 |
- | 减法 | a - b | 从第一个操作数中减去第二个操作数 |
* | 乘法 | a * b | 将两个操作数相乘 |
/ | 除法 | a / b | 将第一个操作数除以第二个操作数 |
% | 取模(余数) | a % b | 计算第一个操作数除以第二个操作数的余数 |
示例与详细解释
#include <stdio.h>int main() {int a = 15;int b = 4;int sum, difference, product, quotient, remainder;// 加法sum = a + b; // 15 + 4 = 19printf("a + b = %d\n", sum);// 减法difference = a - b; // 15 - 4 = 11printf("a - b = %d\n", difference);// 乘法product = a * b; // 15 * 4 = 60printf("a * b = %d\n", product);// 除法quotient = a / b; // 15 / 4 = 3 (整数除法,舍去小数部分)printf("a / b = %d\n", quotient);// 取模remainder = a % b; // 15 % 4 = 3printf("a %% b = %d\n", remainder);return 0;
}
输出:
a + b = 19
a - b = 11
a * b = 60
a / b = 3
a % b = 3
注意事项
- 整数除法:当两个整数相除时,结果也是一个整数,任何小数部分都会被舍去。
- 取模运算:取模运算仅适用于整数类型,计算两个整数相除后的余数。
更多示例
#include <stdio.h>int main() {float x = 5.5;float y = 2.2;float result;// 加法result = x + y; // 5.5 + 2.2 = 7.7printf("x + y = %.1f\n", result);// 减法result = x - y; // 5.5 - 2.2 = 3.3printf("x - y = %.1f\n", result);// 乘法result = x * y; // 5.5 * 2.2 = 12.1printf("x * y = %.1f\n", result);// 除法result = x / y; // 5.5 / 2.2 = 2.5printf("x / y = %.1f\n", result);return 0;
}
输出:
x + y = 7.7
x - y = 3.3
x * y = 12.1
x / y = 2.5
2 关系运算符
关系运算符用于比较两个值,结果是一个布尔值(真或假)。这些运算符常用于条件判断和循环控制。
常见关系运算符
运算符 | 描述 | 示例 | 解释 |
---|---|---|---|
== | 等于 | a == b | 如果a等于b,结果为真(1) |
!= | 不等于 | a != b | 如果a不等于b,结果为真(1) |
> | 大于 | a > b | 如果a大于b,结果为真(1) |
< | 小于 | a < b | 如果a小于b,结果为真(1) |
>= | 大于等于 | a >= b | 如果a大于等于b,结果为真(1) |
<= | 小于等于 | a <= b | 如果a小于等于b,结果为真(1) |
示例与详细解释
#include <stdio.h>int main() {int a = 10;int b = 20;// 等于if (a == b) {printf("a 等于 b\n");} else {printf("a 不等于 b\n");}// 不等于if (a != b) {printf("a 不等于 b\n");}// 大于if (a > b) {printf("a 大于 b\n");} else {printf("a 不大于 b\n");}// 小于if (a < b) {printf("a 小于 b\n");}// 大于等于if (a >= 10) {printf("a 大于等于 10\n");}// 小于等于if (b <= 20) {printf("b 小于等于 20\n");}