操作符
算术操作符
+ - * / %
以上五个符号都为算术操作符,同时也是双目操作符
#include <stdio.h>
int main()
{
int a = 2 + 3;
int b = 5 + 6;
int c = 2 * 4;
int d = 7 / 2;
int e = 7 % 2;
printf("%d %d %d %d %d\n", a , b , c , d , e);
return 0;
}
输出
5 11 8 3 1
运算符 /
C语言中的整数除法是整除,所以d的值为3而不是3.5,舍弃了小数部分,如果需要得到浮点数结果,两个运算数至少有一个是浮点数。
运算符 %
该符号表示返回两个整数相除的余值,所以e的值是7和2相除的余数1。需注意该运算符只能用于整数,不可以用于浮点数。
赋值操作符
连续赋值
int a = 5;
int b = 4;
int c = 1;
c = b = a + c;//c=6
上述连续赋值需从右向左依次赋值。
复合赋值符
int a=4;
int c=5;
a += 7;//相当于a = a + 7 =11
c -= 4;// 相当于c = c - 4 = 1
其他操作符后续进行学习。
单目操作符 ++ ,- -
#include <stdio.h>
int main()
{
int a, b, c;
a = 5;
c = ++a;//先+1,后使用 此时c=a=6
b = ++c, c++, ++a, a++;
b += a++ + c;
printf("a = %d b = %d c = %d\n", a, b, c);
return 0;
}
前置
++:先加一,后使用;(- -同理)
后置
++:先使用,后加一;(- -同理)
b = ++c, c++, ++a, a++;
逗号优先级小,先进行b = ++c得b=c=7,然后从左到右依次进行 c++,++a,a++得 b=7 ,c=8 ,a=8
b += a++ + c;
简化 b = b + ( a + c),最后a+1得 b=7+(8+8)=23 , c=8, a=8+1=9
输出
a = 9 b = 23 c = 8