第四章 循环结构程序设计《编程语言基础-C语言》(高教版第5版)章节过关卷(一)

2026-04-01
| 2份
| 13页
| 53人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 C语言程序设计高教版(第五版)全一册
年级 高一
章节 第4章 循环结构程序设计
类型 作业-单元卷
知识点 循环结构
使用场景 同步教学-单元练习
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 266 KB
发布时间 2026-04-01
更新时间 2026-04-01
作者 xkw_063129603
品牌系列 学易金卷·阶段检测模拟卷
审核时间 2026-04-01
下载链接 https://m.zxxk.com/soft/57124308.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

《编程语言基础-C语言》高等教育出版社(第5版) 第四章 循环结构程序设计 章节过关卷(一)(原卷版) 考试时间:90分钟 满分:100分 姓名 班级 学号 一、单项选择题(本题共25小题,每题2分,共50分) 1、关于while循环,下列说法正确的是( ) A. 循环体至少执行一次 B. 循环条件为真时执行循环体 C. 循环体中必须包含改变循环条件的语句 D. 循环条件可以是任意表达式 2、以下代码的循环次数是( ) int i = 5; while (i < 5) { i++; } A. 0 B. 1 C. 5 D. 无限 3、do…while循环的特点是( ) A. 先判断条件,后执行循环体 B. 循环体至少执行一次 C. 必须用break退出 D. 循环体中不能使用continue 4、以下代码的输出是( ) int i = 1; do { printf("%d ", i); i++; } while (i < 3); A. 1 B. 1 2 C. 1 2 3 D. 2 3 5、关于for循环,下列说法正确的是( ) A. 三个表达式都必须写 B. 循环变量必须在循环外部定义 C. 表达式1只在循环开始时执行一次 D. 表达式2为空时表示条件为假 6、以下代码的输出是( ) int i; for (i = 0; i < 3; i++) { printf("%d ", i); } A. 0 1 2 B. 1 2 3 C. 0 1 2 3 D. 1 2 7、以下for循环执行的次数是( ) for (int i = 0; i < 5; i += 2) { } A. 2 B. 3 C. 4 D. 5 8、关于多重循环,下列说法正确的是( ) A. 内层循环的break会直接结束所有循环 B. 外层循环执行一次,内层循环执行一轮 C. 多重循环的执行效率总是高于单层循环 D. 内层循环的continue会跳过外层循环 9、以下代码的输出是( ) for (int i = 1; i <= 2; i++) { for (int j = 1; j <= 2; j++) { printf("%d ", i * j); } } A. 1 2 2 4 B. 1 2 3 4 C. 1 2 2 3 D. 1 2 4 8 10、以下代码中break的作用是( ) for (int i = 1; i <= 3; i++) { if (i == 2) break; printf("%d ", i); } A. 结束本次循环 B. 结束整个循环 C. 结束程序 D. 跳过本次循环继续下一次 11、以下代码中continue的作用是( ) for (int i = 1; i <= 3; i++) { if (i == 2) continue; printf("%d ", i); } A. 结束整个循环 B. 结束程序 C. 跳过本次循环剩余语句,进入下一次循环 D. 暂停循环 12、以下代码的输出是( ) int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d ", i); } A. 1 2 3 B. 1 3 C. 2 3 D. 1 13、以下程序段实现的功能是( ) int n, sum = 0; scanf("%d", &n); while (n > 0) { sum += n % 10; n /= 10; } A. 求n的位数 B. 求n的各位数字之和 C. 求n的阶乘 D. 求n的逆序数 14、以下代码的输出是( ) int i = 1; do { printf("%d ", i); i++; } while (i <= 0); A. 1 B. 无输出 C. 1 0 D. 死循环 15、下列哪个循环结构在条件判断前至少执行一次循环体( ) A. while B. for C. do…while D. 以上都是 16、关于for(;;)的说法,正确的是( ) A. 语法错误 B. 等价于while(1) C. 循环一次也不执行 D. 循环变量必须定义 17、以下代码的输出是( ) int i, j; for (i = 0, j = 5; i < 3; i++, j--) { printf("%d ", i + j); } A. 5 5 5 B. 5 6 7 C. 5 5 6 D. 5 4 3 18、在循环中使用break语句后,程序将( ) A. 继续执行循环体 B. 跳出所在循环 C. 跳出所有循环 D. 结束程序 19、下列语句中,不能构成无限循环的是( ) A. while(1) B. for(;;) C. do{}while(0) D. while(1==1) 20、以下代码输出结果是( ) int i = 1; while (i <= 5) { if (i % 2 == 0) { i++; continue; } printf("%d ", i); i++; } A. 1 3 5 B. 2 4 C. 1 2 3 4 5 D. 1 3 21、以下程序用于计算1+2+…+100,划线处应填( ) int i = 1, sum = 0; while (i <= 100) { sum += i; ________; } A. i++ B. i = i + 1 C. i += 1 D. 以上都可以 22、以下代码的输出是( ) int i; for (i = 0; i < 3; i++) { if (i == 1) break; printf("%d ", i); } A. 0 B. 0 1 C. 0 1 2 D. 无输出 23、以下代码的输出是( ) int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 2; j++) { if (i == j) break; printf("%d%d ", i, j); } } A. 11 12 21 22 31 32 B. 12 21 31 C. 21 31 32 D. 21 31 24、以下程序用于输出乘法口诀表的一部分,划线处应填( ) for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { printf("%d*%d=%d ", i, j, ________); } printf(" "); } A. i*j B. i+j C. i-j D. j*i 25、以下代码的输出是( ) int i = 0; do { printf("%d ", i); } while (i++ < 2); A. 0 1 2 B. 0 1 C. 1 2 D. 0 1 2 3 二、多选题(本题共5小题,每题4分,共20分) 1、关于while循环,下列说法正确的有( ) A. 循环条件为真时执行循环体 B. 循环体可能一次都不执行 C. 循环体必须用大括号括起来 D. 循环条件可以是常量 2、关于for循环,以下说法正确的有( ) A. 表达式1可以省略 B. 表达式2可以省略 C. 表达式3可以省略 D. 三个表达式都可以省略 3、以下关于break和continue的说法,正确的有( ) A. break可用于循环和switch B. continue可用于循环 C. break会终止当前循环 D. continue会跳过本次循环剩余语句 4、以下能构成无限循环的语句有( ) A. while(1) B. for(;;) C. do{}while(1) D. while(0) 5、关于多重循环,下列说法正确的有( ) A. 内层循环的break只退出内层循环 B. 外层循环的break只退出外层循环 C. 内层循环可以包含外层循环 D. 多重循环的执行顺序是先外层后内层 三、判断题(本题共10小题,每题2分,共20分) 1、while循环的循环体至少执行一次。( ) 2、do…while循环的循环体至少执行一次。( ) 3、for循环的三个表达式都可以省略。( ) 4、break语句只能用于循环结构中。( ) 5、continue语句可以用于跳出整个循环。( ) 6、多重循环中,内层循环的break会同时退出外层循环。( ) 7、for循环中,表达式1只在循环开始时执行一次。( ) 8、在while循环的表达式(循环条件)中不能使用赋值运算符。( ) 9、do…while循环的条件后面必须加分号。( ) 10、在循环中使用continue语句后,循环条件判断依然会执行。( ) 四、填空题(本题共5小题,每题2分,共10分) 1、while循环的语法格式为:while ( ) 循环体; 2、do…while循环的语法格式为:do { 循环体 } while ( ); 3、在多重循环中,( )语句只能退出当前所在的一层循环。 4、以下程序段执行后,输出结果为( )。 int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d", i); } 5、以下程序段执行后,输出结果为 ( )。 int i, j; for (i = 1; i <= 2; i++) { for (j = 1; j <= 2; j++) { if (i + j == 3) continue; printf("%d", i * j); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《编程语言基础-C语言》高等教育出版社(第5版) 第四章 循环结构程序设计 章节过关卷(一)(解析版) 考试时间:90分钟 满分:100分 姓名 班级 学号 一、单项选择题(本题共25小题,每题2分,共50分) 1、关于while循环,下列说法正确的是( ) A. 循环体至少执行一次 B. 循环条件为真时执行循环体 C. 循环体中必须包含改变循环条件的语句 D. 循环条件可以是任意表达式 【答案】B 【解析】while循环先判断条件,条件为真时执行循环体;循环体中不一定必须改变条件,但通常需要,否则可能死循环;循环条件一般为关系或逻辑表达式。 2、以下代码的循环次数是( ) int i = 5; while (i < 5) { i++; } A. 0 B. 1 C. 5 D. 无限 【答案】A 【解析】初始i=5,条件i<5为假,循环体一次都不执行。 3、do…while循环的特点是( ) A. 先判断条件,后执行循环体 B. 循环体至少执行一次 C. 必须用break退出 D. 循环体中不能使用continue 【答案】B 【解析】do…while先执行一次循环体,再判断条件,因此至少执行一次。 4、以下代码的输出是( ) int i = 1; do { printf("%d ", i); i++; } while (i < 3); A. 1 B. 1 2 C. 1 2 3 D. 2 3 【答案】B 【解析】第一次输出1,i=2;条件i<3为真,第二次输出2,i=3;条件为假,结束。 5、关于for循环,下列说法正确的是( ) A. 三个表达式都必须写 B. 循环变量必须在循环外部定义 C. 表达式1只在循环开始时执行一次 D. 表达式2为空时表示条件为假 【答案】C 【解析】表达式1仅执行一次;三个表达式都可省略,但分号不能省;表达式2为空表示条件为真。 6、以下代码的输出是( ) int i; for (i = 0; i < 3; i++) { printf("%d ", i); } A. 0 1 2 B. 1 2 3 C. 0 1 2 3 D. 1 2 【答案】A 【解析】i从0开始,当i=0,1,2时输出,i=3时条件为假退出。 7、以下for循环执行的次数是( ) for (int i = 0; i < 5; i += 2) { } A. 2 B. 3 C. 4 D. 5 【答案】B 【解析】i=0,2,4共3次,i=6时退出。 8、关于多重循环,下列说法正确的是( ) A. 内层循环的break会直接结束所有循环 B. 外层循环执行一次,内层循环执行一轮 C. 多重循环的执行效率总是高于单层循环 D. 内层循环的continue会跳过外层循环 【答案】B 【解析】外层循环每执行一次,内层循环完整执行一轮。 9、以下代码的输出是( ) for (int i = 1; i <= 2; i++) { for (int j = 1; j <= 2; j++) { printf("%d ", i * j); } } A. 1 2 2 4 B. 1 2 3 4 C. 1 2 2 3 D. 1 2 4 8 【答案】A 【解析】外层i=1时内层j=1,2输出1,2;i=2时内层输出2,4。 10、以下代码中break的作用是( ) for (int i = 1; i <= 3; i++) { if (i == 2) break; printf("%d ", i); } A. 结束本次循环 B. 结束整个循环 C. 结束程序 D. 跳过本次循环继续下一次 【答案】B 【解析】break用于强制退出当前循环结构。 11、以下代码中continue的作用是( ) for (int i = 1; i <= 3; i++) { if (i == 2) continue; printf("%d ", i); } A. 结束整个循环 B. 结束程序 C. 跳过本次循环剩余语句,进入下一次循环 D. 暂停循环 【答案】C 【解析】continue跳过本次循环后面未执行的语句,继续下一次循环。 12、以下代码的输出是( ) int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d ", i); } A. 1 2 3 B. 1 3 C. 2 3 D. 1 【答案】B 【解析】i=1输出1,i=2时跳过输出,i=3输出3。 13、以下程序段实现的功能是( ) int n, sum = 0; scanf("%d", &n); while (n > 0) { sum += n % 10; n /= 10; } A. 求n的位数 B. 求n的各位数字之和 C. 求n的阶乘 D. 求n的逆序数 【答案】B 【解析】每次取个位累加,再去掉个位,直到n为0。 14、以下代码的输出是( ) int i = 1; do { printf("%d ", i); i++; } while (i <= 0); A. 1 B. 无输出 C. 1 0 D. 死循环 【答案】A 【解析】先执行一次循环体输出1,再判断条件i<=0为假,结束。 15、下列哪个循环结构在条件判断前至少执行一次循环体( ) A. while B. for C. do…while D. 以上都是 【答案】C 【解析】do…while先执行循环体再判断条件。 16、关于for(;;)的说法,正确的是( ) A. 语法错误 B. 等价于while(1) C. 循环一次也不执行 D. 循环变量必须定义 【答案】B 【解析】三个表达式均省略,条件默认为真,形成无限循环。 17、以下代码的输出是( ) int i, j; for (i = 0, j = 5; i < 3; i++, j--) { printf("%d ", i + j); } A. 5 5 5 B. 5 6 7 C. 5 5 6 D. 5 4 3 【答案】A 【解析】第一次i=0,j=5输出5;第二次i=1,j=4输出5;第三次i=2,j=3输出5。 18、在循环中使用break语句后,程序将( ) A. 继续执行循环体 B. 跳出所在循环 C. 跳出所有循环 D. 结束程序 【答案】B 【解析】break只跳出当前所在的一层循环。 19、下列语句中,不能构成无限循环的是( ) A. while(1) B. for(;;) C. do{}while(0) D. while(1==1) 【答案】C 【解析】do…while(0)只执行一次,不是无限循环。 20、以下代码输出结果是( ) int i = 1; while (i <= 5) { if (i % 2 == 0) { i++; continue; } printf("%d ", i); i++; } A. 1 3 5 B. 2 4 C. 1 2 3 4 5 D. 1 3 【答案】A 【解析】i=1输出1;i=2跳过输出;i=3输出3;i=4跳过;i=5输出5。 21、以下程序用于计算1+2+…+100,划线处应填( ) int i = 1, sum = 0; while (i <= 100) { sum += i; ________; } A. i++ B. i = i + 1 C. i += 1 D. 以上都可以 【答案】D 【解析】三种写法都可使i递增,避免死循环。 22、以下代码的输出是( ) int i; for (i = 0; i < 3; i++) { if (i == 1) break; printf("%d ", i); } A. 0 B. 0 1 C. 0 1 2 D. 无输出 【答案】A 【解析】i=0输出0;i=1时break退出循环。 23、以下代码的输出是( ) int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 2; j++) { if (i == j) break; printf("%d%d ", i, j); } } A. 11 12 21 22 31 32 B. 12 21 31 C. 21 31 32 D. 21 31 【答案】D 【解析】i=1时j=1,i==j跳出内层;i=2时j=1输出21,j=2时i==j跳出;i=3时j=1输出31,j=2输出32。 24、以下程序用于输出乘法口诀表的一部分,划线处应填( ) for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { printf("%d*%d=%d ", i, j, ________); } printf(" "); } A. i*j B. i+j C. i-j D. j*i 【答案】A 【解析】输出i*j的结果。 25、以下代码的输出是( ) int i = 0; do { printf("%d ", i); } while (i++ < 2); A. 0 1 2 B. 0 1 C. 1 2 D. 0 1 2 3 【答案】A 【解析】第一次输出0,判断0<2为真,i变为1;第二次输出1,判断1<2为真,i变为2;第三次输出2,判断2<2为假,结束。 二、多选题(本题共5小题,每题4分,共20分) 1、关于while循环,下列说法正确的有( ) A. 循环条件为真时执行循环体 B. 循环体可能一次都不执行 C. 循环体必须用大括号括起来 D. 循环条件可以是常量 【答案】A, B, D 【解析】循环条件为真时执行,可能一次都不执行;循环体只有一条语句时可省略大括号;条件可以是常量,如while(1)。 2、关于for循环,以下说法正确的有( ) A. 表达式1可以省略 B. 表达式2可以省略 C. 表达式3可以省略 D. 三个表达式都可以省略 【答案】A, B, C, D 【解析】for的三个表达式均可省略,但分号不能省。 3、以下关于break和continue的说法,正确的有( ) A. break可用于循环和switch B. continue可用于循环 C. break会终止当前循环 D. continue会跳过本次循环剩余语句 【答案】A, B, C, D 【解析】break用于退出循环或switch;continue用于跳过本次循环剩余部分。 4、以下能构成无限循环的语句有( ) A. while(1) B. for(;;) C. do{}while(1) D. while(0) 【答案】A, B, C 【解析】while(1)、for(;;)、do…while(1)都是无限循环;while(0)一次都不执行。 5、关于多重循环,下列说法正确的有( ) A. 内层循环的break只退出内层循环 B. 外层循环的break只退出外层循环 C. 内层循环可以包含外层循环 D. 多重循环的执行顺序是先外层后内层 【答案】A, B, D 【解析】break只退出所在层;多重循环执行时外层一次,内层一轮。 三、判断题(本题共10小题,每题2分,共20分) 1、while循环的循环体至少执行一次。( ) 【答案】× 【解析】while先判断条件,可能一次都不执行。 2、do…while循环的循环体至少执行一次。( ) 【答案】√ 【解析】do…while先执行循环体再判断条件。 3、for循环的三个表达式都可以省略。( ) 【答案】√ 【解析】for(;;)是合法写法,表示无限循环。 4、break语句只能用于循环结构中。( ) 【答案】× 【解析】break也可用于switch语句。 5、continue语句可以用于跳出整个循环。( ) 【答案】× 【解析】continue只跳过本次循环,不跳出整个循环。 6、多重循环中,内层循环的break会同时退出外层循环。( ) 【答案】× 【解析】break只退出当前所在层的循环。 7、for循环中,表达式1只在循环开始时执行一次。( ) 【答案】√ 【解析】表达式1在循环开始前执行一次。 8、在while循环的表达式(循环条件)中不能使用赋值运算符。( ) 【答案】× 【解析】可以使用,如while((ch=getchar())!=' ')是常见用法。 9、do…while循环的条件后面必须加分号。( ) 【答案】√ 【解析】do…while(条件); 的分号不能省略。 10、在循环中使用continue语句后,循环条件判断依然会执行。( ) 【答案】√ 【解析】continue跳过循环体剩余部分,然后继续下一次循环的条件判断。 四、填空题(本题共5小题,每题2分,共10分) 1、while循环的语法格式为:while ( ) 循环体; 【答案】表达式 【解析】循环条件为真时执行循环体。 2、do…while循环的语法格式为:do { 循环体 } while ( ); 【答案】表达式 【解析】条件为真时继续下一次循环。 3、在多重循环中,( )语句只能退出当前所在的一层循环。 【答案】break 【解析】break只退出所在循环层。 4、以下程序段执行后,输出结果为( )。 int i = 0; while (i < 3) { i++; if (i == 2) continue; printf("%d", i); } 【答案】13 【解析】i=1输出1,i=2跳过,i=3输出3。 5、以下程序段执行后,输出结果为 ( )。 int i, j; for (i = 1; i <= 2; i++) { for (j = 1; j <= 2; j++) { if (i + j == 3) continue; printf("%d", i * j); } } 【答案】14 【解析】i=1,j=1输出1;i=1,j=2时i+j=3跳过;i=2,j=1时i+j=3跳过;i=2,j=2输出4,最终输出“14”。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第四章 循环结构程序设计《编程语言基础-C语言》(高教版第5版)章节过关卷(一)
1
第四章 循环结构程序设计《编程语言基础-C语言》(高教版第5版)章节过关卷(一)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。