《C语言》循环结构程序设计-知识点训练卷 2026版江苏省《计算机类专业考纲百套卷》 第19卷

2025-10-17
| 2份
| 31页
| 90人阅读
| 1人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 循环结构
使用场景 中职复习
学年 2025-2026
地区(省份) 江苏省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 261 KB
发布时间 2025-10-17
更新时间 2025-10-17
作者 糖醋排骨009
品牌系列 学易金卷·考纲百套卷
审核时间 2025-10-17
下载链接 https://m.zxxk.com/soft/54417717.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。 本试卷是2026版江苏省《计算机类专业考纲百套卷》的第19卷,是知识点训练卷。按“C语言”考试纲要七、循环结构程序设计部分内容编写,具体知识点内容如下: 七、循环结构程序设计 1.掌握for 循环结构; 2.理解while和do while循环结构; 3.掌握continue语句、break语句; 4.理解循环的嵌套; 5.掌握程序设计中的几种常用算法的基本思想(常用算法为:排序,查找,穷举。排序主要为插入排序法,选择排序法,冒泡排序法。查找主要为顺序查找和对半查找)。 2026版江苏省《计算机类专业考纲百套卷》第19卷 《 C语言 》 循环结构程序设计 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、程序分析题。(每空2分,合计29空,共58分) 1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。 (1)#include<stdio.h> (2)void main( ) (3){ (4) int sum=0,k,i; (5) printf("请输入k:"); (6) scanf("%d",&k); (7) for(i=1;i<=k;i++) (8) sum=sum+i*i; (9) printf("sum=%d ",sum); (10) } 上述程序执行后所实现的功能是_______①_______;在该程序中的第______②_____行使用循环结构______③_____(用英文填写);执行该程序时从键盘上输入:5<回车>后,程序的输出结果是________④________。 2. 下列程序的功能是:输入两个正整数,使用辗转相除法循环实现求它们的最大公约数(GCD)和最小公倍数(LCM)。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { int a, b, gcd, lcm, temp,original_a,original_b; printf("输入两个正整数:"); __________________; original_a = a; original_b = b; while (___________) { temp =__________; a = b; b = temp; } gcd = a; lcm =_____________; printf("最大公约数:%d ", gcd); printf("最小公倍数:%d ", lcm); } 3. 下列程序的功能是:输入一个正整数 n,打印 n 行数字金字塔。例如 n=5 时,输出如下图所示。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { int n,i,j,m,k; printf("输入行数n:"); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1;______①_____; j++) { printf(" "); } for (k = 1; k <=____②____; k++) { ______③_______; } for (m =____④___; m >= 1; m--) { printf("%d", m); } printf(" "); } } 4. 下列程序的功能是:寻找 100000 以内的超级阿姆斯特朗数,超级阿姆斯特朗数是指一个 n 位数,其各位数字的 n 次方和等于该数本身(n≥3),例如 1634=1⁴+6⁴+3⁴+4⁴。用最少循环次数找出所有符合条件的数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> #include <math.h> int main() { int num,temp, digits, sum,d; for (num = 100; num <= 100000; num++) { temp = num; digits = 0; sum = 0; while (temp > 0) { digits++; _______①______; } temp = num; while (temp > 0) { d =_______②______; sum +=(int)pow(d, digits); // 利用数学函数减少循环嵌套 if (sum > num)______③______; // 提前退出优化 temp /= 10; } if (_______④_____) printf("%d ", num); } } 5. 下列程序的功能是:用循环嵌套打印 n 阶谢尔宾斯基三角形(n=3),图形由星号组成,每阶将中间三角形挖空,呈现自相似结构,如下图所示。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> #include <math.h> #define size (_____①____) int main() { int x,y,i; for(y=size-1;____②____;y- -) { putchar(' '); for(i=0;i<y;i++) _______③______; for(x=0;x+y<size;x++) printf(_______④______); } } 6. 下列程序的功能是从键盘输入k的值及k个整数,统计其中正数、零和负数的个数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include<stdio.h> void main( ) { int a=0,b=0,c=0,k,num,i; printf("请输入k:"); scanf("%d",&k); for(i=1;____①____;i++) { printf("请输入第%d个数:",i); _______②_______; if(num>0) a++; else if(_______③______) b++; else c++; } printf("正数:%d个,零:%d个,负数:%d个 ",a,b,c); } 7. 下列程序的功能是:求 。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include<stdio.h> void main( ) { int i,sign=1; double sum=______①______; for(i=1;i<=100;i++) { sum=_______②________; sign=______③_______; } printf("%lf ",sum); } 8.对于任意正整数 n,若 n 为偶数则除以 2,若为奇数则乘 3 加 1,重复操作最终总会得到 1。下列程序的功能是验证该猜想,输入 n 并输出每一步的计算过程。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { long n; printf("输入正整数n:"); scanf("%ld", &n); printf("过程:"); while (______①______) { printf("%ld ", n); if (_____②_____) { n /= 2; } else { ________③______; } } printf("1 验证完成:最终得到1 "); } 三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分) 1. 执行以下程序的运行结果是______________________。 #include<stdio.h> void main( ) { int i; for(i=1;i<=200;i++) { if((i%3==0)&&(i%10==6)) printf("%d ",i); } } 2. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i = 1, j = 1, s = 0; while (i <= 3) { do { s += i * j; j++; } while (j <= i); i++; j = 1; } printf("%d", s); } 3. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int a = 0, b = 0, k; for (k = 1; k <= 4; k++) { if (k % 2 == 0) { a += k; continue; } b += k; } printf("%d %d", a, b); } 4. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int x = 5, y = 0; while (x > 0) { x--; y++; if (x == 3) { x = 0; y--; } } printf("%d %d", x, y); } 5. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 0, n; for (n = 1; n <= 5; n++) { switch (n % 3) { case 0: m++; break; case 1: m += 2; break; default: m -= 1; } } printf("%d", m); } 6. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, t = 0; for (i = 1; i <= 4; i++) { for (j = i; j <= 4; j++) { t += i; } } printf("%d", t); } 7. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, sum = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { if (i == j) sum += 2; else sum += 1; } } printf("%d", sum); } 8. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 5, n = 0; for (; m > 0; m--) { n += m % 2; } printf("%d", n); } 9. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i = 0, j = 0, s = 0; while (i < 12) { i++; while (j < 13) { s += i + j; j++; if (s > 3) break; } } printf("%d", s); } 10. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, total = 0; for (i = 1; i <= 2; i++) { for (j = i; j > 0; j--) { total += i / j; } } printf("%d", total); } 11. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 3, n = 3, res = 0; for (; m > 0; m--) { for (; n > 0; n--) { res += m * n; if (res > 5) break; } } printf("%d", res); } 12. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j; for(i = 1; i <= 4; i++) { for(j = 1; j <= 5; j++) { printf("%d",(i*j)%4); } printf(" "); } } 13. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int a = 10, b = 5; int i; for(i = 1; i <= 3; i++) { if(i % 2 == 0) { a = a + b; b = a - b; } else { a = a - b; b = b + i; } printf("i=%d: a=%d,b=%d ", i, a, b); } } 14. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int num = 0; int i, j; for(i = 1; i <= 4; i++) { for(j = 1; j <= 3; j++) { switch((i + j) % 3) { case 0: num += 5; break; case 1: num -= 2; break; case 2: num *= 2; break; } printf("%d ", num); } } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。 本试卷是2026版江苏省《计算机类专业考纲百套卷》的第19卷,是知识点训练卷。按“C语言”考试纲要七、循环结构程序设计部分内容编写,具体知识点内容如下: 七、循环结构程序设计 1.掌握for 循环结构; 2.理解while和do while循环结构; 3.掌握continue语句、break语句; 4.理解循环的嵌套; 5.掌握程序设计中的几种常用算法的基本思想(常用算法为:排序,查找,穷举。排序主要为插入排序法,选择排序法,冒泡排序法。查找主要为顺序查找和对半查找)。 2026版江苏省《计算机类专业考纲百套卷》第19卷 《 C语言 》 循环结构程序设计 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、程序分析题。(每空2分,合计29空,共58分) 1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。 (1)#include<stdio.h> (2)void main( ) (3){ (4) int sum=0,k,i; (5) printf("请输入k:"); (6) scanf("%d",&k); (7) for(i=1;i<=k;i++) (8) sum=sum+i*i; (9) printf("sum=%d ",sum); (10) } 上述程序执行后所实现的功能是_______①_______;在该程序中的第______②_____行使用循环结构______③_____(用英文填写);执行该程序时从键盘上输入:5<回车>后,程序的输出结果是________④________。 【答案】①从键盘输入k,求 ②7 ③for ④sum=55 2. 下列程序的功能是:输入两个正整数,使用辗转相除法循环实现求它们的最大公约数(GCD)和最小公倍数(LCM)。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { int a, b, gcd, lcm, temp,original_a,original_b; printf("输入两个正整数:"); __________________; original_a = a; original_b = b; while (___________) { temp =__________; a = b; b = temp; } gcd = a; lcm =_____________; printf("最大公约数:%d ", gcd); printf("最小公倍数:%d ", lcm); } 【答案】①scanf("%d %d", &a, &b) ②b != 0 ③a % b ④(original_a * original_b) / gcd 3. 下列程序的功能是:输入一个正整数 n,打印 n 行数字金字塔。例如 n=5 时,输出如下图所示。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { int n,i,j,m,k; printf("输入行数n:"); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1;______①_____; j++) { printf(" "); } for (k = 1; k <=____②____; k++) { ______③_______; } for (m =____④___; m >= 1; m--) { printf("%d", m); } printf(" "); } } 【答案】①j <= n – i ②i ③printf("%d", k) ④i - 1 4. 下列程序的功能是:寻找 100000 以内的超级阿姆斯特朗数,超级阿姆斯特朗数是指一个 n 位数,其各位数字的 n 次方和等于该数本身(n≥3),例如 1634=1⁴+6⁴+3⁴+4⁴。用最少循环次数找出所有符合条件的数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> #include <math.h> int main() { int num,temp, digits, sum,d; for (num = 100; num <= 100000; num++) { temp = num; digits = 0; sum = 0; while (temp > 0) { digits++; _______①______; } temp = num; while (temp > 0) { d =_______②______; sum +=(int)pow(d, digits); // 利用数学函数减少循环嵌套 if (sum > num)______③______; // 提前退出优化 temp /= 10; } if (_______④_____) printf("%d ", num); } } 【答案】①temp /= 10 ②temp % 10 ③break ④sum == num 5. 下列程序的功能是:用循环嵌套打印 n 阶谢尔宾斯基三角形(n=3),图形由星号组成,每阶将中间三角形挖空,呈现自相似结构,如下图所示。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> #include <math.h> #define size (_____①____) int main() { int x,y,i; for(y=size-1;____②____;y- -) { putchar(' '); for(i=0;i<y;i++) _______③______; for(x=0;x+y<size;x++) printf(_______④______); } } 【答案】①1<<3 ②y>=0 ③putchar(' ') ④(x&y)?" ":"* " 6. 下列程序的功能是从键盘输入k的值及k个整数,统计其中正数、零和负数的个数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include<stdio.h> void main( ) { int a=0,b=0,c=0,k,num,i; printf("请输入k:"); scanf("%d",&k); for(i=1;____①____;i++) { printf("请输入第%d个数:",i); _______②_______; if(num>0) a++; else if(_______③______) b++; else c++; } printf("正数:%d个,零:%d个,负数:%d个 ",a,b,c); } 【答案】①i<=k ②scanf("%d",&num) ③num==0 7. 下列程序的功能是:求 。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include<stdio.h> void main( ) { int i,sign=1; double sum=______①______; for(i=1;i<=100;i++) { sum=_______②________; sign=______③_______; } printf("%lf ",sum); } 【答案】①0 ②sum+sign*1.0/i ③-sign或-1*sign 8.对于任意正整数 n,若 n 为偶数则除以 2,若为奇数则乘 3 加 1,重复操作最终总会得到 1。下列程序的功能是验证该猜想,输入 n 并输出每一步的计算过程。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。 #include <stdio.h> int main() { long n; printf("输入正整数n:"); scanf("%ld", &n); printf("过程:"); while (______①______) { printf("%ld ", n); if (_____②_____) { n /= 2; } else { ________③______; } } printf("1 验证完成:最终得到1 "); } 【答案】①n != 1 ②n % 2 == 0 ③n = 3 * n + 1 三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分) 1. 执行以下程序的运行结果是______________________。 #include<stdio.h> void main( ) { int i; for(i=1;i<=200;i++) { if((i%3==0)&&(i%10==6)) printf("%d ",i); } } 【答案】6 36 66 96 126 156 186 2. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i = 1, j = 1, s = 0; while (i <= 3) { do { s += i * j; j++; } while (j <= i); i++; j = 1; } printf("%d", s); } 【答案】25 3. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int a = 0, b = 0, k; for (k = 1; k <= 4; k++) { if (k % 2 == 0) { a += k; continue; } b += k; } printf("%d %d", a, b); } 【答案】6 4 4. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int x = 5, y = 0; while (x > 0) { x--; y++; if (x == 3) { x = 0; y--; } } printf("%d %d", x, y); } 【答案】0 1 5. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 0, n; for (n = 1; n <= 5; n++) { switch (n % 3) { case 0: m++; break; case 1: m += 2; break; default: m -= 1; } } printf("%d", m); } 【答案】3 6. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, t = 0; for (i = 1; i <= 4; i++) { for (j = i; j <= 4; j++) { t += i; } } printf("%d", t); } 【答案】20 7. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, sum = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { if (i == j) sum += 2; else sum += 1; } } printf("%d", sum); } 【答案】8 8. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 5, n = 0; for (; m > 0; m--) { n += m % 2; } printf("%d", n); } 【答案】3 9. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i = 0, j = 0, s = 0; while (i < 12) { i++; while (j < 13) { s += i + j; j++; if (s > 3) break; } } printf("%d", s); } 【答案】146 10. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j, total = 0; for (i = 1; i <= 2; i++) { for (j = i; j > 0; j--) { total += i / j; } } printf("%d", total); } 【答案】4 11. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int m = 3, n = 3, res = 0; for (; m > 0; m--) { for (; n > 0; n--) { res += m * n; if (res > 5) break; } } printf("%d", res); } 【答案】18 12. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int i, j; for(i = 1; i <= 4; i++) { for(j = 1; j <= 5; j++) { printf("%d",(i*j)%4); } printf(" "); } } 【答案】 12301 20202 32103 00000 13. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int a = 10, b = 5; int i; for(i = 1; i <= 3; i++) { if(i % 2 == 0) { a = a + b; b = a - b; } else { a = a - b; b = b + i; } printf("i=%d: a=%d,b=%d ", i, a, b); } } 【答案】 i=1: a=5,b=6 i=2: a=11,b=5 i=3: a=6,b=8 14. 执行以下程序的运行结果是______________________。 #include <stdio.h> int main() { int num = 0; int i, j; for(i = 1; i <= 4; i++) { for(j = 1; j <= 3; j++) { switch((i + j) % 3) { case 0: num += 5; break; case 1: num -= 2; break; case 2: num *= 2; break; } printf("%d ", num); } } } 【答案】0 5 3 8 6 12 10 20 25 50 55 53 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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