3.1 算术运算符
术语 | 运算符 | 实例 | 结果 |
---|---|---|---|
正号 | + | 3 | 3 |
负号 | - | -3 | -3 |
前自增 | ++ | a =2, b = ++a; | a = 3, b = 3; |
后自增 | ++ | a = 2, b = a++; | a = 3, b = 3; |
前自减 | – | a =2, b = --a; | a = 1, b = 1; |
后自减 | – | a = 2, b = a–; | a = 1, b = 2; |
乘 | * | 10 * 3 | 30 |
除 | / | 10 / 3 | 3 |
取模(取余) | % | 10 % 3 | 1 |
加 | + | 10 + 3 | 13 |
减 | - | 10 - 3 | 7 |
3.2 赋值运算符
术语 | 运算符 | 实例 | 结果 |
---|---|---|---|
赋值 | = | a = 2; b = 3; | a = 2; b = 3; |
加等于 | += | a = 0; a += 2; | a = 2; |
减等于 | -= | a = 5; a -= 3; | a = 2; |
乘等于 | *= | a = 1; a *= 2; | a = 2; |
除等于 | /= | a = 4; a /= 2; | a = 2; |
取模等于 | %= | a = 5; a %= 3; | a = 2; |
左移等于 | <<= | a = 1; a <<= 1; | a = 2; |
右移等于 | >>= | a = 4; a >>= 1; | a = 2; |
3.3 比较运算符
C 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示(C语言不是用true和false来分真假,其他语言才是)
术语 | 运算符 | 实例 | 结果 |
---|---|---|---|
大于或等于 | >= | 4 >= 3 | 1 |
小于或等于 | <= | 4 <= 3 | 0 |
大于 | > | 4 > 3 | 1 |
小于 | < | 4 < 3 | 0 |
不等于 | != | 4 != 3 | 1 |
等于 | == | 4 == 3 | 0 |
3.4 逻辑运算符
3.5 运算符优先级
3.6 类型转换
数据有不同的类型,不同类型数据之间进行混合运算时涉及到类型的转换问题。
转换的方法有两种:
①自动类型转换(隐式转换):遵循一定的规则,由编译系统自动完成;
②强制类型转换:把表达式的运算结果强制转换成所需的数据类型;
类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。
3.6.1 自动类型转换
#include <stdio.h>
int main(){
int num = 5;
printf("s1=%d\n", num / 2);
printf("s2=%lf\n", num / 2.0);
return 0;
}
3.6.2 强制类型转换
#include <stdio.h>
int main(){
float b = 3.51, e = 3.51;
int c = 2, f = 2;
//f = e; //error:b为实型, c为整型,直接赋值会有警告
f = (int)e; //使用强制类型转换 3
printf("e=%f, f=%d\n", e, f); //e=3.510000,f=3
printf("(int) b * c = %d\n", (int) b * c ); //6
printf("(int)(b * c) = %d\n", (int)(b * c)); //7
return 0;
}
码字不易,如果大家觉得有用,请高抬贵手给一个赞让文章上推荐让更多的人看到吧,也可以评论提出意见让后面的文章内容越来越生动丰富。