任务15:for循环结构程序设计 《编程语言-C语言》45分钟专题训练

| 2份
| 21页
| 116人阅读
| 2人下载

内容正文:

湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目三: 循环结构程序设计 第15卷: for循环结构程序设计 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.下列有关for循环的叙述中,正确的一项是( ) A.for循环只能用于循环次数已经确定的情况 B.foe循环是先执行循环体语句,后判断表达式 C.在for循环中,不能使用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 【答案】D 2.如有语句:for(表达式1;;表达式3),则下列叙述中,正确的一项是( ) A. for(表达式1;0;表达式3) B. for(表达式1;1;表达式3) C. for(表达式1;表达式1;表达式3) D. for(表达式1;表达式3;表达式3) 【答案】B。在for循环中,省略表达式2可以理解为表达式2始终为真。 3.执行以下程序段,for的循环次数为( ) int i;for(i=2;i==0;)printf(“%d”,i--); A.无限次 B.0次 C.1次 D.2次 【答案】B 4.若以下变量均已正确定义,则执行以下程序段,for的循环次数为( ) for(x=0,y=0;(y=123)&&(x<4);x++); A.无线循环 B.4次 C.2次 D.3次 【答案】C 5.下列不属于无限循环的语句是( ) A. for(y=0,x=l;x>++y;x=++i) i=x; B. for(;;x++=i); C. while (1) { x++;} D. for(i=10 ;;i--) sum+=i; 【答案】A 6.执行以下程序段的输出结果是( ) int y,x;for(y=1;y<10;) y=((x=3*y,x+1),x--);printf("%d,%d",x,y); A.27,27 B.12,13 C.27,26 D. 26,27 【答案】D 7.执行以下程序段的输出结果是( ) int x;for(x=4;x<8;x++) printf((x%2)?("**%d"):("##%d\b"),x); A.##**5##**7 B. ##4**5##6**7 C. ##4**5 D.4567 【答案】A 8.执行语句:for(i=1;i++<4;);后变量i的值为( ) A.3 B.4 C.5 D.6 【答案】C 9.执行以下程序段的输出结果是( ) int i;for(i=1;i<=5;i++) switch(i%5){case 0:printf("*"); break; case 1:printf("#");break; default:printf("-"); case 2:printf("$");} A.*#-$ B.#$$$* C.#$-$-$* D.$-$-$* 【答案】C 10.设变量均已正确定义,则循环语句:for(x=0,y=0;(y!=123)||(x<4);x++);执行循环的次数为( ) A.3 B.4 C.10 D.无限循环 【答案】D 11.执行下列语句:for(x=0,y=10;(y>0)&&(x<4);x++,y--);,则( ) A.无限循环 B.执行循环次数2次 C.执行循环次数3次 D.执行循环次数4次 【答案】D 12.执行以下语句的输出结果是( ) int a=0,i;; for(i=1;i<5;i++) {switch(i) {case 0:case 3:a+=1; case 1:case 2:a+=2; default:a+=3;} }printf("%d",a); A.19 B.24 C.20 D.21 【答案】A 13.下列语句中,能正确输出26个英文字母的是( ) A. for(a='a';a<='z';printf("%c",++a)); B. for(a='a';a<='z';)printf("%c",a); C. for(a='a';a<='z';printf("%c",a++)); D. for(a='a';a<='z';printf("%c",a)); 【答案】C 14. 下列选项中,可以满足式子: 的n的是( ) A.for(i=1,s=0;(s=s+i*i)<=1000;n=i++); B.for(i=1,s=0;(s=s+i*i)<=1000;n=++i); C.for(i=1,s=0;(s=s+i*++i)<=1000;n=i); D.for(i=1,s=0;(s=s+i*i++)<=1000;n=i); 【答案】A 15.以下程序段的功能是( ) int i,s=0; for(i=1;i<10;i+=2)s+=i+1; printf("%d",s); A.累加自然数1~9 B.累加自然数1~10 C.累加自然数1~9之间的奇数 D.累加自然数1~10之间的偶数 【答案】D 16.执行以下程序段的输出结果是( ) int i,s=0; for(i=1;i<30;i++) if(i%3==0)s+=i+1; printf("%d",s); A.144 B.145 C.174 D.147 【答案】A 17.执行下列程序段的输出结果是( ) int i;for(i=1;i<=4;)printf("%d",i);i++; A.1234 B.1111 C.123 D.无限循环 【答案】D 18.执行以下程序段,循环体执行的次数是( ) int i,sum=0; for(i=2,sum=sum-i;sum!=0;i=0) sum=sum+i; printf("%d",sum); A.0 B.1 C.2 D.3 【答案】B 19.执行以下程序段的输出结果是( ) int i,sum=1; for(i=1;i<4;i++) sum=sum*i; printf("%d",sum); A.6 B.12 C.10 D.0 【答案】A 20.若有定义:int i,j;,则下列for循环语句中的scanf()语句最多执行( )次 for(i=0,j=0;j!=30&&i<3;i++) scanf(“%d”,&j); A.0 B.1 C.2 D.3 【答案】D 21.执行以下程序段的输出结果是( ) int y=9; for( ;y>0;y--)if(y%3==0){printf("%d",y);} A.963 B.987 C.975 D.864 【答案】A 22.下列程序的功能是:计算n个数的平均值,请你选择填空。( ) main() {int i,n;float x,avg;avg=0;scanf("%d",&n); for(i=0;i<n;i++) {scanf("%f",&x); avg=avg+x;} avg=【1】; printf("avd=%f ",avg); getch();} A. avg/n B.avg/n-1 C.n/avg D.avg/(n-1) 【答案】A 23.以下程序段的输出结果是( ) int i=4;for(printf("%d",i);i<2;i++) printf("%d",i); A.12 B.4 C.1 D.0 【答案】B 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0)printf("%d",x);} getch();} 【答案】2870 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int x=8; for( ;x>0;x--) {if(x%3!=0) {printf("%d,",x); x--;} else {--x; printf("%d,",x);}} getch();} 【答案】8,5,4,2, 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i; for(i=1;i<=40;i++) {if(i++%5==0) if(++i%8==0) printf("%d",i);} printf(" "); getch();} 【答案】32 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int a=6,b=0,c=0; for( ; a ;) {b+=a; a-=++c;} printf("%d,%d,%d ",a,b,c); getch();} 【答案】0,14,3 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,f1,f2; f1=f2=1; for(i=1;i<4;i++) {printf("%d %d ",f1,f2); f1=f1+f2; f2=f1+f2;} getch();} 【答案】1 1 2 3 5 8 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,t,sum=0; for(t=i=1;i<=12;) {sum+=t;++i; if(i%3==0) t=-i; else t=i;} printf("sum=%d",sum); getch();} 【答案】sum=18 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,t=1,s=0; for(i=1;i<=5;i+=2) {t=t*i; s=s+t; t=-t;} printf("%d",s); getch();} 【答案】13 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处3分,共9分) 31. 下列程序中,函数fun的功能是;根据形参m,计算如下公式的值。 以下程序只允许修改三行。 L1 #include <stdio.h> L2 #include<conio.h> L3 void fun(int m) L4 {double y=1.0; L5 float i; L6 for(i=2;i<m;i++) L7 y+=i/(i+i); L8 return (y); } L9 main() L10 { int n=5; L11 printf(" The result is %1f ",fun(n)); L12 getch();} 答案: L3 double fun(int m) L6 for(i=2;i<=m;i++) L7 y+=y/(i*i); 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.一个球从100m的高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹有多高。 #include <stdio.h> #include<conio.h> main() { double s=100,h=【1】; int n; for(n=2;【2】;n++) {s=【3】; h=【4】;} printf("第10次落地时共经过%f米 ",s); printf("第10次反弹%f米 ",h); getch();} 答案:①s/2 ②n<=10 ③s+2*h ④h/2 33.求以下公式的值。请填空。 #include <stdio.h> #include<conio.h> main() { int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for(k=1;k<=n1;k++) {s1=【1】;} for(k=1;k<=n2;k++) {【2】 } for(k=1;【3】;k++) {s3=【4】;} printf("sum=%f ",s1+s2+s3); getch();} 答案:①s1+k ②s2=s2+k*k; ③k<=n3 ④s3+1/k 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目三: 循环结构程序设计 第15卷: for循环结构程序设计 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.下列有关for循环的叙述中,正确的一项是( ) A.for循环只能用于循环次数已经确定的情况 B.foe循环是先执行循环体语句,后判断表达式 C.在for循环中,不能使用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 2.如有语句:for(表达式1;;表达式3),则下列叙述中,正确的一项是( ) A. for(表达式1;0;表达式3) B. for(表达式1;1;表达式3) C. for(表达式1;表达式1;表达式3) D. for(表达式1;表达式3;表达式3) 3.执行以下程序段,for的循环次数为( ) int i;for(i=2;i==0;)printf(“%d”,i--); A.无限次 B.0次 C.1次 D.2次 4.若以下变量均已正确定义,则执行以下程序段,for的循环次数为( ) for(x=0,y=0;(y=123)&&(x<4);x++); A.无线循环 B.4次 C.2次 D.3次 5.下列不属于无限循环的语句是( ) A. for(y=0,x=l;x>++y;x=++i) i=x; B. for(;;x++=i); C. while (1) { x++;} D. for(i=10 ;;i--) sum+=i; 6.执行以下程序段的输出结果是( ) int y,x;for(y=1;y<10;) y=((x=3*y,x+1),x--);printf("%d,%d",x,y); A.27,27 B.12,13 C.27,26 D. 26,27 7.执行以下程序段的输出结果是( ) int x;for(x=4;x<8;x++) printf((x%2)?("**%d"):("##%d\b"),x); A.##**5##**7 B. ##4**5##6**7 C. ##4**5 D.4567 8.执行语句:for(i=1;i++<4;);后变量i的值为( ) A.3 B.4 C.5 D.6 9.执行以下程序段的输出结果是( ) int i;for(i=1;i<=5;i++) switch(i%5){case 0:printf("*"); break; case 1:printf("#");break; default:printf("-"); case 2:printf("$");} A.*#-$ B.#$$$* C.#$-$-$* D.$-$-$* 10.设变量均已正确定义,则循环语句:for(x=0,y=0;(y!=123)||(x<4);x++);执行循环的次数为( ) A.3 B.4 C.10 D.无限循环 11.执行下列语句:for(x=0,y=10;(y>0)&&(x<4);x++,y--);,则( ) A.无限循环 B.执行循环次数2次 C.执行循环次数3次 D.执行循环次数4次 12.执行以下语句的输出结果是( ) int a=0,i;; for(i=1;i<5;i++) {switch(i) {case 0:case 3:a+=1; case 1:case 2:a+=2; default:a+=3;} }printf("%d",a); A.19 B.24 C.20 D.21 13.下列语句中,能正确输出26个英文字母的是( ) A. for(a='a';a<='z';printf("%c",++a)); B. for(a='a';a<='z';)printf("%c",a); C. for(a='a';a<='z';printf("%c",a++)); D. for(a='a';a<='z';printf("%c",a)); 14. 下列选项中,可以满足式子: 的n的是( ) A.for(i=1,s=0;(s=s+i*i)<=1000;n=i++); B.for(i=1,s=0;(s=s+i*i)<=1000;n=++i); C.for(i=1,s=0;(s=s+i*++i)<=1000;n=i); D.for(i=1,s=0;(s=s+i*i++)<=1000;n=i); 15.以下程序段的功能是( ) int i,s=0; for(i=1;i<10;i+=2)s+=i+1; printf("%d",s); A.累加自然数1~9 B.累加自然数1~10 C.累加自然数1~9之间的奇数 D.累加自然数1~10之间的偶数 16.执行以下程序段的输出结果是( ) int i,s=0; for(i=1;i<30;i++) if(i%3==0)s+=i+1; printf("%d",s); A.144 B.145 C.174 D.147 17.执行下列程序段的输出结果是( ) int i;for(i=1;i<=4;)printf("%d",i);i++; A.1234 B.1111 C.123 D.无限循环 18.执行以下程序段,循环体执行的次数是( ) int i,sum=0; for(i=2,sum=sum-i;sum!=0;i=0) sum=sum+i; printf("%d",sum); A.0 B.1 C.2 D.3 19.执行以下程序段的输出结果是( ) int i,sum=1; for(i=1;i<4;i++) sum=sum*i; printf("%d",sum); A.6 B.12 C.10 D.0 20.若有定义:int i,j;,则下列for循环语句中的scanf()语句最多执行( )次 for(i=0,j=0;j!=30&&i<3;i++) scanf(“%d”,&j); A.0 B.1 C.2 D.3 21.执行以下程序段的输出结果是( ) int y=9; for( ;y>0;y--)if(y%3==0){printf("%d",y);} A.963 B.987 C.975 D.864 22.下列程序的功能是:计算n个数的平均值,请你选择填空。( ) main() {int i,n;float x,avg;avg=0;scanf("%d",&n); for(i=0;i<n;i++) {scanf("%f",&x); avg=avg+x;} avg=【1】; printf("avd=%f ",avg); getch();} A. avg/n B.avg/n-1 C.n/avg D.avg/(n-1) 23.以下程序段的输出结果是( ) int i=4;for(printf("%d",i);i<2;i++) printf("%d",i); A.12 B.4 C.1 D.0 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0)printf("%d",x);} getch();} 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int x=8; for( ;x>0;x--) {if(x%3!=0) {printf("%d,",x); x--;} else {--x; printf("%d,",x);}} getch();} 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i; for(i=1;i<=40;i++) {if(i++%5==0) if(++i%8==0) printf("%d",i);} printf(" "); getch();} 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int a=6,b=0,c=0; for( ; a ;) {b+=a; a-=++c;} printf("%d,%d,%d ",a,b,c); getch();} 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,f1,f2; f1=f2=1; for(i=1;i<4;i++) {printf("%d %d ",f1,f2); f1=f1+f2; f2=f1+f2;} getch();} 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,t,sum=0; for(t=i=1;i<=12;) {sum+=t;++i; if(i%3==0) t=-i; else t=i;} printf("sum=%d",sum); getch();} 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,t=1,s=0; for(i=1;i<=5;i+=2) {t=t*i; s=s+t; t=-t;} printf("%d",s); getch();} 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处3分,共9分) 31. 下列程序中,函数fun的功能是;根据形参m,计算如下公式的值。 以下程序只允许修改三行。 L1 #include <stdio.h> L2 #include<conio.h> L3 void fun(int m) L4 {double y=1.0; L5 float i; L6 for(i=2;i<m;i++) L7 y+=i/(i+i); L8 return (y); } L9 main() L10 { int n=5; L11 printf(" The result is %1f ",fun(n)); L12 getch();} 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.一个球从100m的高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹有多高。 #include <stdio.h> #include<conio.h> main() { double s=100,h=【1】; int n; for(n=2;【2】;n++) {s=【3】; h=【4】;} printf("第10次落地时共经过%f米 ",s); printf("第10次反弹%f米 ",h); getch();} 33.求以下公式的值。请填空。 #include <stdio.h> #include<conio.h> main() { int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for(k=1;k<=n1;k++) {s1=【1】;} for(k=1;k<=n2;k++) {【2】 } for(k=1;【3】;k++) {s3=【4】;} printf("sum=%f ",s1+s2+s3); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

任务15:for循环结构程序设计  《编程语言-C语言》45分钟专题训练-第1页
1
任务15:for循环结构程序设计  《编程语言-C语言》45分钟专题训练-第2页
2
任务15:for循环结构程序设计  《编程语言-C语言》45分钟专题训练-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。