《计算机编程语言—C语言》第76卷:常考题训练卷 湖南省计算机应用类考纲百套卷

2025-07-09
| 2份
| 19页
| 141人阅读
| 1人下载

内容正文:

编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共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();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《计算机编程语言—C语言》第76卷:常考题训练卷  湖南省计算机应用类考纲百套卷
1
《计算机编程语言—C语言》第76卷:常考题训练卷  湖南省计算机应用类考纲百套卷
2
《计算机编程语言—C语言》第76卷:常考题训练卷  湖南省计算机应用类考纲百套卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。