作业帮 > 综合 > 作业

C语言高手帮忙做这三道题,要详解 谢谢拉!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 15:33:37
C语言高手帮忙做这三道题,要详解 谢谢拉!
1、while (!x)中(!x)与下面条件 ( )等价.
A x= =0 B x= =1
C x!=1 D x!=0
2、若给定条件表达式(m)?(a++):(a--),则表达式m ( )
A 等价于(m==0) B 等价于(m==1)
C 等价于(m!=0) D 等价于(m!=1)
3、若有宏定义#define s(m,n) m/n则s(4+2,2+1)的值为( ).
A. 2 B.7 C. 6 D. 3
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