内容正文:
编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。
本试卷是《计算机应用考纲百套卷》的第50卷,知识点:①for循环;②循环的嵌套;
湖南省《计算机应用考纲百套卷》
《计算机编程语言-C语言》
第50卷: for循环、循环的嵌套
知识点训练卷
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共20小题,每小题2分,共40分)
1. 若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)
printf ( “ ------------”) ;的正确说法是( )
A.循环体只执行一次 B.死循环
C.循环体一次也不执行 D.输出-----------
【答案】C
2. 以下不正确的描述是( )
A. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
B. while循环是先判断表达式后执行循环体语句
C. do-while和for循环均是先执行循环体语句,后判断表达式
D. for、while、do-while循环中的循环体均可以由空语句构成
【答案】D
3.for语句中的表达式可以部分或全部省略,但两个( )不可省略,但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。
A.! B., C.; D.:
【答案】C
4.执行语句:for(i=1;i++<4;);后,变量i的值( )
A.3 B.4 C.5 D.语句存在语法错误
【答案】C
5.设i,j已定义为int类型,则以下程序段中,内循环体的总执行次数是( )
for(j=0;j<4;j++)
for(i=0;i<4;i++)……
A.20 B.16 C.30 D.0
【答案】B
6.下列for循环语句正确的是( )
A.for(i=1;i<10;i++) B.for(i=1;i<=10;i++)
C.for(i=10;i>=1;i--) D.以上选项均正确
【答案】D
7.下列用于输出数字1到5的正确for循环语句是( )
A.for(int i=0;i<5;i++)printf(“%d”,i+1);
B.for(int i=1;i<=5;i++)printf(“%d”,i);
C.for(int i=1;i<5;i++)printf(“%d”,i);
D.for(int i=0;i<=5;i++)printf(“%d”,i);
【答案】B
8.若i,j都为整型变量,执行语句:for(i=0,j=3;i<=10;i++);j++;printf(“%d”,j);的运行结果是( )
A.14 B.24 C.34 D.4
【答案】D
9.下列选项中,有关for循环的描述中正确的一项是( )
A.for循环只能用于循环次数已经确定的情况
B.for循环先执行循环体语句,后判断表达式
C.在for循环中,不能使用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须使用花括号括起来
【答案】D
10.下列程序段的内循环体要执行的次数是( )
for(i=5;i>0;i++)
for(j=0;j<4;j++)
{……}
A.15 B.16 C.20 D.25
【答案】C
11.下列程序的运行结果是( )
main()
{int i,sum;
for(i=1;i<5;i++) sum+=i;
printf(“%d”,sum);}
A.15 B.14 C.0 D.不确定
【答案】D。sum未赋值。
12.下列语句中,能够正确输出26个英文字母的是( )
A.char a;for(a=’a’;a<=’z’;)printf(“%c”,++a);
B.char a;for(a=’a’;a<=’z’;)printf(“%c”,a);
C.char a;for(a=’a’;a<=’z’;)printf(“%c”,a++);
D.char a;for(a=’a’;a<=’z’;printf(“%c”,a));
【答案】C
13.执行以下程序段的输出结果是( )
main()
{int i;
for(i=2;i==0;)
printf("%d",i--);getch();}
A.0 B.1 C.2 D.无输出
【答案】D。存在未赋值的变量。
14.执行以下程序段的输出结果是( )
main()
{char a,b;
for(a='0',b='4';a<b;a++,b--)
printf("%c%c",a,b);
printf("
");getch();}
A.0134 B.0123 C.1234 D.0413
【答案】D
15.执行以下程序段的输出结果是( )
main()
{int x,y;
for(y=1;y<10;)
y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);getch();}
A.x=27,y=27 B.x=15,y=14 C.x=12,y=13 D.x=y=27
【答案】B
16.执行:for(m=1;m++<=5;);语句后,变量m的值为( )
A.5 B.6 C.7 D.8
【答案】C
17.执行以下程序段的输出结果是( )
main()
{int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d ",x- -,y);getch();}
A.10,10 9,1 B.10,1 9,2 C.9,8 7,6 D.10,9 9,0
【答案】A
18.执行以下程序段的运行结果是( )
main()
{int i;
for(i=0; i<3; i++)
switch(i)
{case 1:printf("%d",i);
case 2: printf("%d", i);
default : printf("%d", i);}getch();}
A.011122 B.120 C.012020 D.012
【答案】A
19.执行以下程序段的运行结果是( )
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d
",s);getch();}
A.0 B.3 C.5 D.6
【答案】C
20.下列程序段的功能是( )
int main()
{int i;
for (i = 2; i <= 100; i += 2)
printf("%d
", i);}
A.输出1至100之间的所有奇数 B.输出1至100之间的所有偶数
C.输出1至100之间的所有数 D.程序中有语法错误
【答案】B
二、程序运行结果题(本题共6题,每题4分,共24分)
21. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int i, sum = 0;
for (i=1;i<=100;i++)
sum+=i;
printf("%d
", sum);getch();}
【答案】5050
22. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
int main()
{int i=0,j=0;
do{
printf("%d;",i);
for(j=i;j<10;j++){
printf("%d;",j);}
printf("
");
}while(++i<1);
getch();}
【答案】0;0;1;2;3;4;5;6;7;8;9;
23. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
int main()
{int x=1,b=2;
for(;x<=4;x++)
{b++;
if(b>10)break;
else b++;
}printf("%d",b);getch();}
【答案】10
24. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int s=0,i;
for(i=1;i<=10;i++)
{if(i==5) continue;
s=s+i;}
printf("%d",s);getch();}
【答案】50
25. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int i,j;
for(i=0;i<10;i++)
{j=i*10+6;
if(j%3!=0)continue;
printf("%d ",j);}getch();}
【答案】6 36 66 96
26. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int t=0,s=0,i;
for(i=1;i<=4;i++)
{t=i+t*10;
s=s+t;}
printf("s=%d
",s);getch();}
【答案】s=1370
三、程序填空题(本题共2题,每空4分,共24分)
27.国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后的两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去,当连续n天每天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币。若程序中的a为7,那么骑士这七天里一共获得18枚金币(18=1+2+2+3+3+3+4+4+4+4)。请填空。
#include <stdio.h>
#include<conio.h>
main()
{int count=1;
int a,sum=0,i;
scanf("%d",&a);
for(i=1;i<=a;i++)
{a=【1】;
sum+=【2】;
count++;}
printf("%d",【3】);
getch();}
【答案】①a-i ②count*count ③sum+a*count
28. 下列程序的功能是:输入一个正整数n,并输出一个n行的倒直角三角形,其中第i行包含n-i+1个星号。例如,如果输入的整数为5,则输出结果为图1所示。
图 1
#include<stdio.h>
#include<conio.h>
main()
{int n,i,j;
printf("请输入一个正整数n:");
scanf("%d",【1】);
printf("倒直角三角形如下:
");
for(i=n;i>=1;【2】)
{for(j=1;【3】;j++)
printf("*");
printf("
");}
getch();}
【答案】①&n ②i-- ③j<=i
四、程序改错题(本题共1题,每空4分,共12分)
29.下列程序的功能是:找出1至100之间的所有完数(6是一个完数,6=1+2+3)。程序中有两处错误,请改正。
L1 #include<stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int num,sum,i;
L5 printf("1到100之间的完数有:
");
L6 for(num=1;num<=100;num++)
L7 {sum=1;
L8 for(i=1;i<num;i++)
L9 {if(num/i==0)
L10 {sum+=i;}}
L11 if(sum=num)
L12 {printf("%d ",num);}}
L13 printf("
");
L14 getch();}
【答案】
①L7 {sum=0;
②L9 {if(num%i==0)
③L11 if(sum==num)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。
本试卷是《计算机应用考纲百套卷》的第50卷,知识点:①for循环;②循环的嵌套;
湖南省《计算机应用考纲百套卷》
《计算机编程语言-C语言》
第50卷: for循环、循环的嵌套
知识点训练卷
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共20小题,每小题2分,共40分)
1. 若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)
printf ( “ ------------”) ;的正确说法是( )
A.循环体只执行一次 B.死循环
C.循环体一次也不执行 D.输出-----------
2. 以下不正确的描述是( )
A. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
B. while循环是先判断表达式后执行循环体语句
C. do-while和for循环均是先执行循环体语句,后判断表达式
D. for、while、do-while循环中的循环体均可以由空语句构成
3.for语句中的表达式可以部分或全部省略,但两个( )不可省略,但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。
A.! B., C.; D.:
4.执行语句:for(i=1;i++<4;);后,变量i的值( )
A.3 B.4 C.5 D.语句存在语法错误
5.设i,j已定义为int类型,则以下程序段中,内循环体的总执行次数是( )
for(j=0;j<4;j++)
for(i=0;i<4;i++)……
A.20 B.16 C.30 D.0
6.下列for循环语句正确的是( )
A.for(i=1;i<10;i++) B.for(i=1;i<=10;i++)
C.for(i=10;i>=1;i--) D.以上选项均正确
7.下列用于输出数字1到5的正确for循环语句是( )
A.for(int i=0;i<5;i++)printf(“%d”,i+1);
B.for(int i=1;i<=5;i++)printf(“%d”,i);
C.for(int i=1;i<5;i++)printf(“%d”,i);
D.for(int i=0;i<=5;i++)printf(“%d”,i);
8.若i,j都为整型变量,执行语句:for(i=0,j=3;i<=10;i++);j++;printf(“%d”,j);的运行结果是( )
A.14 B.24 C.34 D.4
9.下列选项中,有关for循环的描述中正确的一项是( )
A.for循环只能用于循环次数已经确定的情况
B.for循环先执行循环体语句,后判断表达式
C.在for循环中,不能使用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须使用花括号括起来
10.下列程序段的内循环体要执行的次数是( )
for(i=5;i>0;i++)
for(j=0;j<4;j++)
{……}
A.15 B.16 C.20 D.25
11.下列程序的运行结果是( )
main()
{int i,sum;
for(i=1;i<5;i++) sum+=i;
printf(“%d”,sum);}
A.15 B.14 C.0 D.不确定
12.下列语句中,能够正确输出26个英文字母的是( )
A.char a;for(a=’a’;a<=’z’;)printf(“%c”,++a);
B.char a;for(a=’a’;a<=’z’;)printf(“%c”,a);
C.char a;for(a=’a’;a<=’z’;)printf(“%c”,a++);
D.char a;for(a=’a’;a<=’z’;printf(“%c”,a));
13.执行以下程序段的输出结果是( )
main()
{int i;
for(i=2;i==0;)
printf("%d",i--);getch();}
A.0 B.1 C.2 D.无输出
14.执行以下程序段的输出结果是( )
main()
{char a,b;
for(a='0',b='4';a<b;a++,b--)
printf("%c%c",a,b);
printf("
");getch();}
A.0134 B.0123 C.1234 D.0413
15.执行以下程序段的输出结果是( )
main()
{int x,y;
for(y=1;y<10;)
y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);getch();}
A.x=27,y=27 B.x=15,y=14 C.x=12,y=13 D.x=y=27
16.执行:for(m=1;m++<=5;);语句后,变量m的值为( )
A.5 B.6 C.7 D.8
17.执行以下程序段的输出结果是( )
main()
{int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d ",x- -,y);getch();}
A.10,10 9,1 B.10,1 9,2 C.9,8 7,6 D.10,9 9,0
18.执行以下程序段的运行结果是( )
main()
{int i;
for(i=0; i<3; i++)
switch(i)
{case 1:printf("%d",i);
case 2: printf("%d", i);
default : printf("%d", i);}getch();}
A.011122 B.120 C.012020 D.012
19.执行以下程序段的运行结果是( )
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d
",s);getch();}
A.0 B.3 C.5 D.6
20.下列程序段的功能是( )
int main()
{int i;
for (i = 2; i <= 100; i += 2)
printf("%d
", i);}
A.输出1至100之间的所有奇数 B.输出1至100之间的所有偶数
C.输出1至100之间的所有数 D.程序中有语法错误
二、程序运行结果题(本题共6题,每题4分,共24分)
21. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int i, sum = 0;
for (i=1;i<=100;i++)
sum+=i;
printf("%d
", sum);getch();}
22. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
int main()
{int i=0,j=0;
do{
printf("%d;",i);
for(j=i;j<10;j++){
printf("%d;",j);}
printf("
");
}while(++i<1);
getch();}
23. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
int main()
{int x=1,b=2;
for(;x<=4;x++)
{b++;
if(b>10)break;
else b++;
}printf("%d",b);getch();}
24. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int s=0,i;
for(i=1;i<=10;i++)
{if(i==5) continue;
s=s+i;}
printf("%d",s);getch();}
25. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int i,j;
for(i=0;i<10;i++)
{j=i*10+6;
if(j%3!=0)continue;
printf("%d ",j);}getch();}
26. 下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int t=0,s=0,i;
for(i=1;i<=4;i++)
{t=i+t*10;
s=s+t;}
printf("s=%d
",s);getch();}
三、程序填空题(本题共2题,每空4分,共24分)
27.国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后的两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去,当连续n天每天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币。若程序中的a为7,那么骑士这七天里一共获得18枚金币(18=1+2+2+3+3+3+4+4+4+4)。请填空。
#include <stdio.h>
#include<conio.h>
main()
{int count=1;
int a,sum=0,i;
scanf("%d",&a);
for(i=1;i<=a;i++)
{a=【1】;
sum+=【2】;
count++;}
printf("%d",【3】);
getch();}
28. 下列程序的功能是:输入一个正整数n,并输出一个n行的倒直角三角形,其中第i行包含n-i+1个星号。例如,如果输入的整数为5,则输出结果为图1所示。
图 1
#include<stdio.h>
#include<conio.h>
main()
{int n,i,j;
printf("请输入一个正整数n:");
scanf("%d",【1】);
printf("倒直角三角形如下:
");
for(i=n;i>=1;【2】)
{for(j=1;【3】;j++)
printf("*");
printf("
");}
getch();}
四、程序改错题(本题共1题,每空4分,共12分)
29.下列程序的功能是:找出1至100之间的所有完数(6是一个完数,6=1+2+3)。程序中有两处错误,请改正。
L1 #include<stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int num,sum,i;
L5 printf("1到100之间的完数有:
");
L6 for(num=1;num<=100;num++)
L7 {sum=1;
L8 for(i=1;i<num;i++)
L9 {if(num/i==0)
L10 {sum+=i;}}
L11 if(sum=num)
L12 {printf("%d ",num);}}
L13 printf("
");
L14 getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$