1.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为
算术运算、关系运算、赋值运算
2.逻辑运算符中,运算优先级按从高到低依次为
非(!)比较特殊,是优先级比与(&)和或( |)都高,与和或由左向右结合
eg:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7
3.设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是
m=0,n=1
&&:在表达式中,若左边已经判定是0了,那么计算机会跳过右边的表达式;同理可得,||:若左边已经判定是1了,也直接跳过右边表达式。
4.设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是
***0***直接拆分就知道了。
5.若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是
2.0
3/2=1.5,但是会自动转为int型,即=1。
6.设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为
1
弄懂三目运算就OK了,等价于
if(a<b){
printf("%d",a);
}else if (c<d){
printf("%d",a);
}else{
printf("%d",d);
}
7.要为字符型变量 a赋初值,下列语句中哪一个是正确的
***char a=’3’***注意,不能写成 char a=“3”;