内容正文:
编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。
本试卷是《计算机应用考纲百套卷》的第76卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示:
①while循环。②do—while循环。③for循环。④循环嵌套。⑤break和continue语句。⑥循环结构程序设计。⑦数组与循环在程序中的应用
湖南省《计算机应用考纲百套卷》
《计算机编程语言—C语言》
第76卷
常考题训练卷
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共20小题,每小题3分,合计60分)
1.语句while(!e);中的条件“!e”等价于( )
A.e==0 B.e>=0 C.e!=0 D.以上都不正确
【答案】A
2.若i,j已定义为int类型,则下列程序段中,内循环体的总执行次数为( )
for(i=5;i;i++)
for(j=0;j<4;j++){……}
A.20次 B.25次 C.30次 D.9次
【答案】A
3.以下程序的运行结果为( )
main()
{int x=3,y=4;
while(x+y<10)
{x+=2,y--;}
printf("%d,%d",x+1,y*2);getch();}
A.2,10 B.12,10 C.10,2 D.以上选项都不正确
【答案】C
4.以下程序的运行结果是( )
main()
{int n=0;
while(!1);
printf("%d",n);getch();}
A.0 B.1 C.2 D.编译出错
【答案】A
5.对于语句“while(1);”,下列说法正确的是( )
A.是死循环 B.只循环一次 C.只循环两次 D.以上说法都不对
【答案】A
6.以下程序的运行结果为( )
main()
{int x=2,y=2;
while(x--)
{y+=2*x;}
printf("%d",y);getch();}
A.2 B.4 C.6 D.8
【答案】B
7.若有以下语句,则执行后输出( )
main()
{int x=3;
do
{printf("%d",x-=2);}
while(!(-x));getch();}
A.1 B.1-2 C.30 D.语句是死循环
【答案】A
8.下列关于循环语句的描述中,正确的是( )
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,以while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D.do-while循环中,根据情况可以省略while
【答案】C
9. 如下程序段的描述,正确的是( )
x=-1;
do {x=x*x;} while(!x);
A.是死循环 B.循环执行两次 C.循环执行一次 D.有语法错误
【答案】C
10. 在下述程序中,判断i>j共执行的次数是( )
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i; } }
A.4 B.5 C.6 D.7
【答案】C
11.执行以下程序段的输出结果是( )
main()
{int n=12345,d;
while(n!=0)
{ d=n%10;
printf("%d",d);
n/=10;}
getch();}
A.123 B.1234 C.12345 D.54321
【答案】D
12.以下程序for循环的次数为( )
for(i=0,x=0;!x&&i<=5;i++)
A.4 B.5 C.6 D.无限次
【答案】C
13.以下循环的执行次数是( )
for(x=0,y=0;(y=123)&&(x<4);x++);
A.3次 B.4次 C.无限次 D.次数不定
【答案】B
14.下列选项中不是无限循环的语句是( )
A.for(y=0,x=1;x>++y;x=i++) i=x; B.for(;;x++=i);
C.while(1){x++;} D.for(i=10;;i--) sum+i;
【答案】A
15.下列程序的运行结果为( )
main()
{int x=2,i=1;
for(;i<=3;i++)
{x=x*2+(i^(i-1));}
printf("%d",x);getch();}
A.24 B.25 C.26 D.27
【答案】D
16.下列程序的运行结果为( )
main()
{int k=0,n=123465;
while(n)
{k++;n/=10;}
printf("%d",k);getch();}
A.123456 B.123465 C.6 D.5
【答案】C
17.执行以下程序的输出结果是( )
main()
{float x=3.14,y=2.14,z;
z=(int)x+(int)y;
while(z--)
{if(z>2) break;}
printf("%.2f",z);getch();}
A.3.00 B.4.00 C.5.00 D.6.00
【答案】B
18.执行以下程序的输出结果是( )
main()
{int a=10,b=20,c,d=0;
for(c=3;c<=a;c++)
{if(c+a<b)
d=d+3;
else continue;}
printf("%d",d);getch();}
A.21 B.22 C.23 D.24
【答案】A
19.下列选项中,属于死循环的程序段是( )
A.for(i=1;;){if(++i%2==0)continue; if(++i%3==0) break;}
B.i=32767;do{if(i<0)break;}while(++i);
C.for(i=1;;)if(++i<10)continue;
D.i=1;while(i--);
【答案】C
20.执行以下程序的输出结果是( )
main()
{int i,j,x=2;
for(i=1;i<=5;i++)
{x++;
for(j=1;j<=2;j++)
{if(i+j>3) x++;}}
printf("%d",--x);getch();}
A.11 B.12 C.13 D.14
【答案】C
二、程序运行结果题(共6小题,每小题4分,共24分)
21.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{ int x=0,y=5;
do{x+=y;
}while(!--y);
printf("x=%d",x);
getch();}
【答案】x=5
22.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
#include<string.h>
main()
{
char a[ ]="ABCD",b[ ]="BAD";
int i,j;
for(i=0;i<strlen(b);++i)
{for(j=0;(j<strlen(a))&&(a[j]!=b[i]);++j);
if(j>=strlen(a))
{printf("NO");
}}
printf("YES");
getch();}
【答案】YES
23.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{
int a=123,b=0;
while(a)
{a=a>>1;
b++;}
printf("%d",b);
getch();}
【答案】7
24.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=41,b=78,sum=0;
while(a&&b)
{sum++;
a/=2;
b/=2;}
printf("%d",sum);
getch();}
【答案】6
25.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int i;
for(i=1;i<20;i++)
if(i%3==0)
printf("%d ",i++);
else continue;
getch();}
【答案】3 6 9 12 15 18
26.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{
int i,j;
for(i=1;i<=3;i++)
{for(j=1;j<=i;j++)
printf("#");
printf("
");}
getch();}
【答案】
#
##
###
三、程序填空题(共1小题,每空4分,合计16分)
27.有n盏灯,编号为1~n;k个人,k≤n≤100,第1个人把所有灯打开,第2个人按下所有编号为2倍数的灯开关(这些灯将关掉),第3个人按下所有编号为3倍数的灯开关(关掉的灯将打开,开着的灯将关闭),依次类推,问最后有哪些灯开着?下面程序的功能是:输入n和k,输出开着的灯编号。例如有7盏灯,3个人,则输出:1-5-6-7。
#include <stdio.h>
#include<conio.h>
#include<string.h>
#define maxn 101
int a[maxn]={0};
main()
{int i,j,k,【1】;
printf("n=");
scanf("%d",&n);
printf("k=");
scanf("%d",&k);
for(i=1;i<=k;i++)
for(j=1;j<=n;j++)
if(【2】)
【3】;
for(i=1;i<=n;i++)
if(a[i]==1)
{if(first)
【4】;
else printf("-");
printf("%d",i);}
printf("
");
getch();}
【答案】①n,first=1 ②j%i==0 ③a[j]=!a[j] ④first=0
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。
本试卷是《计算机应用考纲百套卷》的第76卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示:
①while循环。②do—while循环。③for循环。④循环嵌套。⑤break和continue语句。⑥循环结构程序设计。⑦数组与循环在程序中的应用
湖南省《计算机应用考纲百套卷》
《计算机编程语言—C语言》
第76卷
常考题训练卷
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共20小题,每小题3分,合计60分)
1.语句while(!e);中的条件“!e”等价于( )
A.e==0 B.e>=0 C.e!=0 D.以上都不正确
2.若i,j已定义为int类型,则下列程序段中,内循环体的总执行次数为( )
for(i=5;i;i++)
for(j=0;j<4;j++){……}
A.20次 B.25次 C.30次 D.9次
3.以下程序的运行结果为( )
main()
{int x=3,y=4;
while(x+y<10)
{x+=2,y--;}
printf("%d,%d",x+1,y*2);getch();}
A.2,10 B.12,10 C.10,2 D.以上选项都不正确
4.以下程序的运行结果是( )
main()
{int n=0;
while(!1);
printf("%d",n);getch();}
A.0 B.1 C.2 D.编译出错
5.对于语句“while(1);”,下列说法正确的是( )
A.是死循环 B.只循环一次 C.只循环两次 D.以上说法都不对
6.以下程序的运行结果为( )
main()
{int x=2,y=2;
while(x--)
{y+=2*x;}
printf("%d",y);getch();}
A.2 B.4 C.6 D.8
7.若有以下语句,则执行后输出( )
main()
{int x=3;
do
{printf("%d",x-=2);}
while(!(-x));getch();}
A.1 B.1-2 C.30 D.语句是死循环
8.下列关于循环语句的描述中,正确的是( )
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,以while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D.do-while循环中,根据情况可以省略while
9. 如下程序段的描述,正确的是( )
x=-1;
do {x=x*x;} while(!x);
A.是死循环 B.循环执行两次 C.循环执行一次 D.有语法错误
10. 在下述程序中,判断i>j共执行的次数是( )
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i; } }
A.4 B.5 C.6 D.7
11.执行以下程序段的输出结果是( )
main()
{int n=12345,d;
while(n!=0)
{ d=n%10;
printf("%d",d);
n/=10;}
getch();}
A.123 B.1234 C.12345 D.54321
12.以下程序for循环的次数为( )
for(i=0,x=0;!x&&i<=5;i++)
A.4 B.5 C.6 D.无限次
13.以下循环的执行次数是( )
for(x=0,y=0;(y=123)&&(x<4);x++);
A.3次 B.4次 C.无限次 D.次数不定
14.下列选项中不是无限循环的语句是( )
A.for(y=0,x=1;x>++y;x=i++) i=x; B.for(;;x++=i);
C.while(1){x++;} D.for(i=10;;i--) sum+i;
15.下列程序的运行结果为( )
main()
{int x=2,i=1;
for(;i<=3;i++)
{x=x*2+(i^(i-1));}
printf("%d",x);getch();}
A.24 B.25 C.26 D.27
16.下列程序的运行结果为( )
main()
{int k=0,n=123465;
while(n)
{k++;n/=10;}
printf("%d",k);getch();}
A.123456 B.123465 C.6 D.5
17.执行以下程序的输出结果是( )
main()
{float x=3.14,y=2.14,z;
z=(int)x+(int)y;
while(z--)
{if(z>2) break;}
printf("%.2f",z);getch();}
A.3.00 B.4.00 C.5.00 D.6.00
18.执行以下程序的输出结果是( )
main()
{int a=10,b=20,c,d=0;
for(c=3;c<=a;c++)
{if(c+a<b)
d=d+3;
else continue;}
printf("%d",d);getch();}
A.21 B.22 C.23 D.24
19.下列选项中,属于死循环的程序段是( )
A.for(i=1;;){if(++i%2==0)continue; if(++i%3==0) break;}
B.i=32767;do{if(i<0)break;}while(++i);
C.for(i=1;;)if(++i<10)continue;
D.i=1;while(i--);
20.执行以下程序的输出结果是( )
main()
{int i,j,x=2;
for(i=1;i<=5;i++)
{x++;
for(j=1;j<=2;j++)
{if(i+j>3) x++;}}
printf("%d",--x);getch();}
A.11 B.12 C.13 D.14
二、程序运行结果题(共6小题,每小题4分,共24分)
21.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{ int x=0,y=5;
do{x+=y;
}while(!--y);
printf("x=%d",x);
getch();}
22.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
#include<string.h>
main()
{
char a[ ]="ABCD",b[ ]="BAD";
int i,j;
for(i=0;i<strlen(b);++i)
{for(j=0;(j<strlen(a))&&(a[j]!=b[i]);++j);
if(j>=strlen(a))
{printf("NO");
}}
printf("YES");
getch();}
23.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{
int a=123,b=0;
while(a)
{a=a>>1;
b++;}
printf("%d",b);
getch();}
24.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=41,b=78,sum=0;
while(a&&b)
{sum++;
a/=2;
b/=2;}
printf("%d",sum);
getch();}
25.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int i;
for(i=1;i<20;i++)
if(i%3==0)
printf("%d ",i++);
else continue;
getch();}
26.执行以下程序的输出结果是( )
#include <stdio.h>
#include<conio.h>
main()
{
int i,j;
for(i=1;i<=3;i++)
{for(j=1;j<=i;j++)
printf("#");
printf("
");}
getch();}
三、程序填空题(共1小题,每空4分,合计16分)
27.有n盏灯,编号为1~n;k个人,k≤n≤100,第1个人把所有灯打开,第2个人按下所有编号为2倍数的灯开关(这些灯将关掉),第3个人按下所有编号为3倍数的灯开关(关掉的灯将打开,开着的灯将关闭),依次类推,问最后有哪些灯开着?下面程序的功能是:输入n和k,输出开着的灯编号。例如有7盏灯,3个人,则输出:1-5-6-7。
#include <stdio.h>
#include<conio.h>
#include<string.h>
#define maxn 101
int a[maxn]={0};
main()
{int i,j,k,【1】;
printf("n=");
scanf("%d",&n);
printf("k=");
scanf("%d",&k);
for(i=1;i<=k;i++)
for(j=1;j<=n;j++)
if(【2】)
【3】;
for(i=1;i<=n;i++)
if(a[i]==1)
{if(first)
【4】;
else printf("-");
printf("%d",i);}
printf("
");
getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$