1.
#include <stdio.h>
int main(){
int x = 5;
int y = 5;
int z = 5;
printf("%d\n", x%=y+z);
return 0;
}
运行结果__5__。
*考察点:C运算符的优先级(从高到低)
初等运算符 ( ) , [ ], ->
单目运算符 ! ~ ++ – -(负号) *(指针运算符) &(取地址)sizeof(计算长度) (类型)(强制类型转换)
算术运算符 * / % + -
位运算符 位运算符 << >>
关系运算符 > >= < <=
== !=
位运算符 & | ^
逻辑运算符 && ||
条件运算符 ? :(三目运算符)
赋值运算符 = += -= *= /= %= 等等
逗号运算符 ,
2.
#include <stdio.h>
int main(){
int a = 3, b = 3, c = 1;
c = 5 ? a++: b--;
printf("%d\n", c);
return 0;
}
运行结果_3__。
*考察点一:三目运算符
如题中“c=5?a++:b–”可等价为
if(5) a++;
else b--;
c=a++;
*考察点二:a++与++a的区分
c=a++等价于:c=a;a=a+1;
c=++a等价于:a=a+1;c=a;
即a在前则为a原值,a在后则为a加1之后的值
a–与--a的辨析同理
3.
#include <stdio.h>
int main(){
int a = 1,b = 10;
do{
b -= a;
a++;
}while(b-- < 0);
printf("a = %d,b = %d\n",a,b);
}
运行结果__a=2,b=8__