《C语言程序设计》(四)循环程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第13卷

2025-09-03
| 2份
| 28页
| 140人阅读
| 0人下载

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第13卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第13卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下代码段的输出结果是( ) for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { printf("*"); } printf(" "); } A. ** ** ** B. *** *** C. ** *** D. * * * 答案:A 2.执行以下程序的输出结果是( ) main( ) { int x, y =0; for(x=1;x<=10;x++) { if(y>=10) break; y=y+x; } printf("%d,%d",x,y); getch();} A. 10,5 B. 5,10 C. 11,5 D. 5,11 答案:B 3.设变量已正确定义,则以下能正确计算f=n!的程序段是( ) A. f=0;for(i=1;i<=n;i++) f*i; B. f=1;for(i=1;i<n;i++) f*=i; C. f=1;for(i=n;i>1;i++) f*i; D. f=1;for(i=n;i>=2;i--) f*=i; 答案:D 4. 以下代码段的输出结果是( ) int i = 0; while (i < 5) { if (i == 3) { break; } printf("%d ", i); i++; } A. 0 1 2 B. 0 1 2 3 C. 0 1 2 3 4 D. 无输出 答案:A 5. 执行以下程序的输出结果是( ) main( ) {int i=0,s=0; do {if(i%2) { i++; continue; } i++; s+=i;} while(i++<7); printf("%d ",s); getch();} A. 16 B. 12 C. 21 D. 28 答案:A 6. 以下代码段的输出结果是( ) int i = 0; while (1) { if (i == 3) { break; } printf("%d ", i); i++; } A. 0 1 2 B. 0 1 2 3 C. 无限循环 D. 无输出 答案:A 7. 以下代码段的输出结果是( ) int i = 5; while (i--) { printf("%d ", i); } A. 4 3 2 1 0 B. 5 4 3 2 1 C. 5 4 3 2 1 0 D. 4 3 2 1 答案:D 8. 以下 do - while 循环代码,若输入 -5,输出结果是( ) int num; scanf("%d", &num); do { num++; printf("%d ", num); } while (num < 0); A. -4 -3 -2 -1 0 B. -5 -4 -3 -2 -1 C. -4 D. 无输出 答案:A 9.执行以下程序的输出结果是( ) main( ) {int i,sum=0; i=1; do{ sum=sum+i; i++; }while(i++<=10); printf("%d",sum); getch();} A. 55 B. 36 C. 34 D. 54 答案:B 10.以下代码的输出结果是( ) #include <stdio.h> int main() { int i = 0; while (i < 5) { i++; if (i == 3) break; printf("%d ", i); } return 0; } A. 1 2 3 4 5 B. 1 2 4 5 C. 1 2 D. 3 答案:C 二、判断题(本大题共10小题,每小题2分,共20分) 1.下列程序的功能是输出自然数1~10中偶数之和。( ) main( ) {int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d ",s); getch();} 答案:正确 2.下列程序属于“死循环”程序。( ) main( ) {int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d ",sum); getch();} 答案:正确 3. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是19次。( ) for(i=5;i;i--) for(j=0;j<4;j++){ …… } 答案:错误 4. 以下程序中,while循环的循环次数是:1。( ) main() { int i=0; while(i<10) {if(i<1) continue; if(i==5) break; i++;} ……} 答案:错误 5. 若要使用 while 循环输出 1 到 10 之间的偶数,以下代码是正确的: int i = 1; while (i <= 10) { if (i % 2 == 0) { printf("%d ", i); } i++; } 答案:正确 6. while 循环和 do - while 循环在任何情况下都可以相互替换,且功能完全相同。 答案:错误 7. 下列程序的功能是:给r输入数据后计算半径为r的圆的面积s,程序在编译时出错,这是因为存放圆半径的变量r不应该定义为整型。( ) main() /* Bejinning */ { int r; float s; scanf("%d",&r); s=*π*r*r; printf("s=%f ",s); } 答案:错误 8.在下列程序段中,while循环执行的次数是无限次。( ) int k=0; while(k=1) k++; 答案:正确 9.如果 switch 语句的所有 case 分支都没有 break 语句,程序会依次执行所有 case 分支的代码。 答案:正确 10. t为int类型,进入下面的循环之前,t的值为0,则循环控制表达式的值为0。 while(t=1) { …… } 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1. 若要使用 for 循环输出 1 到 100 中所有能被 3 和 5 同时整除的数,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______,if 条件判断应填 ______。 for(______; ______; ______) { if(______) { printf("%d ", i); } } 答案:int i = 1;i <= 100;i++;i % 3 == 0 && i % 5 == 0 2. 以下嵌套 for 循环用于输出一个菱形的上半部分,横线处应填的代码是 ______。 int n; scanf("%d", &n); for(int i = 1; i <= n; i++) { for(int j = 1; j <= n - i; j++) { printf(" "); } for(int k = 1; k <= ______; k++) { printf("*"); } printf(" "); } 答案:2 * i - 1 3. 以下 while 循环用于找出 1 到 20 中第一个能被 7 整除的数,横线处应填的代码是 ______。 int i = 1; while (i <= 20) { if (______) { printf("%d", i); break; } i++; } 答案:i % 7 == 0 4. 以下 do - while 循环用于计算一个整数的位数,横线处应填的代码是 ______。 int num, count = 0; scanf("%d", &num); do { num /= 10; count++; } while (______); 答案:num != 0 5.下列程序段的功能是,从键盘输入的字符中统计数字字符的个数,用换行符结束循环,则横线处应该填入的代码是 ____________ 。 int n=0,c; c=getchar(); while( ) {if(c>='0'&&c<='9') n++; c=getchar();} 答案:c!=' ' 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; do { i = 3; printf("%d ", i); break; } while (1); return 0; } 答案:3 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= i; j++) { if (j == 2) { break; } printf("%d %d ", i, j); } } return 0; } 答案: 1 1 2 1 3 1 3.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 5; while (i > 0) { if (i == 2) { break; } printf("%d ", i); i--; } return 0; } 答案:5 4 3 4.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) {int i; for(i=1;i<50;i++) if(i*i%10==i) printf("%3d",i); else if(i*i%100==i) printf("%3d",i); getch();} 答案: 1 5 6 25 5.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) {int i,j; for(i=0;i<=3;i++) {for(j=0;j<=5;j++) if(i==0||j==0||i==3||j==5) printf("*"); else printf(" "); printf(" ");} getch();} 答案: ****** * * * * ****** 五、编程题(本大题共5小题,每题5分,共25分) 1. 有36块砖,由36人搬;男人一次搬4块,女人一次搬3块,两个小孩抬一块,要求一次刚好搬完。编程求出男人、女人、小孩各多少。 #include <stdio.h> #include <conio.h> main( ) { int men,women,children; for(men=0;men<9;men++) {for(women=0;women<12;women++) {children=36-women-men; if((4*men+3*women+children/2==36) && children%2==0) {printf("男人: %d",men); printf("\t 女人: %d",women); printf("\t小孩: %d ",children); }}} getch();} 2. 编写一个程序,使用嵌套 while 循环输出如下图案: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 #include <stdio.h> int main() { int i = 1; while (i <= 5) { int j = 1; while (j <= i) { printf("%d ", j); j++; } printf(" "); i++; } return 0; } 3. 有一个分数序列:……,从第二项开始,每一项的分子为前一项的分子与分母之和,每一项的分母为前一项的分子,编程求这个数列的前n项之和。 #include <stdio.h> #include <conio.h> main( ) { int a=2, b=1, t,i,n; double sum=0.0; printf("请输入n:"); scanf("%d",&n); for(i=1;i<=n;i++) {sum=sum+1.0*a/b; t=a; a=a+b; //下一项分子的值 b=t; //下一项分母的值 } printf("sum=%f ",sum); getch();} 4. 编写一个程序,使用 while 循环输入一组字符,直到输入 # 为止,并统计输入的字符个数(不包括 #)。 #include <stdio.h> int main() { char ch; int count = 0; while (1) { scanf("%c", &ch); if (ch == '#') { break; } count++; } printf("输入的字符个数为: %d ", count); return 0; } 5. 编写一个程序,使用嵌套 while 循环输出如下图案: 1 2 3 4 5 6 7 8 9 10 #include <stdio.h> int main() { int row = 1; int num = 1; while (row <= 4) { int col = 1; while (col <= row) { printf("%d ", num); num++; col++; } printf(" "); row++; } return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第13卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第13卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下代码段的输出结果是( ) for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { printf("*"); } printf(" "); } A. ** ** ** B. *** *** C. ** *** D. * * * 2.执行以下程序的输出结果是( ) main( ) { int x, y =0; for(x=1;x<=10;x++) { if(y>=10) break; y=y+x; } printf("%d,%d",x,y); getch();} A. 10,5 B. 5,10 C. 11,5 D. 5,11 3.设变量已正确定义,则以下能正确计算f=n!的程序段是( ) A. f=0;for(i=1;i<=n;i++) f*i; B. f=1;for(i=1;i<n;i++) f*=i; C. f=1;for(i=n;i>1;i++) f*i; D. f=1;for(i=n;i>=2;i--) f*=i; 4. 以下代码段的输出结果是( ) int i = 0; while (i < 5) { if (i == 3) { break; } printf("%d ", i); i++; } A. 0 1 2 B. 0 1 2 3 C. 0 1 2 3 4 D. 无输出 5. 执行以下程序的输出结果是( ) main( ) {int i=0,s=0; do {if(i%2) { i++; continue; } i++; s+=i;} while(i++<7); printf("%d ",s); getch();} A. 16 B. 12 C. 21 D. 28 6. 以下代码段的输出结果是( ) int i = 0; while (1) { if (i == 3) { break; } printf("%d ", i); i++; } A. 0 1 2 B. 0 1 2 3 C. 无限循环 D. 无输出 7. 以下代码段的输出结果是( ) int i = 5; while (i--) { printf("%d ", i); } A. 4 3 2 1 0 B. 5 4 3 2 1 C. 5 4 3 2 1 0 D. 4 3 2 1 8. 以下 do - while 循环代码,若输入 -5,输出结果是( ) int num; scanf("%d", &num); do { num++; printf("%d ", num); } while (num < 0); A. -4 -3 -2 -1 0 B. -5 -4 -3 -2 -1 C. -4 D. 无输出 9.执行以下程序的输出结果是( ) main( ) {int i,sum=0; i=1; do{ sum=sum+i; i++; }while(i++<=10); printf("%d",sum); getch();} A. 55 B. 36 C. 34 D. 54 10.以下代码的输出结果是( ) #include <stdio.h> int main() { int i = 0; while (i < 5) { i++; if (i == 3) break; printf("%d ", i); } return 0; } A. 1 2 3 4 5 B. 1 2 4 5 C. 1 2 D. 3 二、判断题(本大题共10小题,每小题2分,共20分) 1.下列程序的功能是输出自然数1~10中偶数之和。( ) main( ) {int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d ",s); getch();} 2.下列程序属于“死循环”程序。( ) main( ) {int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d ",sum); getch();} 3. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是19次。( ) for(i=5;i;i--) for(j=0;j<4;j++){ …… } 4. 以下程序中,while循环的循环次数是:1。( ) main() { int i=0; while(i<10) {if(i<1) continue; if(i==5) break; i++;} ……} 5. 若要使用 while 循环输出 1 到 10 之间的偶数,以下代码是正确的: int i = 1; while (i <= 10) { if (i % 2 == 0) { printf("%d ", i); } i++; } 6. while 循环和 do - while 循环在任何情况下都可以相互替换,且功能完全相同。 7. 下列程序的功能是:给r输入数据后计算半径为r的圆的面积s,程序在编译时出错,这是因为存放圆半径的变量r不应该定义为整型。( ) main() /* Bejinning */ { int r; float s; scanf("%d",&r); s=*π*r*r; printf("s=%f ",s); } 8.在下列程序段中,while循环执行的次数是无限次。( ) int k=0; while(k=1) k++; 9.如果 switch 语句的所有 case 分支都没有 break 语句,程序会依次执行所有 case 分支的代码。 10. t为int类型,进入下面的循环之前,t的值为0,则循环控制表达式的值为0。 while(t=1) { …… } 三、填空题(本大题共5小题,每题2分,共10分) 1. 若要使用 for 循环输出 1 到 100 中所有能被 3 和 5 同时整除的数,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______,if 条件判断应填 ______。 for(______; ______; ______) { if(______) { printf("%d ", i); } } 2. 以下嵌套 for 循环用于输出一个菱形的上半部分,横线处应填的代码是 ______。 int n; scanf("%d", &n); for(int i = 1; i <= n; i++) { for(int j = 1; j <= n - i; j++) { printf(" "); } for(int k = 1; k <= ______; k++) { printf("*"); } printf(" "); } 3. 以下 while 循环用于找出 1 到 20 中第一个能被 7 整除的数,横线处应填的代码是 ______。 int i = 1; while (i <= 20) { if (______) { printf("%d", i); break; } i++; } 4. 以下 do - while 循环用于计算一个整数的位数,横线处应填的代码是 ______。 int num, count = 0; scanf("%d", &num); do { num /= 10; count++; } while (______); 5.下列程序段的功能是,从键盘输入的字符中统计数字字符的个数,用换行符结束循环,则横线处应该填入的代码是 ____________ 。 int n=0,c; c=getchar(); while( ) {if(c>='0'&&c<='9') n++; c=getchar();} 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; do { i = 3; printf("%d ", i); break; } while (1); return 0; } 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= i; j++) { if (j == 2) { break; } printf("%d %d ", i, j); } } return 0; } 3.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 5; while (i > 0) { if (i == 2) { break; } printf("%d ", i); i--; } return 0; } 4.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) {int i; for(i=1;i<50;i++) if(i*i%10==i) printf("%3d",i); else if(i*i%100==i) printf("%3d",i); getch();} 5.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) {int i,j; for(i=0;i<=3;i++) {for(j=0;j<=5;j++) if(i==0||j==0||i==3||j==5) printf("*"); else printf(" "); printf(" ");} getch();} 五、编程题(本大题共5小题,每题5分,共25分) 1. 有36块砖,由36人搬;男人一次搬4块,女人一次搬3块,两个小孩抬一块,要求一次刚好搬完。编程求出男人、女人、小孩各多少。 2. 编写一个程序,使用嵌套 while 循环输出如下图案: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 3. 有一个分数序列:……,从第二项开始,每一项的分子为前一项的分子与分母之和,每一项的分母为前一项的分子,编程求这个数列的前n项之和。 4. 编写一个程序,使用 while 循环输入一组字符,直到输入 # 为止,并统计输入的字符个数(不包括 #)。 5. 编写一个程序,使用嵌套 while 循环输出如下图案: 1 2 3 4 5 6 7 8 9 10 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》(四)循环程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第13卷
1
《C语言程序设计》(四)循环程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第13卷
2
《C语言程序设计》(四)循环程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第13卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。