7、程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:
A.10 B.12
C.21 D.28
选择A
宏只做替换的.
3+1*3+4=10
8.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A.-3 B.9
C.-12 D.6
首先,赋值表达式是右结合性的,a+=a-=9这时a仍是3然后,a+=-6;
注意:-6是a=a-9来的,所以a已经变成-6了最后,a=a-6,所以a=-12.
9、若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;
则变量c的二进制值为:
A.00011100 B.00010100
C.0001000 D.00011011
d.
移位运算符优先级高于或运算.
00000011
00011000
00011011
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:
A.10 B.12
C.21 D.28
选择A
宏只做替换的.
3+1*3+4=10
8.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A.-3 B.9
C.-12 D.6
首先,赋值表达式是右结合性的,a+=a-=9这时a仍是3然后,a+=-6;
注意:-6是a=a-9来的,所以a已经变成-6了最后,a=a-6,所以a=-12.
9、若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;
则变量c的二进制值为:
A.00011100 B.00010100
C.0001000 D.00011011
d.
移位运算符优先级高于或运算.
00000011
00011000
00011011