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

2025-02-24
| 2份
| 36页
| 107人阅读
| 1人下载

资源信息

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

内容正文:

编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第12卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 吉林省《信息工程类(电子与信息类)考纲百套卷》 第12卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下 for 循环的执行次数是( ) for (int i = 10; i > 0; i -= 2) { // 循环体 } A. 5 次 B. 6 次 C. 10 次 D. 无限次 2.以下代码段的输出结果是( ) c for (int i = 1; i <= 5; i++) { for (int j = 5; j >= i; j--) { printf(" "); } for (int k = 1; k <= i; k++) { printf("*"); } printf(" "); } A. * ** *** **** ***** B. ***** **** *** ** * C. * ** *** **** ***** D. ***** **** *** ** * 3. 以下代码实现了计算从 1 到 n 中所有能被 3 或 5 整除的数的和,横线处应填入的代码是( ) int n, sum = 0; scanf("%d", &n); for(int i = 1; i <= n; i++) { if(______) { sum += i; } } printf("%d ", sum); A. i % 3 == 0 && i % 5 == 0 B. i % 3 == 0 || i % 5 == 0 C. i % 3 != 0 && i % 5 != 0 D. i % 3 != 0 || i % 5 != 0 4. 以下 do-while 循环的执行次数是( ) int i = 3; do { i--; } while (i > 0); A. 0 次 B. 1 次 C. 2 次 D. 3 次 5. 若要实现 1 到 100 的整数求和,以下 while 循环正确的是( ) A. int sum = 0, i = 1; while (i <= 100) { sum += i; i++; } B. int sum = 0, i = 1; while (i < 100) { sum += i; i++; } C. int sum = 0, i = 0; while (i <= 100) { sum += i; i++; } D. int sum = 0, i = 0; while (i < 100) { sum += i; i++; } 6. 以下 do-while 循环中,循环体执行的次数是( ) int i = 10; do { i -= 3; } while (i > 0); A. 2 次 B. 3 次 C. 4 次 D. 5 次 7. 以下嵌套 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++; } A. 2 * i - 1 B. 2 * (5 - i) - 1 C. 2 * i + 1 D. 2 * (5 - i) + 1 8. 要使用 while 循环计算 1 + 3 + 5 + ... + 99 的和,以下代码正确的是( ) A. int sum = 0, i = 1; while (i < 100) { sum += i; i += 2; } B. int sum = 0, i = 1; while (i <= 100) { sum += i; i++; } C. int sum = 0, i = 0; while (i < 100) { sum += i; i += 2; } D. int sum = 0, i = 0; while (i <= 100) { sum += i; i++; } 9.continue 语句在循环中的作用是( ) A. 终止整个循环 B. 终止当前所在的最内层循环或 switch 语句 C. 跳过当前循环的剩余部分,直接进入下一次循环 D. 跳出 switch 语句 10.以下代码的输出结果是( ) #include <stdio.h> int main() { for (int i = 1; i <= 5; i++) { if (i % 2 == 0) continue; printf("%d ", i); } return 0; } A. 1 2 3 4 5 B. 1 3 5 C. 2 4 D. 1 2 4 二、判断题(本大题共10小题,每小题2分,共20分) 1.在嵌套 for 循环中,内层循环会在外层循环的每次迭代中完整执行。( ) 2.可以在 for 循环的迭代部分使用 break 语句。( ) 3. 当 for 循环的迭代部分包含多个语句时,必须用花括号将这些语句括起来。( ) 4.do - while 循环至少会执行一次循环体,无论循环条件是否为真。 5. 嵌套的 do - while 循环中,内层 do - while 循环结束后,会继续执行外层 do - while 循环的循环体剩余部分。 6. 在 do - while 循环中使用 continue 语句,会直接结束整个 do - while 循环。 7. 以下 do - while 循环用于判断一个数是否为正数,若输入 -5,循环体会执行一次: int num; scanf("%d", &num); do { if (num > 0) { printf("是正数 "); } else { printf("不是正数 "); } } while (num > 0); 8.continue 语句在 switch 语句中也能使用。 9.在多层嵌套循环中,break 语句只能终止最内层的循环。 10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下嵌套 for 循环用于输出一个下三角矩阵的元素(矩阵元素初始化为 1 到 n * n),横线处应填的代码是 ______。 int n; scanf("%d", &n); int matrix[n][n]; int count = 1; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { matrix[i][j] = count++; } } for(int i = 0; i < n; i++) { for(int j = 0; j <= ______; j++) { printf("%d ", matrix[i][j]); } printf(" "); } 2. 以下代码用于计算 3 的 1 到 8 次幂的和,横线处应填的代码是 ______。 int sum = 0; for(int i = 1; i <= 8; i++) { int power = 1; for(int j = 1; j <= i; j++) { power *= ______; } sum += power; } 3. 以下代码用于输出一个数字金字塔,横线处应填入的代码是______ 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 <= 2 * i - 1; k++) { printf("%d", ______); } printf(" "); } 4. 以下 while 循环用于计算斐波那契数列的前 10 项,横线处应填的代码是 ______。 int a = 0, b = 1, c, i = 0; while (i < 10) { printf("%d ", a); c = a + b; a = b; b = ______; i++; } 5.continue 关键字用于______当前循环体中剩余的语句,直接进入下一次循环的判断。 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 5) { if (i == 2) { i++; continue; } printf("%d ", i); i++; } return 0; } 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 1; do { if (i == 4) { break; } printf("%d ", i); i++; } while (i <= 5); return 0; } 3.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 2; i++) { for (j = 1; j <= 3; j++) { if (i == 1 && j == 2) { continue; } printf("%d %d ", i, j); } } return 0; } 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 5) { if (i % 2 == 0) { i++; continue; } printf("%d ", i); i++; } return 0; } 5.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 1; i <= 5; i++) { if (i < 3) { continue; } if (i == 4) { break; } printf("%d ", i); } return 0; } 五、编程题(本大题共5小题,每题5分,共25分) 1. 编写一个程序,使用 while 循环输出 1 到 20 之间所有能被 5 整除的数。 2. 编写一个程序,使用 do - while 循环计算一个整数的各位数字之和。 3. 编写一个程序,使用嵌套 for 循环输出如下图案: * *** ***** ******* ********* 4. 编写一个程序,使用 for 循环输出 2 的 1 到 10 次幂。 #include <stdio.h> int main() { for (int i = 1; i <= 10; i++) { int power = 1; for (int j = 1; j <= i; j++) { power *= 2; } printf("2 的 %d 次幂是: %d ", i, power); } return 0; } 5. 编写一个程序,使用 do - while 循环计算用户输入的一系列正数的乘积,当输入负数时停止输入。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第12卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是: 1.掌握for、while、do-while 循环及嵌套。 2.理解中止语句break,继续语句continue。 吉林省《信息工程类(电子与信息类)考纲百套卷》 第12卷 《C语言程序设计》 (四)循环程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.以下 for 循环的执行次数是( ) for (int i = 10; i > 0; i -= 2) { // 循环体 } A. 5 次 B. 6 次 C. 10 次 D. 无限次 答案:A 2.以下代码段的输出结果是( ) c for (int i = 1; i <= 5; i++) { for (int j = 5; j >= i; j--) { printf(" "); } for (int k = 1; k <= i; k++) { printf("*"); } printf(" "); } A. * ** *** **** ***** B. ***** **** *** ** * C. * ** *** **** ***** D. ***** **** *** ** * 答案:A 3. 以下代码实现了计算从 1 到 n 中所有能被 3 或 5 整除的数的和,横线处应填入的代码是( ) int n, sum = 0; scanf("%d", &n); for(int i = 1; i <= n; i++) { if(______) { sum += i; } } printf("%d ", sum); A. i % 3 == 0 && i % 5 == 0 B. i % 3 == 0 || i % 5 == 0 C. i % 3 != 0 && i % 5 != 0 D. i % 3 != 0 || i % 5 != 0 答案:B 4. 以下 do-while 循环的执行次数是( ) int i = 3; do { i--; } while (i > 0); A. 0 次 B. 1 次 C. 2 次 D. 3 次 答案:D 5. 若要实现 1 到 100 的整数求和,以下 while 循环正确的是( ) A. int sum = 0, i = 1; while (i <= 100) { sum += i; i++; } B. int sum = 0, i = 1; while (i < 100) { sum += i; i++; } C. int sum = 0, i = 0; while (i <= 100) { sum += i; i++; } D. int sum = 0, i = 0; while (i < 100) { sum += i; i++; } 答案:A 6. 以下 do-while 循环中,循环体执行的次数是( ) int i = 10; do { i -= 3; } while (i > 0); A. 2 次 B. 3 次 C. 4 次 D. 5 次 答案:C 7. 以下嵌套 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++; } A. 2 * i - 1 B. 2 * (5 - i) - 1 C. 2 * i + 1 D. 2 * (5 - i) + 1 答案:A 8. 要使用 while 循环计算 1 + 3 + 5 + ... + 99 的和,以下代码正确的是( ) A. int sum = 0, i = 1; while (i < 100) { sum += i; i += 2; } B. int sum = 0, i = 1; while (i <= 100) { sum += i; i++; } C. int sum = 0, i = 0; while (i < 100) { sum += i; i += 2; } D. int sum = 0, i = 0; while (i <= 100) { sum += i; i++; } 答案:A 9.continue 语句在循环中的作用是( ) A. 终止整个循环 B. 终止当前所在的最内层循环或 switch 语句 C. 跳过当前循环的剩余部分,直接进入下一次循环 D. 跳出 switch 语句 答案:C 10.以下代码的输出结果是( ) #include <stdio.h> int main() { for (int i = 1; i <= 5; i++) { if (i % 2 == 0) continue; printf("%d ", i); } return 0; } A. 1 2 3 4 5 B. 1 3 5 C. 2 4 D. 1 2 4 答案:B 二、判断题(本大题共10小题,每小题2分,共20分) 1.在嵌套 for 循环中,内层循环会在外层循环的每次迭代中完整执行。( ) 答案:正确 2.可以在 for 循环的迭代部分使用 break 语句。( ) 答案:错误 3. 当 for 循环的迭代部分包含多个语句时,必须用花括号将这些语句括起来。( ) 答案:错误 4.do - while 循环至少会执行一次循环体,无论循环条件是否为真。 答案:正确 5. 嵌套的 do - while 循环中,内层 do - while 循环结束后,会继续执行外层 do - while 循环的循环体剩余部分。 答案:正确 6. 在 do - while 循环中使用 continue 语句,会直接结束整个 do - while 循环。 答案:错误 7. 以下 do - while 循环用于判断一个数是否为正数,若输入 -5,循环体会执行一次: int num; scanf("%d", &num); do { if (num > 0) { printf("是正数 "); } else { printf("不是正数 "); } } while (num > 0); 答案:正确 8.continue 语句在 switch 语句中也能使用。 答案:错误 9.在多层嵌套循环中,break 语句只能终止最内层的循环。 答案:正确 10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1. 以下嵌套 for 循环用于输出一个下三角矩阵的元素(矩阵元素初始化为 1 到 n * n),横线处应填的代码是 ______。 int n; scanf("%d", &n); int matrix[n][n]; int count = 1; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { matrix[i][j] = count++; } } for(int i = 0; i < n; i++) { for(int j = 0; j <= ______; j++) { printf("%d ", matrix[i][j]); } printf(" "); } 答案:i 2. 以下代码用于计算 3 的 1 到 8 次幂的和,横线处应填的代码是 ______。 int sum = 0; for(int i = 1; i <= 8; i++) { int power = 1; for(int j = 1; j <= i; j++) { power *= ______; } sum += power; } 答案:3 3. 以下代码用于输出一个数字金字塔,横线处应填入的代码是______ 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 <= 2 * i - 1; k++) { printf("%d", ______); } printf(" "); } 答案:i 4. 以下 while 循环用于计算斐波那契数列的前 10 项,横线处应填的代码是 ______。 int a = 0, b = 1, c, i = 0; while (i < 10) { printf("%d ", a); c = a + b; a = b; b = ______; i++; } 答案:c 5.continue 关键字用于______当前循环体中剩余的语句,直接进入下一次循环的判断。 答案:跳过 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 5) { if (i == 2) { i++; continue; } printf("%d ", i); i++; } return 0; } 答案:0 1 3 4 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 1; do { if (i == 4) { break; } printf("%d ", i); i++; } while (i <= 5); return 0; } 答案:1 2 3 3.以下程序的运行结果是______。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 2; i++) { for (j = 1; j <= 3; j++) { if (i == 1 && j == 2) { continue; } printf("%d %d ", i, j); } } return 0; } 答案: 1 1 1 3 2 1 2 2 2 3 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int i = 0; while (i < 5) { if (i % 2 == 0) { i++; continue; } printf("%d ", i); i++; } return 0; } 答案:1 3 5.以下程序的运行结果是______。 #include <stdio.h> int main() { int i; for (i = 1; i <= 5; i++) { if (i < 3) { continue; } if (i == 4) { break; } printf("%d ", i); } return 0; } 答案:3 五、编程题(本大题共5小题,每题5分,共25分) 1. 编写一个程序,使用 while 循环输出 1 到 20 之间所有能被 5 整除的数。 #include <stdio.h> int main() { int i = 1; while (i <= 20) { if (i % 5 == 0) { printf("%d ", i); } i++; } printf(" "); return 0; } 2. 编写一个程序,使用 do - while 循环计算一个整数的各位数字之和。 #include <stdio.h> int main() { int num, sum = 0; printf("请输入一个整数: "); scanf("%d", &num); do { sum += num % 10; num /= 10; } while (num != 0); printf("各位数字之和为: %d ", sum); return 0; } 3. 编写一个程序,使用嵌套 for 循环输出如下图案: * *** ***** ******* ********* #include <stdio.h> int main() { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5 - i; j++) { printf(" "); } for (int k = 1; k <= 2 * i - 1; k++) { printf("*"); } printf(" "); } return 0; } 4. 编写一个程序,使用 for 循环输出 2 的 1 到 10 次幂。 #include <stdio.h> int main() { for (int i = 1; i <= 10; i++) { int power = 1; for (int j = 1; j <= i; j++) { power *= 2; } printf("2 的 %d 次幂是: %d ", i, power); } return 0; } 5. 编写一个程序,使用 do - while 循环计算用户输入的一系列正数的乘积,当输入负数时停止输入。 #include <stdio.h> int main() { int num; long long product = 1; do { printf("请输入一个正数(输入负数停止): "); scanf("%d", &num); if (num > 0) { product *= num; } } while (num >= 0); printf("输入的正数的乘积是: %lld ", product); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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