任务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();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$