当前位置:首页 > 第4章 选择结构程序设计(练习题OK)
第4章 选择结构 练习题
第4章 选择结构程序设计
一、单项选择题
1. 在C语言中,能代表逻辑值\真\的是( )。
A) true B)大于0的数 C)小于0的数 D)非0的数 2. 设a,b,c是整型变量,且a=3,b=4,c=5,则下面表达式中值为0的是( ) A)a&&b B) b 4. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是( )。 A)1 B)0 C)-1 D)出错 5. 逻辑运算符的运算对象数据类型( ) A)只能是逻辑型 B)只能是0和1 C)只能是正整数和0 D)可以是任何类型 6. 若有定义语句 int a=3,b=2,c=1; 并有表达式 ①a%b||1 ②a>b>c ③b&&c+1 ④c+=1,则表达式值相等的是( ) A) ①和② B) ②和③ C) ③和④ D) ①和③ 7. 已知 int a=4,b=6,c=8; 执行语句 if(a>b) c=a;a=b;b=c; 后,a,b,c的值是( ) A)a=4,b=6,c=8 B) a=6,b=8,c=8 C) a=6,b=4,c=8 D) a=6,b=8,c=4 8. 执行下面的程序段后,z的值为( ) int x=10,y=20,z; char c=?A?; z=(x&&y)&&(c>?B?); A)0 B) 1 C) 假 D) 真 9. 表示关系x<=y<=z的c语言表达式为( )。 A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z) 10. 能正确表示逻辑关系:“a≥10或a≤0” 的C语言表达式是( )。 A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0 11. 判断char型变量c1为小写字母的表达式为( )。 A)?a?<=c1<=?z? B)(c1>=?a?) & (c1<=?z?) C)(?a?<=c1)AND (?z?>=c1) D)(c1>=?a?)&& (c1<=??z?) 12. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为( )。 A) ?A?= 14. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是( )。 A)1010&&a<15 D)!(a<=10)&&!(a>=15) 15. 为表示逻辑表达式79 A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 ) C) 79 17. C语言对嵌套if语句的规定是:else语句总是与( )配对。 A) 其之前最近的if B) 第一个if C) 缩进位置相同的if D) 其之前最近的且尚未配对的if 18. 在C语言语句中,用来决定分支流程的表达式可以是( )。 A)可用任意表达式 B)只能用逻辑表达式或关系表达式 C)只能用逻辑表达式 D)只能用关系表达式 19. C语言中( )表示逻辑“真”。 1 第4章 选择结构 练习题 A) true B) 1 C)非零的值 D) false 20. 若k是int型变量,且有下面的程序段, 输出结果是( )。 int k; k= -3; if (k<=0) printf(“####”) ; else printf(“&&&&”); A)#### B)&&&& C)####&&&& D)有语法错误,无输出结果 21. 以下程序段的输出结果是( )。 int a=10,b=50,c=30 ; if(a printf(\ A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 22. 以下程序段的输出结果是( )。 int a=10,b=50,c=30 ; if(a>b) a=b ; b=c ; c=a ; printf(\ A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 23. 输入1,-1,以下程序的输出结果是( B );如果输入 -1,1,则以下程序的输出结果是( C )。main() { int x,y,z=1; scanf(\ if(x A) 0 B) 1 C) 2 D) 3 24. 以下程序段的输出结果是( )。 #include if(a printf(\ } A) a=5,b=4 B) a=4,b=5 C) a=5,b=0 D) 语法错误 25. 若有定义:float x; int a,b; 则以下正确的 switch 语句是( ) A) switch(x) { case 1.0: printf(“*\\n”); case 2.0: printf(“$\\n”); 2 第4章 选择结构 练习题 } B) switch(x) { case 1: printf(“*\\n”); case 2: printf(“$\\n”); } C) switch(a+b) { case 1: printf(“*\\n”); case 2: printf(“$\\n”); } D) switch(a+b) { case 1.0: printf(“*\\n”); case 2.0: printf(“$\\n”); } 26. 若int i=10; 执行下列程序后,变量i的正确结果是( switch ( i ) { case 9: i+=1; break; case 10: i+=1; break; case 11: i+=1; break; default : i+=1; } A)13 B)12 C)11 D)10 27. 若int i=10; 执行下列程序后,变量i的正确结果是( switch ( i ) { case 9: i+=1; case 10: i+=1; case 11: i+=1; break; default : i+=1; } A)13 B)12 C)11 D)10 28. 若int i=10; 执行下列程序后,变量i的正确结果是( switch ( i ) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; } A)13 B)12 C)11 D)10 29. main() { int x=0,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++;} printf(“a=%d,b=%d\\n”,a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 )。 )。 )。 D) a=2,b=2 3 第4章 选择结构 练习题 二、阅读程序,写出运行结果 1. #include scanf(“%d”,&r); float num=3.14,a=0; if(r>0) a=2*num*r; printf(\} 输入 2,运行结果为:result is 12.560000 输入-2,运行结果为:result is 0.000000 2. #include int a=12, b= -34, c=56, min; min=a; if(min>b) min=b; if(min>c) min=c; printf(\} 运行结果为:min=-34 3. #include int a=1,b=3,c=5; if (c==a+b) printf(\else printf(\} 运行结果为:no 4. #include int x=5,a=1,b=1; if (x!=a+b) printf(\else printf(\} 运行结果为:x=4 4
共分享92篇相关文档