问题
单项选择题
有以下程序 main() { int a,b,d=25; a=d/10 % 9; b=a && (-1); printf ("%d,%d\n",a,B) ; } 程序运行后的输出结果是
A.6,1
B.2,1
C.6,0
D.2,0
答案
参考答案:B
解析: 本题主要考查的是C语言中的整除、求余以及逻辑值的概念。在C语言中,/号的两边如果都是整数的话,返回的结果也是整数,如果除不净则舍去小数部分。%是求余运算,它的运算对象只能是整型,运算结果是两数相除后所得的余数, 当运算量为负数时,结果的符号与被除数相同。 因此, 执行语句 a=d/10%9;后, a=25/10%9=2%9=2。C语言中没有专门的逻辑值,而是用整型值来代替。当整型值作逻辑值使用时,非零即表示“真”,零表示“假”,而逻辑值当整型值使用时, “真”等于1, “假”等于0。因此,执行语句b=a&&(-1);后b=2&&(-1)=“真”&&“真” =“真”=1。所以,4个选项中选项B符合题意。