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

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

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第14卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第14卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.若要实现 1 到 100 的整数求和,以下 for 循环正确的是( ) A. int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } B. int sum = 0; for (int i = 1; i < 100; i++) { sum += i; } C. int sum = 0; for (int i = 0; i <= 100; i++) { sum += i; } D. int sum = 0; for (int i = 0; i < 100; i++) { sum += i; } 答案:A 2.以下代码段的输出结果是( ) for (int i = 0; i < 5; i++) { if (i == 3) { break; } printf("%d ", i); } A. 0 1 2 3 B. 0 1 2 C. 0 1 2 3 4 D. 无输出 答案:B 3.执行以下程序的输出结果是( ) main( ) { int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) {a+=5; continue;} a-=3;} printf("%d ",b); getch();} A. 3 B. 4 C. 5 D. 6 答案:B 4. 以下代码段的输出结果是( ) int i = 0; do { if (i % 2 == 0) { printf("%d ", i); } i++; } while (i < 5); A. 0 2 4 B. 0 1 2 3 4 C. 1 3 D. 无输出 答案:A 5. 以下代码段的输出结果是( ) int i = 5; while (i > 0) { if (i == 3) { i--; continue; } printf("%d ", i); i--; } A. 5 4 3 2 1 B. 5 4 2 1 C. 5 4 D. 无输出 答案:B 6. 以下代码段的输出结果是( ) int i = 0; while (i < 5) { if (i % 2 == 1) { i++; continue; } printf("%d ", i); i++; } A. 0 2 4 B. 1 3 C. 0 1 2 3 4 D. 无输出 答案:A 7. 以下 do-while 循环用于将一个整数逆序输出,横线处应填的代码是( ) int num, digit; scanf("%d", &num); do { digit = num % 10; printf("%d", digit); num /= 10; } while (______); A. num > 0 B. num >= 0 C. num != 0 D. num < 0 答案:C 8. 执行以下程序的输出结果是( ) main( ) {int i,j,m=0,n=0; for(i=0;i<4;i++) for(j=0;j<3;j++) if(j>=i) m=1; n++; printf("%d ",n); getch();} A. 1 B. 2 C. 3 D. 4 答案:A 9. 以下 while 循环代码的输出结果是( ) int x = 10; while (x > 7) { if (x % 2 == 0) { x -= 2; continue; } printf("%d ", x); x--; } A. 10 B. 10 9 C. 9 D. 无输出 答案:C 10.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( ) A. while((ch=getchar())!='N' printf("%c",ch) ; B. while(ch=getchar()!='N' printf("%c",ch) ; C. while(ch=getchar())=='N' printf("%c",ch); D. while((ch=getchar())=='N' printf("%c",ch); 答案:A 二、判断题(本大题共10小题,每小题2分,共20分) 1.下列程序中的while循环一次也未执行。( ) int k=10; while(k=0) k=k-1; 答案:错误 2.执行下列程序段后,k的值为35。( ) k=1;n=263; do{ k*=n%10; n/=10;}while(n); 答案:错误 3. 下列程序段中的do……while循环体执行次数是3。( ) a=10; b=0; do{ b+=2; a-=2+b;}while(a>=0); 答案:正确 4. 以下代码中,while 循环是无限循环: int i = 1; while (i = 1) { // 循环体 i++; } 答案:正确 5. 下列程序段中do……while循环体的输出结果是:***。( ) x=2; do { printf ("* "); x--;} while(!x==0); 答案:错误 6. 执行以下程序段后,a的值为-4。( ) i=1; a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); 答案:错误 7. 在嵌套的 while 循环中,内层循环的执行次数只与内层循环的条件有关,与外层循环无关。 答案:错误 8.在 for 循环中,break 语句执行后,循环会立即终止,程序将继续执行循环后面的语句。 答案:正确 9.下列程序段中的while循环没有构成死循环。( ) int i=6; while(i);--i; 答案:错误 10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下代码用于输出一个由数字组成的直角三角形,横线处应填的代码是 ______。 for(int i = 1; i <= 5; i++) { for(int j = 1; j <= ______; j++) { printf("%d ", j); } printf(" "); } 答案:i 2. 若要使用 for 循环输出 10 个连续的字符 @,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______。 for(______; ______; ______) { printf("@"); } 答案:int i = 0;i < 10;i++ 3. 以下嵌套 while 循环用于输出一个直角三角形图案,横线处应填的代码是 ______。 main( ) {int n,m=0; scanf("%d",&n); for( ;n!=0;) { ; n/=10;} printf("%d",m); getch();} 答案:m+=n%10或m=m+n%10 4. 以下程序段的功能是计算一个整数的各位数字之和,则横线处应该填入的代码是 ______。 int i = 0, j; while (i < 4) { j = 0; while (j < i + 1) { // 内层循环体 j++; } i++; } 答案:10 5.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,则程序中横线处应该填入的代码是____________ 。 main( ) {int i=0,j,k; do{i++; k=316-13*i; }while( ); j=k/11; printf("316=13*%d+11*%d",i,j); getch();} 答案:k%11 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) { int i=0,x=0,y=0; do { ++i; if (i%2!=0) {x=x+i++;i++;} y=y+i++; } while (i<=7); printf("x=%d,y=%d ",x,y); getch();} 答案:x=6,y=10 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (1) { if (i == 3) { i++; continue; } if (i == 5) { break; } printf("%d ", i); i++; } return 0; } 答案:0 1 2 4 3.执行以下程序时,从键盘输入:1 2 3 4 5 -1<回车>,则该程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) { int k=0,n; do { scanf("%d",&n);k+=n; }while (n!=-1); printf("k=%d n=%d ",k,n); getch();} 答案:k=14 n=-1 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 1; do { if (i % 3 == 0) { i++; continue; } if (i == 5) { break; } printf("%d ", i); i++; } while (1); return 0; } 答案:1 2 4 5.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 6) { if (i % 3 == 0) { if (i == 3) { i++; continue; } i += 2; if (i == 4) { break; } continue; } printf("%d ", i); i++; } return 0; } 答案:1 2 五、编程题(本大题共5小题,每题5分,共25分) 1. 任何一个自然数n的立方均可写成n个连续奇数之和。例如: 13=1 23=3+5 33=7+9+11 43=13+15+17+19 #include <stdio.h> #include <conio.h> main( ) {int n,i,m; printf("输入一个数: "); scanf("%d",&n); m=(n*n-n)/2; printf("%d 的立方=",n); for(i=1;i<2*n-1;i=i+2) printf("%d+",2*m+i); printf("%d ",2*m+i); getch();} 2. 编写一个程序,使用 for 循环计算 5 的阶乘。 #include <stdio.h> int main() { int factorial = 1; for (int i = 1; i <= 5; i++) { factorial *= i; } printf("5 的阶乘为: %d ", factorial); return 0; } 3. 编写一个程序,使用 while 循环计算斐波那契数列的前 10 项。 #include <stdio.h> int main() { int a = 0, b = 1, c; int count = 0; while (count < 10) { printf("%d ", a); c = a + b; a = b; b = c; count++; } printf(" "); return 0; } 4. 编写一个程序,使用 do - while 循环找出用户输入的一组整数中的最大值。 #include <stdio.h> int main() { int num, max; int first = 1; do { printf("请输入一个整数(输入 0 结束): "); scanf("%d", &num); if (first) { max = num; first = 0; } else if (num != 0 && num > max) { max = num; } } while (num != 0); if (!first) { printf("输入的整数中的最大值为: %d ", max); } else { printf("没有输入有效整数。 "); } return 0; } 5. 编写程序,实现计算3到m之间所有素数的平方根之和,并输出。 #include <stdio.h> #include <conio.h> #include<math.h> main( ) {int n,k,i,m; double sum=0.0; printf("请输入m:"); scanf("%d",&m); for(n=3;n<=m;n++) {k=sqrt((double)n); for(i=2;i<=k;i++) if(n%i==0) break; if(i>k) //是素数 sum=sum+sqrt((double)n); } printf("sum=%lf ",sum); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第14卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第14卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.若要实现 1 到 100 的整数求和,以下 for 循环正确的是( ) A. int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } B. int sum = 0; for (int i = 1; i < 100; i++) { sum += i; } C. int sum = 0; for (int i = 0; i <= 100; i++) { sum += i; } D. int sum = 0; for (int i = 0; i < 100; i++) { sum += i; } 2.以下代码段的输出结果是( ) for (int i = 0; i < 5; i++) { if (i == 3) { break; } printf("%d ", i); } A. 0 1 2 3 B. 0 1 2 C. 0 1 2 3 4 D. 无输出 3.执行以下程序的输出结果是( ) main( ) { int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) {a+=5; continue;} a-=3;} printf("%d ",b); getch();} A. 3 B. 4 C. 5 D. 6 4. 以下代码段的输出结果是( ) int i = 0; do { if (i % 2 == 0) { printf("%d ", i); } i++; } while (i < 5); A. 0 2 4 B. 0 1 2 3 4 C. 1 3 D. 无输出 5. 以下代码段的输出结果是( ) int i = 5; while (i > 0) { if (i == 3) { i--; continue; } printf("%d ", i); i--; } A. 5 4 3 2 1 B. 5 4 2 1 C. 5 4 D. 无输出 6. 以下代码段的输出结果是( ) int i = 0; while (i < 5) { if (i % 2 == 1) { i++; continue; } printf("%d ", i); i++; } A. 0 2 4 B. 1 3 C. 0 1 2 3 4 D. 无输出 7. 以下 do-while 循环用于将一个整数逆序输出,横线处应填的代码是( ) int num, digit; scanf("%d", &num); do { digit = num % 10; printf("%d", digit); num /= 10; } while (______); A. num > 0 B. num >= 0 C. num != 0 D. num < 0 8. 执行以下程序的输出结果是( ) main( ) {int i,j,m=0,n=0; for(i=0;i<4;i++) for(j=0;j<3;j++) if(j>=i) m=1; n++; printf("%d ",n); getch();} A. 1 B. 2 C. 3 D. 4 9. 以下 while 循环代码的输出结果是( ) int x = 10; while (x > 7) { if (x % 2 == 0) { x -= 2; continue; } printf("%d ", x); x--; } A. 10 B. 10 9 C. 9 D. 无输出 10.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( ) A. while((ch=getchar())!='N' printf("%c",ch) ; B. while(ch=getchar()!='N' printf("%c",ch) ; C. while(ch=getchar())=='N' printf("%c",ch); D. while((ch=getchar())=='N' printf("%c",ch); 二、判断题(本大题共10小题,每小题2分,共20分) 1.下列程序中的while循环一次也未执行。( ) int k=10; while(k=0) k=k-1; 2.执行下列程序段后,k的值为35。( ) k=1;n=263; do{ k*=n%10; n/=10;}while(n); 3. 下列程序段中的do……while循环体执行次数是3。( ) a=10; b=0; do{ b+=2; a-=2+b;}while(a>=0); 4. 以下代码中,while 循环是无限循环: int i = 1; while (i = 1) { // 循环体 i++; } 5. 下列程序段中do……while循环体的输出结果是:***。( ) x=2; do { printf ("* "); x--;} while(!x==0); 6. 执行以下程序段后,a的值为-4。( ) i=1; a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); 7. 在嵌套的 while 循环中,内层循环的执行次数只与内层循环的条件有关,与外层循环无关。 8.在 for 循环中,break 语句执行后,循环会立即终止,程序将继续执行循环后面的语句。 9.下列程序段中的while循环没有构成死循环。( ) int i=6; while(i);--i; 10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下代码用于输出一个由数字组成的直角三角形,横线处应填的代码是 ______。 for(int i = 1; i <= 5; i++) { for(int j = 1; j <= ______; j++) { printf("%d ", j); } printf(" "); } 2. 若要使用 for 循环输出 10 个连续的字符 @,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______。 for(______; ______; ______) { printf("@"); } 3. 以下嵌套 while 循环用于输出一个直角三角形图案,横线处应填的代码是 ______。 main( ) {int n,m=0; scanf("%d",&n); for( ;n!=0;) { ; n/=10;} printf("%d",m); getch();} 4. 以下程序段的功能是计算一个整数的各位数字之和,则横线处应该填入的代码是 ______。 int i = 0, j; while (i < 4) { j = 0; while (j < i + 1) { // 内层循环体 j++; } i++; } 5.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,则程序中横线处应该填入的代码是____________ 。 main( ) {int i=0,j,k; do{i++; k=316-13*i; }while( ); j=k/11; printf("316=13*%d+11*%d",i,j); getch();} 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) { int i=0,x=0,y=0; do { ++i; if (i%2!=0) {x=x+i++;i++;} y=y+i++; } while (i<=7); printf("x=%d,y=%d ",x,y); getch();} 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (1) { if (i == 3) { i++; continue; } if (i == 5) { break; } printf("%d ", i); i++; } return 0; } 3.执行以下程序时,从键盘输入:1 2 3 4 5 -1<回车>,则该程序的运行结果是______。 #include <stdio.h> #include <conio.h> main( ) { int k=0,n; do { scanf("%d",&n);k+=n; }while (n!=-1); printf("k=%d n=%d ",k,n); getch();} 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 1; do { if (i % 3 == 0) { i++; continue; } if (i == 5) { break; } printf("%d ", i); i++; } while (1); return 0; } 5.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 6) { if (i % 3 == 0) { if (i == 3) { i++; continue; } i += 2; if (i == 4) { break; } continue; } printf("%d ", i); i++; } return 0; } 五、编程题(本大题共5小题,每题5分,共25分) 1. 任何一个自然数n的立方均可写成n个连续奇数之和。例如: 13=1 23=3+5 33=7+9+11 43=13+15+17+19 2. 编写一个程序,使用 for 循环计算 5 的阶乘。 3. 编写一个程序,使用 while 循环计算斐波那契数列的前 10 项。 4. 编写一个程序,使用 do - while 循环找出用户输入的一组整数中的最大值。 5. 编写程序,实现计算3到m之间所有素数的平方根之和,并输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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