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

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

内容正文:

湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目三: 循环结构程序设计 第16卷: 多重循环结构程序设计 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.以下程序段的输出结果是( ) int i,j; for(i=0;i<1;i+=1) for(j=2;j>0;j--)printf("*"); A.****** B.**** C.*** D.** 2.执行以下程序段的输出结果是( ) int i,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j>=i)m++;n++;printf("%d",n); A.1 B.0 C.2 D.3 3.若有定义:int i,j;,则以下程序段中的内循环体执行次数是( ) for(i=5;i;i--) for(j=0;j<4;j++){……} A.20 B.24 C.25 D.30 4.下列程序段的输出结果是( ) int i,j,m=0; for(i=1;i<5;i++) {for(j=5;j>0;j--) {if(i+j>2) m*=i+j;}}printf("m=%d",m); A.m=0 B.m=1 C.m=25 D.有语法错误 5.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=6;i++) {b=i; while(b>=0) {b--;++k;}} printf("%d,%d",k,b); A.26,-1 B.-1,27 C.27,-1 D.27,1 6.设程序段中的变量均已正确定义,则该程序段的输出结果是( ) for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf(“*”); A.****** B.**** C.** D.* 7.执行以下程序段的输出结果是( ) int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d",m); A.1 B.0 C.2 D.3 8.执行以下程序的输出结果是( ) int y=2,a=1; while(y--!=-1) {do {a*=y;a++;} while(y--);} printf("%d,%d",a,y); A.1,2 B.-2,1 C.1,1 D.1,-2 9.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=5;i++) {b=i%2;while(b-->0)k++;} printf("%d,%d",k,b); A.3,-1 B.8,-1 C.3,0 D.8,-2 10.执行下列程序段的输出结果是( ) int i,j,m=1; for(i=1;i<8;i++) {for(j=1;j<3;j++) {if(i+j>10) break; m+=i+j;}}printf("m=%d",m); A. m=76 B. m=77 C. m=78 D. m=79 11.执行以下程序段的输出结果是( ) int i,j,k=10; for(i=0;i<2;i++) {k++; {int k=0; for(j=0;j<=3;j++) {if(j%2)continue;k++;}}k++;}printf("k=%d",k); A.k=12 B.k=13 C.k=14 D.k=15 12.执行以下程序段的输出结果是( ) int i,a=0; for(i=1;i<=5;i++) {do{i++;a++;}while(i<3);i++;} printf("a=%d,i=%d ",a,i); A. a=2,i=8 B. a=3,i=8 C. a=8,i=3 D.a=3,i=7 13.执行以下程序段的输出结果是( ) int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++;printf("%d",m); A.12 B.15 C.20 D.25 14.执行以下程序段的输出结果是( ) int i,j,m=0; for(i=1;i<=3;i++) for(j=0;j<=3;j++)m++;printf("%d",m+=m--); A.12 B.24 C.25 D.13 15.设以下变量均已正确定义,则以下程序段中循环体的执行次数是( ) for(i=5;i;i--) for(j=0;j<4;j++){ 循环体语句 } A.20 B.24 C.25 D.30 16.执行以下程序段的输出结果( ) int i,j,m=0;; for(i=2;i;i--) for(j=0;j<3;j++){printf("%d",m++);} A.012 B.0123 C.01234 D. 012345 17.执行以下程序段的输出结果是( ) int i,j,m=0;; for(i=2,j=5;i;i--) {while(i!=j--) printf("%d",m++);} A.012 B.0123 C.01 D.12 18.执行以下程序段的输出结果是( ) int a,b;char c='A'; for(a=0,b=7;a<b;a++,b--) {do c++;while(!c); printf("%c",c);} A.E B.BCD C. BCDE D.CDE 19.执行以下程序段的输出结果是( ) int i,j=0; for(i=0;i<2;i++) while(j++<2) printf("*"); A.* B.** C.*** D.**** 20.执行以下程序段的输出结果是( ) int i,j=0; for(i=0;i<2;i++) do printf("*");while(j++<2); A.* B.** C.*** D.**** 21.执行以下程序段的输出结果是( ) int i,j=3,sum=0,count=0; for(i=1;i<5;i++) while(j-->0) if(i*j%2==0) {sum=sum+(i*j);count++;} printf("%d",j); A.4 B.-4 C.0 D.-2 22.执行以下程序段的输出结果是( ) int n,k=1,s=0,m; for(n=1;n<=25;n++) {k=1;s=0; m=n; while(m>0) {k*=m%10;s+=m%10;m=m/10;} if(k>s)printf("%d,",n);} A.23,24,25 B.23,24 C.22,23,25, D.23,24,25, 23.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=6;i++) {b=i%2; while(b-->=0) ++k;} printf("%d,%d",k,b); A.9,-2 B.9,-1 C.-2,9 D.9,2 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j,k,m=0,n=0; for(i=0;i<3;i++) for(j=0;j<3;j++) for(k=0;k<3;k++) if(j>=i)m++; else if(j>=k)n++; printf("%d,%d",m,n); getch();} 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j,k,count; count=0; for(i=1;i<=3;i++) for(j=1;j<=3;j++) if(i==j) continue; else for(k=1;k<=3;k++) if(k!=i&&k!=j) count++; printf("%d",count); getch();} 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j; for(i=1;i<2;i++) {for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j); printf(" ");} getch();} 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n){ while(m>n) m-=n; while(n>m) n-=m;} printf("m=%d ",m); getch();} 执行程序时输入:45 16<回车> 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j; for(i=4;i>=1;i--) {for(j=1;j<=i;j++) putchar('#'); for(j=1;j<=4-i;j++) putchar('*'); putchar(' ');}getch();} 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,n=0; for(i=2;i<5;i++) {do {if(i%3) continue; n++;} while(!i);n++;} printf("n=%d ",n); getch();} 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf(" ");}getch();} 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处3分,共9分) 31.下列程序的功能是输出如图1所示图形。程序中有三处错误,请改正。 氺 氺氺氺 氺氺氺氺氺 氺氺氺 氺 图1 L1 #include <stdio.h> L2 #include<conio.h> L3 main() L4 {int i,j,n; L5 printf(" please Enter n:"); L6 scanf("%d",&n); L7 for(i=1;i<=n;i++) L8 {for(j=1;j<=n+i;j++) L9 if(j>i)printf("*"); L10 else printf(" "); L11 printf(" ");} L12 for(i=1;i<n;i++) L13 {for(j=1;j<2*n-i-1;j++) L14 if(j>i)printf("*"); L15 else printf(" "); L16 printf(" ");} L17 getch();} 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.小王将养的一缸金鱼分5次出售:第一次卖出全部的一半加条;第二次卖出余下的三分之一加 条,第三次卖出余下的四分之一加 条;第4次卖出余下的五分之一加 条;最后卖出余下的11条。请填空。 #include <stdio.h> #include<conio.h> main() { int i,j,x,flag=0; for(i=23;【1】;i+=2) {for(j=1,x=i;j<=4&&x>=11;j++) if((x+1)%(j+1)==0) x-=【2】; else {x=0; break;} if(【3】) {printf("原来的鱼缸中共有%d条金鱼.",i); flag=【4】;}} getch();} 33.自守数是指一个数的平方的尾数等于该数自身的自然数。 例如: 下列程序求100000以内的自守数,请填空。 #include <stdio.h> #include<conio.h> main() { long mul,number,k,a,b; printf("It exists following automorphic nmbers small than 100000: "); for(number=0;number<100000;number++) {for(mul=number,k=1;(mul/=10)>0;【1】); a=k*10; mul=0; b=10; while(【2】) {mul=(mul+(【3】))*(number%b-number%(b/10)))%a; k/=10; b*=10;} if(【4】) printf("%d\t",number);} printf(" "); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《编程语言—C语言》 项目三: 循环结构程序设计 第16卷: 多重循环结构程序设计 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共23小题,每小题2分,共46分) 1.以下程序段的输出结果是( ) int i,j; for(i=0;i<1;i+=1) for(j=2;j>0;j--)printf("*"); A.****** B.**** C.*** D.** 【答案】D 2.执行以下程序段的输出结果是( ) int i,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j>=i)m++;n++;printf("%d",n); A.1 B.0 C.2 D.3 【答案】A 3.若有定义:int i,j;,则以下程序段中的内循环体执行次数是( ) for(i=5;i;i--) for(j=0;j<4;j++){……} A.20 B.24 C.25 D.30 【答案】A 4.下列程序段的输出结果是( ) int i,j,m=0; for(i=1;i<5;i++) {for(j=5;j>0;j--) {if(i+j>2) m*=i+j;}}printf("m=%d",m); A.m=0 B.m=1 C.m=25 D.有语法错误 【答案】A 5.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=6;i++) {b=i; while(b>=0) {b--;++k;}} printf("%d,%d",k,b); A.26,-1 B.-1,27 C.27,-1 D.27,1 【答案】C 6.设程序段中的变量均已正确定义,则该程序段的输出结果是( ) for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf(“*”); A.****** B.**** C.** D.* 【答案】D 7.执行以下程序段的输出结果是( ) int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d",m); A.1 B.0 C.2 D.3 【答案】A 8.执行以下程序的输出结果是( ) int y=2,a=1; while(y--!=-1) {do {a*=y;a++;} while(y--);} printf("%d,%d",a,y); A.1,2 B.-2,1 C.1,1 D.1,-2 【答案】D 9.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=5;i++) {b=i%2;while(b-->0)k++;} printf("%d,%d",k,b); A.3,-1 B.8,-1 C.3,0 D.8,-2 【答案】A 10.执行下列程序段的输出结果是( ) int i,j,m=1; for(i=1;i<8;i++) {for(j=1;j<3;j++) {if(i+j>10) break; m+=i+j;}}printf("m=%d",m); A. m=76 B. m=77 C. m=78 D. m=79 【答案】C 11.执行以下程序段的输出结果是( ) int i,j,k=10; for(i=0;i<2;i++) {k++; {int k=0; for(j=0;j<=3;j++) {if(j%2)continue;k++;}}k++;}printf("k=%d",k); A.k=12 B.k=13 C.k=14 D.k=15 【答案】C 12.执行以下程序段的输出结果是( ) int i,a=0; for(i=1;i<=5;i++) {do{i++;a++;}while(i<3);i++;} printf("a=%d,i=%d ",a,i); A. a=2,i=8 B. a=3,i=8 C. a=8,i=3 D.a=3,i=7 【答案】B 13.执行以下程序段的输出结果是( ) int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++;printf("%d",m); A.12 B.15 C.20 D.25 【答案】C 14.执行以下程序段的输出结果是( ) int i,j,m=0; for(i=1;i<=3;i++) for(j=0;j<=3;j++)m++;printf("%d",m+=m--); A.12 B.24 C.25 D.13 【答案】B 15.设以下变量均已正确定义,则以下程序段中循环体的执行次数是( ) for(i=5;i;i--) for(j=0;j<4;j++){ 循环体语句 } A.20 B.24 C.25 D.30 【答案】C 16.执行以下程序段的输出结果( ) int i,j,m=0;; for(i=2;i;i--) for(j=0;j<3;j++){printf("%d",m++);} A.012 B.0123 C.01234 D. 012345 【答案】D 17.执行以下程序段的输出结果是( ) int i,j,m=0;; for(i=2,j=5;i;i--) {while(i!=j--) printf("%d",m++);} A.012 B.0123 C.01 D.12 【答案】A 18.执行以下程序段的输出结果是( ) int a,b;char c='A'; for(a=0,b=7;a<b;a++,b--) {do c++;while(!c); printf("%c",c);} A.E B.BCD C. BCDE D.CDE 【答案】B 19.执行以下程序段的输出结果是( ) int i,j=0; for(i=0;i<2;i++) while(j++<2) printf("*"); A.* B.** C.*** D.**** 【答案】B 20.执行以下程序段的输出结果是( ) int i,j=0; for(i=0;i<2;i++) do printf("*");while(j++<2); A.* B.** C.*** D.**** 【答案】D 21.执行以下程序段的输出结果是( ) int i,j=3,sum=0,count=0; for(i=1;i<5;i++) while(j-->0) if(i*j%2==0) {sum=sum+(i*j);count++;} printf("%d",j); A.4 B.-4 C.0 D.-2 【答案】B 22.执行以下程序段的输出结果是( ) int n,k=1,s=0,m; for(n=1;n<=25;n++) {k=1;s=0; m=n; while(m>0) {k*=m%10;s+=m%10;m=m/10;} if(k>s)printf("%d,",n);} A.23,24,25 B.23,24 C.22,23,25, D.23,24,25, 【答案】D 23.执行以下程序段的输出结果是( ) int i,b,k=0; for(i=1;i<=6;i++) {b=i%2; while(b-->=0) ++k;} printf("%d,%d",k,b); A.9,-2 B.9,-1 C.-2,9 D.9,2 【答案】A 二、程序运行结果题(本题共7小题,每题3分,共21分) 24.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j,k,m=0,n=0; for(i=0;i<3;i++) for(j=0;j<3;j++) for(k=0;k<3;k++) if(j>=i)m++; else if(j>=k)n++; printf("%d,%d",m,n); getch();} 【答案】18,4 25.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j,k,count; count=0; for(i=1;i<=3;i++) for(j=1;j<=3;j++) if(i==j) continue; else for(k=1;k<=3;k++) if(k!=i&&k!=j) count++; printf("%d",count); getch();} 【答案】6 26.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j; for(i=1;i<2;i++) {for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j); printf(" ");} getch();} 【答案】1*1=1 1*2=2 1*3=3 27.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n){ while(m>n) m-=n; while(n>m) n-=m;} printf("m=%d ",m); getch();} 执行程序时输入:45 16<回车> 【答案】m=1 28.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,j; for(i=4;i>=1;i--) {for(j=1;j<=i;j++) putchar('#'); for(j=1;j<=4-i;j++) putchar('*'); putchar(' ');}getch();} 【答案】 #### ###* ##** #*** 29.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() {int i,n=0; for(i=2;i<5;i++) {do {if(i%3) continue; n++;} while(!i);n++;} printf("n=%d ",n); getch();} 【答案】n=4 30.以下程序的运行结果是( ) #include <stdio.h> #include<conio.h> main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf(" ");}getch();} 【答案】 * *** ***** ******* 三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处3分,共9分) 31.下列程序的功能是输出如图1所示图形。程序中有三处错误,请改正。 氺 氺氺氺 氺氺氺氺氺 氺氺氺 氺 图1 L1 #include <stdio.h> L2 #include<conio.h> L3 main() L4 {int i,j,n; L5 printf(" please Enter n:"); L6 scanf("%d",&n); L7 for(i=1;i<=n;i++) L8 {for(j=1;j<=n+i;j++) L9 if(j>i)printf("*"); L10 else printf(" "); L11 printf(" ");} L12 for(i=1;i<n;i++) L13 {for(j=1;j<2*n-i-1;j++) L14 if(j>i)printf("*"); L15 else printf(" "); L16 printf(" ");} L17 getch();} 答案: L8 {for(j=1;j<n+i;j++) L9 if(j>n-i)printf("*"); L13 {for(j=1;j<=2*n-i-1;j++) 四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分) 32.小王将养的一缸金鱼分5次出售:第一次卖出全部的一半加条;第二次卖出余下的三分之一加 条,第三次卖出余下的四分之一加 条;第4次卖出余下的五分之一加 条;最后卖出余下的11条。请填空。 #include <stdio.h> #include<conio.h> main() { int i,j,x,flag=0; for(i=23;【1】;i+=2) {for(j=1,x=i;j<=4&&x>=11;j++) if((x+1)%(j+1)==0) x-=【2】; else {x=0; break;} if(【3】) {printf("原来的鱼缸中共有%d条金鱼.",i); flag=【4】;}} getch();} 答案:①flag==0 ②(x+1)/(j+1) ③j==5&&x==11 ④ 1 33.自守数是指一个数的平方的尾数等于该数自身的自然数。 例如: 下列程序求100000以内的自守数,请填空。 #include <stdio.h> #include<conio.h> main() { long mul,number,k,a,b; printf("It exists following automorphic nmbers small than 100000: "); for(number=0;number<100000;number++) {for(mul=number,k=1;(mul/=10)>0;【1】); a=k*10; mul=0; b=10; while(【2】) {mul=(mul+(【3】))*(number%b-number%(b/10)))%a; k/=10; b*=10;} if(【4】) printf("%d\t",number);} printf(" "); getch();} 答案:①k*=10 ②k>0 ③number%(k*10 ④number==mul 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

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

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