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

2025-09-03
| 2份
| 32页
| 153人阅读
| 0人下载

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第11卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第11卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下代码段的输出结果是( ) for (int i = 5; i > 0; i--) { if (i == 3) { continue; } printf("%d ", i); } A. 5 4 3 2 1 B. 5 4 2 1 C. 5 4 D. 无输出 答案:B 2.执行以下程序的输出结果是( ) main() {int y=10; while(y--); printf("y=%d ",y); getch();} A. y=0 B. y=-1 C. y=1 D. y=-2 答案:B 3.若要计算 1 到 10 的阶乘之和(即 1! + 2! + ... + 10!),以下代码正确的是( ) A. int sum = 0; for (int i = 1; i <= 10; i++) { int fact = 1; for (int j = 1; j <= i; j++) { fact *= j; } sum += fact; } B. int sum = 0; int fact = 1; for (int i = 1; i <= 10; i++) { fact *= i; sum += fact; } C. int sum = 0; for (int i = 1; i <= 10; i++) { int fact = 1; for (int j = 1; j <= 10; j++) { fact *= j; } sum += fact; } D. 以上都不正确 答案:A 4. 以下 while 循环的执行次数是( ) main() {int i,j; for (i=0,j=1; i<=j+1;i+=2,j--) printf("%d ",i); getch();} A. 0 次 B. 1 次 C. 2 次 D. 3 次 答案:B 5. 以下嵌套 while 循环用于输出一个直角三角形,横线处应填的代码是( ) int i = 1, j; while (i <= 5) { j = 1; while (j <= ______) { printf("*"); j++; } printf(" "); i++; } A. i B. 5 - i C. 5 D. i + 1 答案:A 6. 以下 while 循环用于输入一个正整数,直到输入的数大于 100 为止,横线处应填的代码是( ) int num; scanf("%d", &num); while (______) { scanf("%d", &num); } A. num > 100 B. num < 100 C. num >= 100 D. num <= 100 答案:B 7. 以下代码段的输出结果是( ) int i = 1; do { printf("%d ", i); i *= 2; } while (i < 10); A. 1 2 4 8 B. 1 2 4 8 16 C. 1 D. 无输出 答案:A 8. 执行以下程序时,输入数据:12<回车>,则输出结果是( ) main() {int num,c; scanf("%d",&num); do{c=num%10; printf("%d",c);} while((num/=10)>0); printf(" "); getch();} A. 3 B. 12 C. 21 D. 24 答案:C 9. 执行以下程序的输出结果是( ) main() { int a=0,i; for(i=1;i<5;i++) { switch(i) {case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; }} printf("%d ",a); getch();} A. 31 B. 13 C. 10 D. 20 答案:D 10.以下代码的输出结果是( ) #include <stdio.h> int main() { for (int i = 1; i <= 5; i++) { if (i == 3) continue; printf("%d ", i); } return 0; } A. 1 2 3 4 5 B. 1 2 4 5 C. 1 2 D. 3 答案:B 二、判断题(本大题共10小题,每小题2分,共20分) 1.在do……while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。。( ) 答案:正确 2.下列程序执行后的循环次数为2次。( ) main() {int k=2; while(k=0) k--; getch();} 答案:错误 3. 在 for 循环的初始化部分声明的变量,其作用域仅限于该 for 循环内部。( ) 答案:正确 4.执行以下程序的运行结果是:10,9,8。( ) main() {int n=10; while(n>7) {n--; printf("%d",n);} getch();} 答案:错误 5. 以下代码的输出结果是 0: int i = 0; while (i < 5) { if (i == 3) { continue; } i++; } printf("%d", i); 答案:错误 6. 执行以下程序段的输出结果为:963。( ) main() { int y=9; for(;y>0;y--) if(y%3==0) { printf("%d",--y); } getch();} 答案:错误 7. 以下嵌套 while 循环的内层循环体执行次数为 10 次:( ) int i = 0, j; while (i < 5) { j = 0; while (j < 2) { // 内层循环体 j++; } i++; } 答案:正确 8.执行下列程序后的输出结果是:37。 main() { int sum=10,n=1; while(n<3) {sum=sum-n; n++; } printf("%d,%d",n,sum); getch();} 答案:错误 9.执行下列程序后的输出结果是:123。 main() {int num=0; while(num<=2){ num++;printf("%d",num);} getch();} 答案:正确 10.执行以下程序时输入:1<回车>,其输出结果是12。( ) main() {int s=0,a=5,n; scanf("%d",&n); do{s+=1;a=a-2;} while(a!=n); printf("%d%d ",s,a); getch();} 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下 for 循环用于计算 1 到 50 之间所有奇数的和,横线处应填的代码是 ______。 int sum = 0; for(int i = 1; i <= 50; ______) { sum += i; } 答案:i += 2 2. 以下 for 循环用于找出 1 到 200 中所有能被 4 整除但不能被 100 整除的数并输出,横线处应填的代码是 ______。 for(int i = 1; i <= 200; i++) { if(______) { printf("%d ", i); } } 答案:i % 4 == 0 && i % 100 != 0 3.以下 while 循环用于计算 1 到 100 中所有能被 3 整除的数的和,横线处应填的代码是 ______。 int sum = 0, i = 1; while (i <= 100) { if (______) { sum += i; } i++; } 答案:i % 3 == 0 4. 以下嵌套 while 循环用于输出如下图案: * ** *** **** ***** 横线处应填的代码是 ______。 int i = 1, j, k; while (i <= 5) { j = 1; while (j <= 5 - i) { printf(" "); j++; } k = 1; while (k <= ______) { printf("*"); k++; } printf(" "); i++; } 答案:i 5.下列程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,横线处应该填入的代码是______。 main() {int a,max=0; scanf("%d",&a); while( ) {if(max<a) max=a; scanf("%d",&a);} printf("%d",max); getch();} 答案:a或a!=0 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 1; i <= 5; i++) { if (i == 3) { break; } printf("%d ", i); } return 0; } 答案:1 2 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 0; i < 3; i++) { switch (i) { case 1: printf("%d ", i); break; case 2: printf("%d ", i); continue; default: break; } printf("End "); } return 0; } 答案: 1 End 2 3.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> #define N 4 main() { int i; int x1=1,x2=2; for(i=1;i<=N;i++) { printf("%4d%4d",x1,x2); if(i%2==0) printf(" "); x1=x1+x2; x2=x2+x1; } getch();} 答案: 1 2 3 5 8 13 21 34 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { if (i + j > 4) { break; } printf("%d %d ", i, j); } } return 0; } 答案: 1 1 1 2 1 3 2 1 2 2 3 1 5.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> #define N 4 main( ) { int i,j; for(i=1;i<=N;i++) { for(j=1;j<i;j++) printf(" "); printf("*"); printf(" "); } getch();} 答案: * * * * 五、编程题(本大题共5小题,每题5分,共25分) 1. 编写一个程序,使用 for 循环计算 1 到 100 之间所有偶数的和。 #include <stdio.h> int main() { int sum = 0; for (int i = 2; i <= 100; i += 2) { sum += i; } printf("1 到 100 之间所有偶数的和为: %d ", sum); return 0; } 2. 一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,一共经过多少米,第10次反弹多高。 #include <stdio.h> #include <conio.h> main( ) {double sn=100,hn=sn/2; int n; for(n=2;n<=10;n++) {sn=sn+2*hn; hn=hn/2;} printf("第10次落地时共经过%f米。 ",sn); printf("第10次反弹%f米。 ",hn); getch();} 3. 编写一个程序,使用 do - while 循环判断一个整数是否是回文数(正读和反读都一样的数)。 #include <stdio.h> int main() { int num, originalNum, reversedNum = 0; printf("请输入一个整数: "); scanf("%d", &num); originalNum = num; do { reversedNum = reversedNum * 10 + num % 10; num /= 10; } while (num != 0); if (originalNum == reversedNum) { printf("%d 是回文数。 ", originalNum); } else { printf("%d 不是回文数。 ", originalNum); } return 0; } 4. 编写一个程序,使用嵌套 while 循环找出 1 到 100 之间所有的完数。 #include <stdio.h> int main() { int i = 1; while (i <= 100) { int sum = 0; int j = 1; while (j < i) { if (i % j == 0) { sum += j; } j++; } if (sum == i) { printf("%d 是完数。 ", i); } i++; } return 0; } 5. 编写程序,输出以下图案。 #include <stdio.h> #include <conio.h> main( ) {int i,j,k; for(i=0;i<=3;i++) {for(j=0;j<=2-i;j++) printf(" "); for(k=0;k<=2*i;k++) printf("*"); printf(" ");} for(i=0;i<=2;i++) {for(j=0;j<=i;j++) printf(" "); for(k=0;k<=4-2*i;k++) printf("*"); printf(" ");} getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第11卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第11卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下代码段的输出结果是( ) for (int i = 5; i > 0; i--) { if (i == 3) { continue; } printf("%d ", i); } A. 5 4 3 2 1 B. 5 4 2 1 C. 5 4 D. 无输出 2.执行以下程序的输出结果是( ) main() {int y=10; while(y--); printf("y=%d ",y); getch();} A. y=0 B. y=-1 C. y=1 D. y=-2 3.若要计算 1 到 10 的阶乘之和(即 1! + 2! + ... + 10!),以下代码正确的是( ) A. int sum = 0; for (int i = 1; i <= 10; i++) { int fact = 1; for (int j = 1; j <= i; j++) { fact *= j; } sum += fact; } B. int sum = 0; int fact = 1; for (int i = 1; i <= 10; i++) { fact *= i; sum += fact; } C. int sum = 0; for (int i = 1; i <= 10; i++) { int fact = 1; for (int j = 1; j <= 10; j++) { fact *= j; } sum += fact; } D. 以上都不正确 4. 以下 while 循环的执行次数是( ) main() {int i,j; for (i=0,j=1; i<=j+1;i+=2,j--) printf("%d ",i); getch();} A. 0 次 B. 1 次 C. 2 次 D. 3 次 5. 以下嵌套 while 循环用于输出一个直角三角形,横线处应填的代码是( ) int i = 1, j; while (i <= 5) { j = 1; while (j <= ______) { printf("*"); j++; } printf(" "); i++; } A. i B. 5 - i C. 5 D. i + 1 6. 以下 while 循环用于输入一个正整数,直到输入的数大于 100 为止,横线处应填的代码是( ) int num; scanf("%d", &num); while (______) { scanf("%d", &num); } A. num > 100 B. num < 100 C. num >= 100 D. num <= 100 7. 以下代码段的输出结果是( ) int i = 1; do { printf("%d ", i); i *= 2; } while (i < 10); A. 1 2 4 8 B. 1 2 4 8 16 C. 1 D. 无输出 8. 执行以下程序时,输入数据:12<回车>,则输出结果是( ) main() {int num,c; scanf("%d",&num); do{c=num%10; printf("%d",c);} while((num/=10)>0); printf(" "); getch();} A. 3 B. 12 C. 21 D. 24 9. 执行以下程序的输出结果是( ) main() { int a=0,i; for(i=1;i<5;i++) { switch(i) {case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; }} printf("%d ",a); getch();} A. 31 B. 13 C. 10 D. 20 10.以下代码的输出结果是( ) #include <stdio.h> int main() { for (int i = 1; i <= 5; i++) { if (i == 3) continue; 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.在do……while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。。( ) 2.下列程序执行后的循环次数为2次。( ) main() {int k=2; while(k=0) k--; getch();} 3. 在 for 循环的初始化部分声明的变量,其作用域仅限于该 for 循环内部。( ) 4.执行以下程序的运行结果是:10,9,8。( ) main() {int n=10; while(n>7) {n--; printf("%d",n);} getch();} 5. 以下代码的输出结果是 0: int i = 0; while (i < 5) { if (i == 3) { continue; } i++; } printf("%d", i); 6. 执行以下程序段的输出结果为:963。( ) main() { int y=9; for(;y>0;y--) if(y%3==0) { printf("%d",--y); } getch();} 7. 以下嵌套 while 循环的内层循环体执行次数为 10 次:( ) int i = 0, j; while (i < 5) { j = 0; while (j < 2) { // 内层循环体 j++; } i++; } 8.执行下列程序后的输出结果是:37。 main() { int sum=10,n=1; while(n<3) {sum=sum-n; n++; } printf("%d,%d",n,sum); getch();} 9.执行下列程序后的输出结果是:123。 main() {int num=0; while(num<=2){ num++;printf("%d",num);} getch();} 10.执行以下程序时输入:1<回车>,其输出结果是12。( ) main() {int s=0,a=5,n; scanf("%d",&n); do{s+=1;a=a-2;} while(a!=n); printf("%d%d ",s,a); getch();} 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下 for 循环用于计算 1 到 50 之间所有奇数的和,横线处应填的代码是 ______。 int sum = 0; for(int i = 1; i <= 50; ______) { sum += i; } 2. 以下 for 循环用于找出 1 到 200 中所有能被 4 整除但不能被 100 整除的数并输出,横线处应填的代码是 ______。 for(int i = 1; i <= 200; i++) { if(______) { printf("%d ", i); } } 3.以下 while 循环用于计算 1 到 100 中所有能被 3 整除的数的和,横线处应填的代码是 ______。 int sum = 0, i = 1; while (i <= 100) { if (______) { sum += i; } i++; } 4. 以下嵌套 while 循环用于输出如下图案: * ** *** **** ***** 横线处应填的代码是 ______。 int i = 1, j, k; while (i <= 5) { j = 1; while (j <= 5 - i) { printf(" "); j++; } k = 1; while (k <= ______) { printf("*"); k++; } printf(" "); i++; } 5.下列程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,横线处应该填入的代码是______。 main() {int a,max=0; scanf("%d",&a); while( ) {if(max<a) max=a; scanf("%d",&a);} printf("%d",max); getch();} 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 1; i <= 5; i++) { if (i == 3) { break; } printf("%d ", i); } return 0; } 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 0; i < 3; i++) { switch (i) { case 1: printf("%d ", i); break; case 2: printf("%d ", i); continue; default: break; } printf("End "); } return 0; } 3.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> #define N 4 main() { int i; int x1=1,x2=2; for(i=1;i<=N;i++) { printf("%4d%4d",x1,x2); if(i%2==0) printf(" "); x1=x1+x2; x2=x2+x1; } getch();} 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { if (i + j > 4) { break; } printf("%d %d ", i, j); } } return 0; } 5.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> #define N 4 main( ) { int i,j; for(i=1;i<=N;i++) { for(j=1;j<i;j++) printf(" "); printf("*"); printf(" "); } getch();} 五、编程题(本大题共5小题,每题5分,共25分) 1. 编写一个程序,使用 for 循环计算 1 到 100 之间所有偶数的和。 2. 一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,一共经过多少米,第10次反弹多高。 3. 编写一个程序,使用 do - while 循环判断一个整数是否是回文数(正读和反读都一样的数)。 4. 编写一个程序,使用嵌套 while 循环找出 1 到 100 之间所有的完数。 5. 编写程序,输出以下图案。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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