C语言复习2_运算符

时间:2020-11-30 14:27:35

今天复习一下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、逻辑运算符

C语言复习2_运算符

5、位运算符

C语言复习2_运算符

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