运算符与表达式
运算符是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 = 19
printf("a + b = %d\n", sum);
// 减法
difference = a - b; // 15 - 4 = 11
printf("a - b = %d\n", difference);
// 乘法
product = a * b; // 15 * 4 = 60
printf("a * b = %d\n", product);
// 除法
quotient = a / b; // 15 / 4 = 3 (整数除法,舍去小数部分)
printf("a / b = %d\n", quotient);
// 取模
remainder = a % b; // 15 % 4 = 3
printf("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.7
printf("x + y = %.1f\n", result);
// 减法
result = x - y; // 5.5 - 2.2 = 3.3
printf("x - y = %.1f\n", result);
// 乘法
result = x * y; // 5.5 * 2.2 = 12.1
printf("x * y = %.1f\n", result);
// 除法
result = x / y; // 5.5 / 2.2 = 2.5
printf("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");
}