20、有以下程序 #include main() { double x=2.0, y; if( x<0.0 ) y=0.0; else if( (x<5.0) && (!x) ) y=1.0 / ( x+2.0 ); else if( x<10.0 ) y=1.0 / x; else y=10.0; printf(" %f\n ", y ); }程序运行后的输出结果是
A. 0.000000
B. 0.250000
C. 0.500000
D. 1.000000
查看答案
17、若有以下程序 #include main() { int a=1,b=2,c=3,d=4; if ((a=2) && (b=1)) c=2; if ((c==3) || (d=-1)) a=5; printf("%d,%d,%d,%d\n", a,b,c,d); }则程序的输出结果是
A. 2,2,2,4
B. 2,1,2,-1
C. 5,1,2,-1
D. 1,2,3,4
17、有以下程序#include main(){ int a=0,b=0,c=0,d=0; (++a || ++b) ? ++c : ++d; printf("%d,%d,%d,%d\n", a,b,c,d);}程序的运行结果是
A. 1,0,1,0
B. 1,1,0,1
C. 1,0,0,1
D. 1,1,1,0
18、以下叙述中正确的是
A. 对于逻辑表达式:a++ || b++,设a的值为1,则求解表达式的值后,b的值会发生改变
B. 对于逻辑表达式:a++ && b++,设a的值为0,则求解表达式的值后,b的值会发生改变
C. else不是一条独立的语句,它只是if语句的一部分
D. 关系运算符的结果有三种:0,1,-1
18、若有以下程序 #include main() { int a=1,b=2,c=3,d=4, r=0; if (a!=1) ; else r=1; if (b==2) r+=2; else; if (c!=3) r+=3; else; if (d==4) r+=4; printf("%d\n", r); }则程序的输出结果是
A. 10
B. 7
C. 6
D. 3