003-C运算符
运算符
C语言有34种运算符,常见的有加减乘除。
1>算术运算符
1、加
10+2
2、减
20-2
3、乘
12*2
4、除
10/2
5、取余
10%3 = 1;
10%-3 = 1;
-10%3 = -1;
-10%-3 = -1;
取余结果只和左边的数值相关,和右边数值无关。
注意:类型转换
自动类型转换
int a = 10.99;//a为10,会弹出警告信息
强制类型转换
int a = (int)10.99;//这个也是10,没有警告信息
自动类型提升
doble d = 10.99 + 6;//运算时会将6转换为double型进行运算
赋值运算 =
int a = 10;//=就是赋值运算符
等号左边不能是常量。
复合赋值运算符 +=,-+,*=,/=,%=
int a =10;
a +=10;//相当于a = a +10;
a *=20;//相当于a = a * 20;
a+= 2+2+10;// a+= (2+2+10);右边默认当作一个整体
自增自减运算符 -- ++
int a=10;
int b;
b = a++;//先使用a然后自增,故b为10,a变为11
b = ++a;//先自增再使用a,故a先变为12,b为12
sizeof运算符
计算变量所在内存字节数
int a =10;
int size = sizeof(a); // sizeof a;也可以这样写
printf("%d",size);
关系运算
1、条件判断
判断条件是否成立,成立为真,不成立为假。
任何非0值都为真,只有0为假。任何数值都有真假性。
2、关系比较
>,<,>=,<= ,==,!=
条件成立返回1,不成立返回0.
注意:优先级
[<,<=,>,>=] > [!=,==],运算从左到右
int a = 10>9+1;// 0 , + 的优先级比 > 高,所以先计算加法运算,然后比较,最后赋值
逻辑运算符
与&&,或||,非!
1、逻辑与 &&
条件1 && 条件2;//同时成立返回1,否则返回0
只有条件1成立才会执行条件2
2、逻辑或 ||
条件1 || 条件2;//只要有一个成立就返回1,都不成立返回0
只要条件1成立,条件2就不会执行
3、逻辑非 !
!条件1;//取反
int a = !!10;//可以连续使用
三目运算符 条件?数值2:数值3;
如果条件成立,就返回数值2,否则返回数值3.
int a = 10>8?10:8;
未完待续......