15.若x=2,y=3则x||y的结果是(C)。 A、3 B、0 C、1 D、2
16.针对下列程序段回答问题(B). for(t=1;t<=100;t++) {
scanf(\ if(x<0) continue; printf(\}
A、x>=0时什么也不输出
B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束
17.下列运算符优先级最低的是(A). A、= B、+ C、! D、&&
18.逻辑表达式3<2||-1&&4>3-!0的值为:(A) A、1 B、3 C、0 D、2
19.下列运算符中是C语言关系运算符的是(C)。 A、& B、~ C、!= D、!
二、判断题
1. 运算符的级别由高向低依次为!->算术运算符->关系运算符->逻辑运算符->赋值运算符.T
2. 在逻辑运算符中的运算级别由高向低依次为 &&->||->!。F 3. 若a=3,b=2,c=1 则关系表达式\的值为\真\。T 4. 逻辑表达式-5&&!8的值为1.F
5. 逻辑表达式4>2&&1||5<3-!0的值为1.T
6. 设d=1,e=2,f=3,则逻辑表达式!(d+e)+f&&e+f*2的值为0.F
7. 设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.T 8. 设u=1,v=2,w=3,则逻辑表达式u||v-w&&v+w的值为0.F 9. 设g=1,h=2,k=3,则逻辑表达式k+g||!h&&k-h的值为0。F 10.已知a=3,b=4,c=5,则逻辑表达式!(a>b) && !c||1的值为1.T 11.已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0.T
12.已知a=3,b=4,c=5,则逻辑表达式!(a+b)+c-1 && b+c/2的值为0.F
13.已知x=2,y=2, 执行分支语句 if(x==y) y=1; else y=-1;后,y=-1. F 14.下面程序段的输出结果为A。F int i=20; switch(i/10) {
case 2:printf(\ case 1:printf(\}
15.求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max.T
16.条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'.F 17.已知a=4,b=2,c=3,d=5,表达式a>b?a:c 18.已知a=1,b=2,c=3,d=4,则条件表达式a>b?a:(c>d?c:d)的值为4.T 19.语句if(a>b) printf(\可以用条件表达式a>b?a:b取代.F 20.语句if(a>b) printf(\可以用语句 printf(\取代.T 三、填空题 1. C语言表达式5>2>7>8的值是_____.0 2. C语言表达式!(4>=6)&&(3<=7)的值是_____. 1 3. x=5,y=8时,c语言表达式5-2>=x-1<=y-2的值是_____.1 4. 设x=2&&2||5>1,x的值 为_____. 1

