问题 单项选择题

以下程序的输出结果是
main ( )
int a=4,b=5, c=0,d;
d=!a&&!b|| !c;
printf ( "%d\n" , d);

A.1

B.0

C.非0的数

D.-1

答案

参考答案:A

解析: 本题考核的知识点是逻辑运算符的运用。 由于单目运算符优先级高于“&&”和“‖”、运算,所以先计算!a、!b和!c分别为“假”、“假”、“真”,然后是&&运算和“‖” 运算,原表达式就等价于“假”&& “假”‖“真”又由于“&&”的优先级高于“‖”运算符,所以先计算 “假”&&“假”,还是为假,最后是
“假”‖,“真” 为真。因此最后d被赋值为1,故最后输出为1。所以,4个选项中A为所选。

名词解释
单项选择题