今天复习一下C语言的运算符
1、赋值运算符
单等号 =
顺序是:从右往左
2、复合运算符
#include <stdio.h>
#include <stdlib.h> int main()
{
int num = ;
num %= ;
printf("%d\n",num);
return ;
}
输出结果是:2
3、算术运算符
int num1 = , num2 = ;
double result1, result2, result3, result4;
result1 = num1 / num2;
result2 = num1 % num2;
result3 = num1++;
result4 = --num2;
printf("num1 / num2 = %lf\n", result1);
printf("num1 %% num2 = %lf\n", result2);
printf("num1++ = %lf\n", result3);
printf("--num2 = %lf\n", result4);
输出结果是:
num1 / num2 = 2.000000
num1 % num2 = 1.000000
num1++ = 5.000000
--num2 = 1.000000
其中,针对第3、第4条赋值语句,要注意以下情况:
int num = ;
int result = num++;
printf("result = %d\n", result);
输出结果是:result = 5
因为int result = num ++这个语句,++在语句的最后,相当于先执行int result = num,然后再执行num++,而上一段代码中,--在num2的前面,所以先执行num2 - 1,再执行result4 = num2语句
4、关系运算符
< > >= <= == !=
printf("5 > 8吗?%d\n", > );
printf("6 < 9吗?%d\n", < );
输出结果:
5 > 8吗?0
6 < 9吗?1
0表示假,1表示真
5、逻辑运算符
5、位运算符
5、sizeof运算符
测量数据类型所占空间
printf("整型所占空间是%d字节\n",sizeof());
输出:
整型所占空间是4字节
double所占空间是8字节
float所占空间是4字节
6、运算符优先级
()sizeof ++ -- > ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
int num = ;
int result = ++num > && --num < ;
printf("result=%d\tnum=%d\n",result, num);
输出:result=1 num=10
先算num+1,11>9为真;再算num-1,10<20,为真;最后算1&&1,等于1
printf("%d\n",!((+%*)>));
输出:0