专题五 循环结构(一) (练习)-《程序设计基础》高考备考讲练测(广西)

2025-05-27
| 2份
| 17页
| 81人阅读
| 2人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 高一
章节 -
类型 题集-专项训练
知识点 循环结构
使用场景 中职复习
学年 2025-2026
地区(省份) 广西壮族自治区
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 102 KB
发布时间 2025-05-27
更新时间 2025-05-27
作者 xkw_076789343
品牌系列 上好课·一轮讲练测
审核时间 2025-05-27
下载链接 https://m.zxxk.com/soft/52309983.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

专题五 循环结构(一) (一)单项选择题 1. 以下关于 while 和 do-while 循环的描述,正确的是( ) A. while 循环至少执行一次 B. do-while 循环的条件判断在循环体之后 C. do-while 的条件可以为浮点类型 D. while 循环的条件必须用 {} 包裹 答案:B 2. 以下代码的输出结果是( ) int i = 5; do { printf("%d ", i); i--; } while (i > 0); A. 5 4 3 2 1 B. 5 4 3 2 1 0 C. 4 3 2 1 0 D. 无输出 答案:A 3. 以下代码段中,循环体执行次数为( ) int x = 10; while (x++ < 12) { printf("Hello"); } A. 0 B. 1 C. 2 D. 3 答案:C 4. 以下代码中,若输入 0,输出结果是( ) int n; scanf("%d", &n); do { printf("%d", n); n--; } while (n > 0); A. 2 B. -1 C. 1 D. 0 答案:D 5. 以下代码的输出是( ) int x = 3; do { x -= 2; printf("%d ", x); } while (x > 0); A. 1 -1 B. 1 C. 3 1 D. 1 0 答案:A 6. 以下代码的输出是( ) int i = 0; while (i++ < 3) { printf("%d ", i); } A. 0 1 2 B. 1 2 3 C. 0 1 2 3 D. 1 2 答案:B 7. 以下代码中,循环结束后 x 的值是( ) int x = 5; do { x /= 2; } while (x > 1); A. 0 B. 1 C. 2 D. 5 答案:B 8.以下代码的功能是( ) int num, sum = 0; scanf("%d", &num); do { sum += num % 10; num /= 10; } while (num > 0); A. 计算数字的位数 B. 反转数字 C. 计算各位数字之和 D. 判断奇偶性 答案:C 9.以下代码的输出是( ) int a = 1; while (a <= 3) { printf("%d ", a); a = a + 1; } A. 1 2 3 B. 1 2 C. 2 3 D. 0 1 2 答案:A 10.以下代码的输出是( ) int i = 10; do { printf("%d ", i); i++; } while (i < 10); A. 10 B. 无输出 C. 10 11 D. 死循环 答案:A 11. 以下代码的错误是( ) int x = 5; while (x > 0) { printf("%d ", x); } A. 缺少 x-- B. 条件错误 C. 死循环 D. 语法错误 答案:C 12.以下代码的输出是( ) int i = 0; while (i < 2); { printf("%d ", i); i++; } A. 0 1 B. 0 C. 无输出 D. 死循环 答案:D 13.以下代码的输出是( ) int x = 0; do { x++; } while (x < 5); printf("%d", x); A. 4 B. 5 C. 6 D. 0 答案:B 14. 以下代码的输出是( ) int a = 3; do { printf("%d ", a); a -= 2; } while (a > 0); A. 3 1 B. 3 C. 3 1 -1 D. 1 答案:A 15.以下代码的输出是( ) int i = 5; while (i--) { printf("%d ", i); } A. 5 4 3 2 1 B. 4 3 2 1 0 C. 5 4 3 2 1 0 D. 4 3 2 1 答案:B (二)判断题 1. do-while 循环的条件可以为空表达式。( ) 答案:× 2 .while 循环的条件表达式可以是赋值语句。( ) 答案:√ 3. do-while 循环的循环体可以为空。( ) 答案:× 4. while(1) 是一个合法的循环条件,表示无限循环。( ) 答案:√ 5.do-while 循环的条件后必须有分号。( ) 答案:√ (三)填空题 1. 补全代码,输入正整数n,计算1+2+...+n: int n, sum = 0, i = 1; scanf("%d", &n); while (________) { sum += i; ________; } printf("%d", sum); 答案: 第一空:i <= n 第二空:i++ 2.补全代码,输入密码直到正确为止(正确密码为123): int pwd; do { printf("请输入密码:"); scanf("%d", &pwd); } while (________); printf("登录成功!"); 答案:pwd != 123 (四)应用题 1. 代码实现计算两个正整数的最大公约数 要求: 输入两个正整数 a 和 b。 使用 while 循环和辗转相除法(欧几里得算法)计算它们的最大公约数。 输出结果。 答案代码: #include <stdio.h> int main() { int a, b, temp; scanf("%d %d", &a, &b); while (b != 0) { temp = b; b = a % b; a = temp; } printf("最大公约数:%d", a); return 0; } 2. 代码实现题统计输入数字的位数 要求: 输入一个正整数 n。 使用 do-while 循环统计其位数(如输入 1234,输出 4)。 答案代码: #include <stdio.h> int main() { int n, count = 0; scanf("%d", &n); do { n /= 10; count++; } while (n != 0); printf("位数:%d", count); return 0; } 3. 代码实现用户输入验证 要求: 输入一个年龄(1~150之间的整数),若输入非法(如负数或超范围),提示重新输入,直到合法为止。 使用 do-while 循环实现。 最终输出合法年龄。 答案代码: #include <stdio.h> int main() { int age; do { printf("请输入年龄(1~150):"); scanf("%d", &age); if (age < 1 || age > 150) { printf("输入错误,请重新输入! "); } } while (age < 1 || age > 150); printf("合法年龄:%d", age); return 0; } 学科网(北京)股份有限公司 $$ 专题五 循环结构(一) (一)单项选择题 1. 以下关于 while 和 do-while 循环的描述,正确的是( ) A. while 循环至少执行一次 B. do-while 循环的条件判断在循环体之后 C. do-while 的条件可以为浮点类型 D. while 循环的条件必须用 {} 包裹 2. 以下代码的输出结果是( ) int i = 5; do { printf("%d ", i); i--; } while (i > 0); A. 5 4 3 2 1 B. 5 4 3 2 1 0 C. 4 3 2 1 0 D. 无输出 3. 以下代码段中,循环体执行次数为( ) int x = 10; while (x++ < 12) { printf("Hello"); } A. 0 B. 1 C. 2 D. 3 4. 以下代码中,若输入 0,输出结果是( ) int n; scanf("%d", &n); do { printf("%d", n); n--; } while (n > 0); A. 2 B. -1 C. 1 D. 0 5. 以下代码的输出是( ) int x = 3; do { x -= 2; printf("%d ", x); } while (x > 0); A. 1 -1 B. 1 C. 3 1 D. 1 0 6. 以下代码的输出是( ) int i = 0; while (i++ < 3) { printf("%d ", i); } A. 0 1 2 B. 1 2 3 C. 0 1 2 3 D. 1 2 7. 以下代码中,循环结束后 x 的值是( ) int x = 5; do { x /= 2; } while (x > 1); A. 0 B. 1 C. 2 D. 5 8.以下代码的功能是( ) int num, sum = 0; scanf("%d", &num); do { sum += num % 10; num /= 10; } while (num > 0); A. 计算数字的位数 B. 反转数字 C. 计算各位数字之和 D. 判断奇偶性 9.以下代码的输出是( ) int a = 1; while (a <= 3) { printf("%d ", a); a = a + 1; } A. 1 2 3 B. 1 2 C. 2 3 D. 0 1 2 10.以下代码的输出是( ) int i = 10; do { printf("%d ", i); i++; } while (i < 10); A. 10 B. 无输出 C. 10 11 D. 死循环 11. 以下代码的错误是( ) int x = 5; while (x > 0) { printf("%d ", x); } A. 缺少 x-- B. 条件错误 C. 死循环 D. 语法错误 12.以下代码的输出是( ) int i = 0; while (i < 2); { printf("%d ", i); i++; } A. 0 1 B. 0 C. 无输出 D. 死循环 13.以下代码的输出是( ) int x = 0; do { x++; } while (x < 5); printf("%d", x); A. 4 B. 5 C. 6 D. 0 14. 以下代码的输出是( ) int a = 3; do { printf("%d ", a); a -= 2; } while (a > 0); A. 3 1 B. 3 C. 3 1 -1 D. 1 15.以下代码的输出是( ) int i = 5; while (i--) { printf("%d ", i); } A. 5 4 3 2 1 B. 4 3 2 1 0 C. 5 4 3 2 1 0 D. 4 3 2 1 (二)判断题 1. do-while 循环的条件可以为空表达式。( ) 2 .while 循环的条件表达式可以是赋值语句。( ) 3. do-while 循环的循环体可以为空。( ) 4. while(1) 是一个合法的循环条件,表示无限循环。( ) 5.do-while 循环的条件后必须有分号。( ) (三)填空题 1. 补全代码,输入正整数n,计算1+2+...+n: int n, sum = 0, i = 1; scanf("%d", &n); while (________) { sum += i; ________; } printf("%d", sum); 2.补全代码,输入密码直到正确为止(正确密码为123): int pwd; do { printf("请输入密码:"); scanf("%d", &pwd); } while (________); printf("登录成功!"); (四)应用题 1. 代码实现计算两个正整数的最大公约数 要求: 输入两个正整数 a 和 b。 使用 while 循环和辗转相除法(欧几里得算法)计算它们的最大公约数。 输出结果。 2. 代码实现题统计输入数字的位数 要求: 输入一个正整数 n。 使用 do-while 循环统计其位数(如输入 1234,输出 4)。 3. 代码实现用户输入验证 要求: 输入一个年龄(1~150之间的整数),若输入非法(如负数或超范围),提示重新输入,直到合法为止。 使用 do-while 循环实现。 最终输出合法年龄。 学科网(北京)股份有限公司 $$

资源预览图

专题五 循环结构(一) (练习)-《程序设计基础》高考备考讲练测(广西)
1
专题五 循环结构(一) (练习)-《程序设计基础》高考备考讲练测(广西)
2
专题五 循环结构(一) (练习)-《程序设计基础》高考备考讲练测(广西)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。