1、A
while()是判断括号里的是真还是假,若表达式为0,就是假,若表达式非0,就是真。"!"是非逻辑运算符,简单说就是把非0变成0,把0变成1。。。
"while(!x)”就是"(!x)"取真是进行循环,就是"!x"的值为非0时,就是"x"的值为0时。所以就是x==0.
2、C
这题和上题一样,就是(m)表达式为真时,执行a++;为假时,执行a-。
表达式m的真假与表达式m!=0一样,所以选C。
3、C
#define是宏定义,这里的效果就是把s(m,n)替换成m/n,所以s(4+2,2+1)进行替换后就成了4+2/2+1=4+1+1=6。所以选C