第四章 选择结构 |
一、选择题 1、下列运算符中优先级最高的运算符是 A)! B)% C)-= D)&& 2、下列运算符中优先级最低的运算符是 A)|| B)!= C) <= D)+ 3、 为表示关系x>=y>=z, 应使用的C语言表达式是 A) (x>=y)&&(y>=z) B) (x>=y)AND (y>=z) C) (x>=y>=z) D) (x>=y)&(y>=z) 4、设 a、b 和c 都是int 型变量,且a =3,b=4, c=5;则以下的表达式中,值为0的表达式是 A) a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1) 5、 以下程序的输出结果是: A) 0 B)1 C)2 D)3 main() { int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c+=1; printf(“%d\n”,c); } 6、 以下程序的输出结果是: A) 1 B) 2 C) 3 D) 4 main() { int w=4,x=3,y=2,z=1; printf(“%d\n”,(w<x?w:z<y?z:x)); } 7、若执行以下程序时从键盘上输入3和4,则输出结果是 A)14 B)16 C)18 D)20 main() { int a, b,s; scanf(“%d%d”,&a,&b); s=a; if (a<b) s=b; s*=s; printf(“%d\n”,s); } 8、 下面的程序片段所表示的数学函数关系是
A y= 0(x=0) 1(x>0)
By= -1(x=0) 0(x>0)
Cy= -1(x=0) 1(x>0)
D) y= 1(x=0) 0(x>0) y=-1; if (x!=0) { if (x>0) y=1;} else y=0; 9、 运行以下程序后,输出 A)#### B)&&&& C)####&&&& D)有语法错误不能通过编译 main() { int k=-3; if (k<=0) printf(“****\n”); else printf(“&&&&\n”); } 10、若a和b均是正整数型变量,以下正确的switch语句是 A) switch ( pow(a,2)+pow(b,2)) (注:调用求幂的数学函数) { case 1: case 3: y=a+b; break ; case 0: case 5: y=a-b; } Bswitch (a*a+b*b); { case 3: case 1: y=a+b; break ; case 0: y=b-a; break; } A) switch a { default : x=a+b; case 10 : y=a-b;break; case 11 : y=a*d; break; } B) switch(a+b) { case10: x=a+b; break; case11: y=a-b; break; } 二、 填空题 [4.11] C语言中用______表示逻辑值“真”,用______表示逻辑值“假”。 [4.12] C语言中的关系运算符按优先级别是_________ 、__________. [4.13] C语言中的逻辑运算符按优先级别是______、 ______ 、______. [4.14] C语言中的关系运算符和逻辑运算符的优先级别是 ___、______、______、___、______。 [4.15] C语言中逻辑运算符______的优先级高于算术运算符。 [4.16] 将下列数学式改写成C语言的关系表达式或逻辑表达式A)______________和 B)__________ A) a=b 或 a<c B) |x|>4 [4.17] 请写出以下程序的输出结果___。 main() { int a=100; if (a>100) printf(“%d\n”,a>100); else printf(“%d\n”,a<=100); } [4.18] 请写出与以下表达式等价的表达式A)_________B)__________. A) !(x>0) B) !0 [4.19] 当a=1,b=2,c=3时,以下if 语句执行后,a 、b 、c 中的值分别为___、 ___、 ___. if (a>c) b=a;a=c; c=b; [4.20] 若变量巳正确定义,以下语句段的输出结果是_______。 x=0,y=2,z=3; switch(x) { case 0: switch (y=2) { case 1: printf(“*”); break; case 2: printf(“%”); break; } case 1: switch(z) { case 1: printf(“$”); case 2: printf(“*”);break; default: printf(“#”); } } 三、 编程题 [4.21] 请将以下语句改写成switch语句。 if ( a<30) m=1; else if (a<40) m=2; else if (a<50) m=3; else if (a<60) m=4; else m=5; [4.22] 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0); 并输入当前的日期(年: y1、月:m1、日:d1); 输出该生的实足年龄。 [4.23] 编写程序,输入一个整数,打印出它是奇数还是偶数。 [4.24] 编写程序,输入 a、b 、c 三个数,打印出最大者。 [4.25] 有一函数:
y= x-1 (x=0) x+1 (0<x<10) 编写一程序,要求输入x 的值,输出y 的值。 分别用 (1)不嵌套的if 语句(2)嵌套的if 语句 (3)if-else语句 (4)switch 语句
|
|