第四章 选择结构程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{int a,b,c; a=2;b=3;c=1; if(a>c) printf("%d\n",a); else printf("%d\n",b); printf("end\n");} 5、以下程序的执行结果是【 】。 #include<stdio.h> main() {int a,b,c,d,x; a=c=0; b=1; d=20; if(a) d=d-10; if(!c)x=15; else x=25; printf("d=%d\n",d);} 6、以下程序在输入5,2之后的执行结果是【 #include<stdio.h> main() {int s,t,a,b; scanf("%d,%d",&a,&b); s=1; t=1; if(a>0)s=s+1; if(a>b)t=s+t; else if(a==b) t=5; else t=2*s; printf("s=%d,t=%d\n",s,t);} 7、以下程序的执行结果是【 】. #include<stdio.h> main() {int x=1,y=0; switch(x) {case 1: switch(y)
A)< B十 C)% D)!= 13、 能正确表示“当x的取值在[l,10]或[200,210]范围内为真,否 则为假’ 达式是 。 A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B)(x>=1) ||(x<=10)︳︳(x>=200)︳︳ (x<=210) C)(x>=1)&&(x<=lo) ︳︳(x>=200)&&(x<=210) D)(x>=1) ︳︳(x<=10)&&(x>=200) ︳︳(x<;210) 14、判断char型变量ch是否为大写字母的正确表达式是( ). A)’A’<=ch<=’Z’ B)(cb>=’A’)&(ch< =’Z’) C)(ch>=’A’)&&(ch<=’Z’) D)(‘A’<= ch)AND(‘Z’>=ch) 15、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值 为0的是( ). A)’x’&&’y’ B)x<=y C)x||y+z&&y-z D)!((x<y)& &!z ||1) 16、已知x=43,ch=’A’,y=0;则表达式(x>=y6&&ch(‘B’ &&! Y)的在值是( ). A)0 B)语法错 C)1 D)“假” 17、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时, 表达式的值 为“假”。则以下不能满足要求的表达式是( ). A)A%2==1 B)!(入%2==0) C)!(A%2) D)A%2 18、 没有,int a=1,b=2,c=3,d=4,m=2,n=2 执行 (m=a>b&&(n=c>d)后n的值为( ). A)1 B)2 C)3 D)4 19、 判断char型变量cl是否为小写字母的正确表达式为( ). A)’a’<=c1<=f’z’ B)(c1>=a)&&(c1<=z) C)(‘a’>=c1) (‘z’<=c1) D)(c1>=’a’)&&(c1< =’z’) 20、 以下程序的运行结果是( ). # include “stdio.h” main() {int a,b,d=241; a=d/100%9; b=(—1)&&(一1);
】.
{case 0:printf("first\n");break; case 1:printf("second\n");break;} case2:printf("third\n");}} 8、以下程序的执行结果是【 】。 #include<stdio.h> main() {int a=2,b=7,c=5; switch(a>0) {case 1:swith(b<0) {case 1:printf("@");break; case 2:printf("!");break;} case 0:switch(c==5) {case 0:printf("*");break; case 1:printf("#");break; case 2:printf("$");break;} default:printf("&");} printf("\n");} 9、 当a=3,b=2,c=1时,表达式f=a>b>c 的值是【 】. 10、当a=5,b=4,c=2时,表达式 a>b!=c的值是【 】. 11、以下程序的运行结果是【 】. # include<stdio.h> void main (void) { int x=1, y, z; x*=3+2; printf(“%d\t”, x); x*=y=z=5; printf(“%d\t”, x); x=y==z; printf(“%d\n”, x);} 13、 设y为int 型变量,请写出描述“y是奇数”的表达式【 】. 15、 设x,y,z均为int型变量,请写出描述“x或y中有一个小于z“的表达 式【 】. 16、 设x,y,z均为int型变量,请写出描述“x,y和z中有两个为负 数“的表达式【 】. 17、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A //A<B&&!C>B的值是【 】. 18、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是【 】. 19、若a=2,b=4,则表达式!(x=a)//(y=b)&&0的值是【 】.
一、单选题 1、逻辑运算符两侧运算对象的数据类型______ A、能是0或1 B、能是0或非0正数 C、能是整型或字符型数据 D、以是任何类型的数据 2、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的 值为多少_______ if (a>c) {a=b;b=c;c=a;} else {a=c;c=b;b=a;} printf(“%d,%d,%d”,a,b,c); A、5,4,5 B、5,5,4 C、3,4,5 D、 5,3,4 3、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的 值为多少_______ if(a<c) a=c; else a=b;c=b;b=a; printf(“%d,%d,%d”,a,b,c); A、5,5,4 B、5,4,5 C、3,4,5 D、5,3,4 4、若K1,K2,K3,K4均为int型变量,为了将整数10赋给K1和 K3,将整数20赋给K2和K4,则对应以下scanf()函数调用语句 的正确输入方式是________(代表换行符,__代表空格). scanf(“%d%d”,&k1,&k2); scanf(“%d,%d”,&k3,&k4); A、1020 B、10__20 C、10,20 D、10__20 1020 10__20 10,20 10,20 6、C语言对嵌套if语句的规定是:else总是与______ A、其之前最近的if配对 B、第一个if配对 C、缩进位置相同的if配对 D、其之前最近的且尚未配
main() {int m=5 if(m++>5)printf(“%d\n”,m); else printf(“%d\n”,m--);} A)4 B)5 C)6 D)7 28、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( ). if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3;else x=6; else x=7; A) 1 B)2 C)3 D)6 30、以下程序运行结果是( ). main() {int a=100,x=10,y=20,ok1=5,ok2=0; if (x<y) if (y!=10) if(!ok1) a=1; else if(ok2) a=10; a=-1; printf(“%d\n”,a); } A)1 B)0 c)-1 D)不确定
20、若a=1,b=4,c=3,则表达式! (a<b)//! C&&1的值是【】 . 21、若a=6,b=4,c=3,则表达式a&&b+c//b-c的值是【 】. 22、若a=5,b=2,c=1,则表达式 a-b<c//b==c的值是【 】. 23、若a=3,b=4,c=5,则表达式a//b=c&&b==c的值是【 】. 24、条件“2<x<3或x<-10”的C语言表达式是【 】: 25、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a! =b)&&(n=b>c)后;n的 值为 【 】, m的值为【 】 26、以下程序运行结果是【】. main() { int x,y,z; X=1,y=2,z=3; x=y--<x+y! =z; printf(“%d,%d”,x,y);} 27、以下程序的运行结果是【 】. main() { int a1,a2,b1,b2; int i=5,j=7,k=0; a1=! k; a2=i! =j; printf(“a1=%d\ta2=%d\n”,a1,a2); b1=k&&j; b2=k//j; printf(“b1=%d\tb2=%d\n”,b1,b2);} 28、以下程序的结果是【 】. main() { int x,y,z; x=1,y=1,z=0; x=x//y&&z; printf(“%d,%d”,x&&! y//z);} 29、有int x,y,z; 且x=3,y=-4,z=5,则表达式(x&&y)= =(x︱︱z)的值 为【 】。 30、有int x,y,z; 且x=3,y=-4,z=5,则以下表达式的值为【 】。 !(x>y)+(y!=z)︱︱(x+y)&&(y-z) 31、有int x,y,z; 且x=3,y=-4,z=5,则表达式x++-y+(++z)的值为【 】。 32、有int a=3,b=4,c=5; ,则表达式a︱︱b+c&&b= =c的值为【 】。 33、有int a=3,b=4,c=5,x,y; ,则以下表达式的值为【 】。
printf(“%d,%d”,a,b) 21、执行以下语句后a的值为( ),b的值为( )。 int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); [1] A)5 B)0 C)2 D1 [1] A)6 B)0 C)1 D4 22、 以下不正确的if语句形式是( ). A)if(x>y&&x!=y); B)if(x==y)x十=y; Cif(x ! =y)scanf(“%d”,&x) e1se scanf(”%d,&y); D)if(x<y){x十十;y十十;} 23、下列运算符中优先级最低的是[ ],优先级最高的是( ). A)?: B)&& C)十 D)!= 24、 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( ). if(x>y) z=x;x=y; y=z; A)x=l0,y=20,z=30 B)x=20,y=30,z=20 C)x=20,y=30,z=10 D)x=20,y=30,z=20 25、 以下if语句语法正确的是( ). A)if(x>0) printf(“%f“,x) else printf(“%f”,-x); B)if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x) C)if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x) D)if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x); 26、阅读以下程序 main() {int a=5,b=0,c=0; if(a=b+c) printf(“***\n”); else printf(“$$$\n”);} 以上程序 ( ). A)语法有错不能通过编译 B)可以通过编译但不能通过连接 C) 输出*** D)输出$$$ 27、以下程序运行结果是( ).
对的if配对
7、选择出合法的if语句(设int x,a,b,c;)( A)if(a=b) x十十; ).
B)if(a=<b) C)if(a<>b) D)if(a=>b)
x十+; x十十; x十十;
9、执行下列程序,输入为1的输出结果是( ),输入为3的输出结果是 ( )。 #include<stdio.h> main() {int k; scanf("%d",&k); switch(k) {case 1: printf("%d\n",k++); case 2: printf("%d\n",k++); case 3: printf("%d\n",k++); case 4: printf("%d\n",k++); break; default: printf("FULL!\n");}} ①A.1 B.2 C.2 D.1 3 2 4 3 5 4 ②A.3 B.4 C.3 D.4 4 5 11、 以下关于运算符优先顺序的描述中正确的是( ). A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)以赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 12、 下列运算符中优先级最高的是( ).
二、填空题 1、设a=3,b=4,c=5,写出下面各逻辑表达式的值。 表达式 表达式运算后的值 a+b>c && b= =c 【 】 !(a>b) && !c || 1 【 】 !(a+b) + c –1 && b + c/2 【 】
4、以下程序的执行结果是【 #include<stdio.Biblioteka Baidu> main() 】。
相关文档
最新文档