问题 单项选择题

有以下程序:
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);”后输出结果为2,1。

单项选择题 A1/A2型题
填空题