选择结构程序设计循环结构程序设计习题.docx
- 文档编号:29863586
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:28
- 大小:21.37KB
选择结构程序设计循环结构程序设计习题.docx
《选择结构程序设计循环结构程序设计习题.docx》由会员分享,可在线阅读,更多相关《选择结构程序设计循环结构程序设计习题.docx(28页珍藏版)》请在冰豆网上搜索。
选择结构程序设计循环结构程序设计习题
习题4
选择结构程序设计
一、单选题
1.有如下嵌套的if语句
if(a
if(a elsek=c; if(b elsek=c; 以下选项中与上述if语句等价的语句是 A)k=(a a: b;k=(b<c)? b: c; B)k=(a ((b<c)? a: b)((b>c)? b: c); C)k=(a ((a<c)? a: c)((b<c)? b: c); D)k=(a a: b;k=(a<c)? a: c; 2.以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是 A)switch(a) {case1: a=b;break; default: a++; } B)switch(a==1) {case0: a=b;break; case1: a++; } C)switch(a) {default: a++;break; case1: a=b; } D)switch(a==1) {case1: a=b;break; case0: a++; } 3.设变量x和y均已正确定义并赋值。 下列if语句中,在编译时将产生错误信息的是 ()。 A)if(x++);B)if(x>y&&y! =0); C)if(x>0)x--D)if(y<0){;} elsey++;elsex++; 4.有以下程序 #include main() {intc=0,k; for(k=1;k<3;k++) switch(k) {default: c+=k case2: c++;break; case4: c+=2;break; } printf(“%d\n”,c); } 程序运行后的输出结果是 A)3B)5 C)7D)9 5.以下程序段中,与语句: k=a>b? (b>c? 1: 0): 0;功能相同的是 A)if((a>b)&&(b>c))k=1; elsek=0; B)if((a>b)||(b>c)k=1; elsek=0; C)if(a<=b)k=0; elseif(b<=c)k=1; D)if(a>b)k=1; elseif(b>c)k=1; elsek=0; 6.以下是if语句的基本形式: if(表达式) 语句 其中“表达式” A)必须是逻辑表达式 B)必须是关系表达式 C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式 7.有以下程序 #include main() {intx; scanf(“%d”,&x); if(x<=3);else if(x! =10) printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果 A)不等于10的整数 B)大于3且不等于10的整数 C) 大于3或等于10的整数 D)小于3的整数 8.有以下程序 #include Main() { inta=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b! =2||c--! =3) printf(“%d,%d,%d\n”,a,b,c); elseprintf(“%d,%d,%d\n”,a,b,c); elseprintf(“%d,%d,%d\n”,a,b,c); } 程序运行后的输出结果是 A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1 9.以下程序中的变量已正确定义 for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf(”*”); 程序段的输出结果是 A)******** B)**** C)** D)* 10.有以下程序段 inta,b,c; a=10;b=50;c=30; if(a>b)a=b,b=c;c=a; printf("a=%db=%dc=%d\n”,a,b,c); 程序的输出结果是()。 A)a=10b=50c=10B)a=10b=50c=30 C)a=10b=30c=10D)a=50b=30c=50 一、看程序,写运行结果 1.#include main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 程序的运行结果是【】 2.#include main() {inta=1,b=2,c=3,d=0; if(a==1) if(b! =2) if(c==3)d=1; elsed=2; elseif(c! =3)d=3; elsed=4; elsed=5; printf(“%d\n”,d); } 程序远行后的输出结果是 【】 3.#include main() {intx=1,y=2,z=3; if(x>y) if(y elseprintf("%d",++y); printf("%d\n",x++); } 程序的运行结果是【】。 4.#include main() {intk=5,n=0; do {switch(k) {case1: case3: n+=1;k--;break; default: n=0;k--; case2: case4;n+=2;k--;break; } printf("%d",n); }while(k>0&&n<5); } 程序的运行结果是【】。 5.#include main() {inta,b,d=241;a=d/100%9;b=(-1)&&(-1); printf(“%d,%d”,a,b);} 程序的运行结果是【】。 6.#include main() {intx=2,y=-1,z=2; if(x if(y<0)z=0; elsez+=1; printf(“%d\n”,z);} 程序的运行结果是【】。 7.#include main() {intx,y=1; if(y! =0)x=5; printf("%d\t",x); if(y==0)x=3; elsex=5; printf("%d\t\n",x); } 程序的运行结果是【】。 8.#include main() {intx=1,y=1,z=0; if(z<0) if(y>0)x=3; elsex=5; printf("%d\t",x); if(z=y<0)x=3; elseif(y==0)x=5; elsex=7; printf("%d\t",x); printf("%d\t",z); } 程序的运行结果是【】。 9.#include main() {inti,j; for(i=1;i<4;i++) {for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j); printf("\n");} } 程序的运行结果是【】。 10.#include main() {inta=2,b=7,c=5; switch(a>0) {case1: switch(b<0) {case1: printf("@");break; case2: printf("! ");break; } case0: switch(c==5) {case0: printf("*");break; case1: printf("#");break; case2: printf("$");break; } default: printf("&"); } printf("\n"); } 程序的运行结果是【】。 三、程序填空 1.输入两个数,并判断是否相等 #include main() {inta,b; printf("Enterintegera: "); scanf("%d",&a); printf("Enterintegerb: "); scanf("%d",【】); if(a==b) printf("a==b\n"); else printf("a! =b\n"); } 2.输入3个实数a,b,c要求按从大到小的顺序输出三数。 #include main() {floata,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a {t=a;【】;b=t;} If(【】) {t=a;a=c;c=t;} if(b {【】;b=c;c=t;} printf("%f,%f,%f",a,b,c);} 3.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在()填正确内容. #include #include“math.h” main() { floata,b,c,s,area; scanf("%f%f%f",&a,&b,&c); if(【】) {s=0.5*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%6.2f",area); if(【】) {printf("等边三角形");} elseif(【】) {printf("等腰三角形");} elseif((a*a+b*b==c*c)||(a*a+c*c==b*b) ||(b*b+c*c==a*a)) {printf("直角三角形");} else{printf("一般三角形");} } else{printf("不能组成三角形");} } 二、编程题 1.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。 例如: 1转换成Monday,7转换成Sunday。 2.输入年号,计算这一年的2月份的天数,将结果输出。 3.输入学生的成绩,利用计算机将学生的成绩划分出等级并输出: 90~100: A级;80~89: B级;70~79: C级;60~69: D级;0~59: E级; 习题5 循环结构程序设计 一、单选题 1.有以下程序 #include main() {intn=2,k=0; while(k++&&n++>2); printf(“%d%d\n”,k,n); } 程序运行后的输出结果是 A)02B)13 C)57D)12 2.有以下程序 #include main() {inta=1,b=2; for(;a<8;a++){b+=a;a+=2;} printf(“%d,%d\n”,a,b); } 程序运行后的输出结果是 A)9,18B)8,11 C)7,11D)10,14 3.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 A)n=0;while((ch=getchar())! =’\n’)n++; B)n=0;while(getchar()! =’\n’)n++; C)for(n=0;getchar()! =’\n’;n++); D)n=0;for(ch=getchar();ch! =’\n’;n++); 4.有以下程序 #include main() {inti=5; do {if(i%3==1) if(i%5==2) {printf("*%d",i);break;} i++; }while(i! =0); printf("\n"); } 程序的运行结果是()。 A)*7B)*3*5C)*5D)*2*6 5.若变量已正确定义,有以下程序段 i=0; doprintf("%d,",i);while(i++); printf("%d\n",i) 其输出结果是 A)0,0B)0,1 C)1,1D)程序进入无限循环 6.2、有如下程序 main() {inti,sum; for(i=1;i<=3;sum++)sum+=i; printf(“%d\n”,sum); } 该程序的执行结果是 A)6B)3 C)死循环D)0 7.3、有如下程序 main() {intx=23; do {printf("%d",x--);} while(! x); } 该程序的执行结果是 A)321B)23 C)2322D)陷入死循环 8.4、执行下面的程序后,a的值为: () main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; }b-=5; } } A)7B)8 C)9D)10 9.以下程序段的输出结果是() intx=3; do {printf("%3d",x-=2);} while(! (--x)); A)1B)30 C)1-2D)死循环 10.有下列程序: main() {intk=5; while(--k)printf("%d",k-=3); printf("\n"); } 执行后的输出结果是()。 A)1B)2 C)4D)死循环 二、看程序,写运行结果 1.#include main() {inty=9; for(;y>0;y--) if(y%3==0)printf("%d",--y); } 程序的运行结果是【】 2.#include main() {inti,j,m=1; for(i=1;i<3;i++) {for(j=3;j>0;j--) {if(i+j>3)break; m*=i*j;} } printf(“m=%d\n”,m); } 程序的运行结果是【】 3#include main() {inti,j; for(i=3;i>=1;i--) {for(j=1;j<=2;j++)printf("%d",i+j); printf("\n"); } 程序的运行结果是【】 4.#include main() {intm,n; scanf(“%d%d”,&m,&n); while(m! =n) {while(m>n)m=m-n; while(m printf(“%d\n”,m); } 程序运行后,当输入1463<回车>时,输出结果是 【】 。 5.#include main() {inta=1,b=7; do{ b=b/2;a+=b; }while(b>1); printf(“%d\n”,a);} 程序的运行结果是【】 6.#include main() {intf,f1,f2,i; f1=0;f2=1; printf(“%d%d”,f1,f2); for(i=3;i<=5;i++) {f=f1+f2;printf(“%d”,f); f1=f2;f2=f; } printf(“\n”); } 程序运行后的输出结果是【】 7.下列程序运行时,若输入abced2f<回车>输出结果为【】 #include main() {chara=0,ch; while((ch=getchar())! =’\n’) {if(a&2! =0&&(ch>’a’&&ch<=’z’))ch=ch-‘a’+’A’; a++;putchar(ch); } printf(“\n”); } 8.#include main() {inti,j,sum; for(i=3;i>=1;i--) {sum=0; for(j=1;j<=i;j++)sum+=i*j; } printf("%d\n",sum); } 程序运行后的输出结果是【】 9.#include main() {intk; for(k=2;k<6;k++,k++) printf("##%d",k); } 程序运行后的输出结果是【】 10.#include main() {inti,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++)m=m%j; printf("%d\n",m); } 程序的运行结果是【】 三、程序填空 1.求x的y次方(y大于0) #include main() { inti,x,y; doublez; scanf("%d%d",&x,&y); for(i=1,z=x;i z=【】; printf("%f\n",z); } 2.计算1到10之间奇数之和及偶数之和。 #include main() {inta,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; b=【】 c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n",c-11);} 3.要输出以下的图形(从1到6) 1 22 333 4444 55555 666666 #include main() { inti,j,k; for(i=1;i<=6;i++) { for(j=1;j<=20-2*i;j++) printf("");; for(k=1;【】;k++) printf("%2d",i); printf("【】"); } } 4.下列程序的功能是输出如下形式的方阵: 13141516 9101112 5678 1234 请填空。 main() {inti,j,x; for(j=4;j【】;j--) {for(i=1;i<=4;i++) {x=(j-1)*4+【】; printf("%4d",x); } printf("\n"); } } 四、编程题 1.求Σn! (即求1! +2! +3! +……+20! ) 2.求下列试子的值: 1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。 3.打印九九乘法表。 4.百元买百鸡问题: 公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法。 5.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。 6.用40元钱买苹果、西瓜和梨共100个,且三种水果都有。 已知苹果0.4元一个,西瓜4元一个,梨0.2元一个。 问可以买多少个? 编程输出所有购买方案。 习题4 选择结构程序设计 一、单选题 1(C)2(B)3(C)4(A)5(A)6(D)7(B)8(C)9(D)10(A) 二、看程序,写结果 1.【a=2,b=1】2.【4】3.【1】4.【235】5.【2,1】6.【2】7.【55】 8.【170】 9.【 1*1=11*2=21*3=3 2*2=42*3=6 3*3=9 】 10.【#&】 三 1.【&b】2.【a=b】【a 3.【a+b>c&&b+c>a&&c+a>b】【a==b&&b==c】【a==b||b==c||a==c】 四、编程题 1.#include voidmain() { inta; printf("输入一个整数: \n"); scanf("%d",&a); if(a==1)printf("Monday\n"); elseif(a==2)printf("Tuesday\n"); elseif(a==3)printf("Wendesday\n"); elseif(a==4)printf("Thursday\n"); elseif(a==5)printf("Friday\n"); elseif(a==6)printf("Saturday\n"); elseif(a==7)printf("Sunday\n"); elseprintf("错误\n"); } 2.#include voidmain() { intyear,leap; printf("请输入年份: \n"); scanf("%d",&year); if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; if(leap) printf("%d年的2月有29天",year); else printf("%d年的2月有28天",year); } 3.#include voidmain() { floatm; printf("输入学生成绩: \n"); scanf("%f",&m); if((m>100)||(m<0))printf("数据有误\n"); elseif(m>=90)printf("A级\n"); elseif(m>=80)printf("B级\n"); elseif(m>=70)printf("C级\n"); elseif(m>=60)printf("D级\n"); elseprintf("E级\n"); } 习题5 循环结构程序设计 一、单选题 1(D)2(D)3(D)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构 程序设计 循环 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)