内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第5章的第19练,内容涵盖第5章循环的控制的5.1~5.2 循环的概念与 while 语句。
《C语言程序设计》(电子工业出版社)一课一练 第19练
第5章 循环的控制
5.1~5.2 循环的概念与 while 语句
1、 单项选择题(本题共5小题)
1、关于 while 语句的执行顺序,下列说法正确的是( )
A. 先执行循环体语句,再判断条件表达式
B. 先判断条件表达式,表达式为真时执行循环体
C. 循环体至少会被执行一次
D. 循环体只能是一条语句,不能是多条语句
【答案】B
【解析】while 语句属于 "当型" 循环,执行逻辑是先判断条件表达式的值,当值为非 0 时才执行循环体;选项 A 是 do-while 的执行顺序,选项 C 错误,当表达式初始为假时循环体不执行,选项 D 错误,多条语句用大括号括起来即可作为循环体。
2、以下 while 代码中,循环体执行次数是( )
int a=5;
while(a>0) {
printf("%d ", a);
a--;
}
A. 5 次
B. 4 次
C. 6 次
D. 无限次
【答案】A
【解析】初始 a=5,每次循环 a 减 1,当 a>0 时执行循环体,分别执行 a=5、4、3、2、1 的情况,共 5 次,当 a=0 时退出循环。
3、下列 while 语句中,会造成死循环的是( )
A. int i=0; while (i<5) { printf ("% d",i); i++; }
B. int i=5; while (i>0) { printf ("% d",i); i--; }
C. int i=0; while (i<5) { printf ("% d",i); }
D. int i=0; while (i>=0 && i<5) { printf ("% d",i); i++; }
【答案】C
【解析】选项 C 中循环变量 i 的值始终是 0,没有更新操作,导致 i<5 的条件永远成立,程序会无限执行循环体,形成死循环;其他选项都有循环变量的更新,能正常退出循环。
4、while 语句中,条件表达式的类型可以是( )
A. 只能是关系表达式
B. 只能是逻辑表达式
C. 可以是任意数值类型的表达式
D. 必须是整数类型的表达式
【答案】C
【解析】while 的条件表达式只要能产生数值即可,非 0 值视为真,0 视为假,它可以是关系、逻辑、算术、字符等任意数值类型的表达式,比如while('a')也是合法的,因为字符 'a' 的 ASCII 值非 0。
5、若要使循环体至少执行一次,下列做法最可靠的是( )
A. 确保 while 循环初始条件表达式的值为真
B. 将 while 循环改为 do-while 循环
C. 在循环体开头添加 break 语句
D. 不需要做任何修改,while 循环本来就至少执行一次
【答案】B
【解析】while 是先判断后执行,可能不执行循环体;而 do-while 是先执行后判断,循环体至少执行一次;选项 A 无法保证每次初始条件都为真,选项 C 会直接退出循环,选项 D 说法错误。
2、 判断题(本题共3题)
1、while 语句属于 "当型" 循环,循环体可能一次都不执行。( )
【答案】√
【解析】while 语句先判断条件表达式,若初始表达式值为 0,会直接退出循环,循环体不会被执行,这是 "当型" 循环的典型特征。
2、while 循环的循环体如果是多条语句,不需要用大括号括起来,编译器会自动识别所有后续语句为循环体。( )
【答案】×
【解析】若 while 循环体是多条语句,必须用大括号{}括起来形成复合语句;否则编译器只会将紧跟 while 后的第一条语句视为循环体,后续语句会脱离循环逻辑。
3、在 while 循环中,只要循环条件表达式的值为非 0,循环体就会一直执行,不会停止。( )
【答案】×
【解析】若循环体中有 break 语句,即使循环条件为真,也会提前跳出循环;另外如果循环体中更新循环变量,最终会让条件表达式变为 0,循环也会正常结束。
3、 填空题(本题共2题)
1、while 语句是____循环结构,其执行过程为先判断条件表达式,再决定是否执行循环体。
【答案】当型
【解析】当型循环的核心是 "条件满足时执行循环",while 语句完全符合这一特征。它与 do-while 的直到型循环不同,不保证循环体至少执行一次。
2、在 while 循环中,为了避免死循环,必须在____中包含修改循环变量的语句,使循环条件最终变为假。
【答案】循环体
【解析】循环变量的更新是控制循环结束的关键。只有通过修改循环变量,才能让条件表达式的最终结果变为 0,从而正常退出 while 循环。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int n=3, fact=1;
while(n>0) {
fact *= n;
n--;
}
printf("3! = %d", fact);
return 0;
}
【答案】
程序运行结果:
3! = 6
【解析】
程序初始化 fact 为 1,n 为 3。第一次循环,fact=1*3=3,n 变为 2;第二次循环,fact=3*2=6,n 变为 1;第三次循环,fact=6*1=6,n 变为 0,此时 n>0 不成立,退出循环。最终输出 3 的阶乘结果 6。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第5章的第19练,内容涵盖第5章循环的控制的5.1~5.2 循环的概念与 while 语句。
《C语言程序设计》(电子工业出版社)一课一练 第19练
第5章 循环的控制
5.1~5.2 循环的概念与 while 语句
1、 单项选择题(本题共5小题)
1、关于 while 语句的执行顺序,下列说法正确的是( )
A. 先执行循环体语句,再判断条件表达式
B. 先判断条件表达式,表达式为真时执行循环体
C. 循环体至少会被执行一次
D. 循环体只能是一条语句,不能是多条语句
2、以下 while 代码中,循环体执行次数是( )
int a=5;
while(a>0) {
printf("%d ", a);
a--;
}
A. 5 次
B. 4 次
C. 6 次
D. 无限次
3、下列 while 语句中,会造成死循环的是( )
A. int i=0; while (i<5) { printf ("% d",i); i++; }
B. int i=5; while (i>0) { printf ("% d",i); i--; }
C. int i=0; while (i<5) { printf ("% d",i); }
D. int i=0; while (i>=0 && i<5) { printf ("% d",i); i++; }
4、while 语句中,条件表达式的类型可以是( )
A. 只能是关系表达式
B. 只能是逻辑表达式
C. 可以是任意数值类型的表达式
D. 必须是整数类型的表达式
5、若要使循环体至少执行一次,下列做法最可靠的是( )
A. 确保 while 循环初始条件表达式的值为真
B. 将 while 循环改为 do-while 循环
C. 在循环体开头添加 break 语句
D. 不需要做任何修改,while 循环本来就至少执行一次
2、 判断题(本题共3题)
1、while 语句属于 "当型" 循环,循环体可能一次都不执行。( )
2、while 循环的循环体如果是多条语句,不需要用大括号括起来,编译器会自动识别所有后续语句为循环体。( )
3、在 while 循环中,只要循环条件表达式的值为非 0,循环体就会一直执行,不会停止。( )
3、 填空题(本题共2题)
1、while 语句是____循环结构,其执行过程为先判断条件表达式,再决定是否执行循环体。
2、在 while 循环中,为了避免死循环,必须在____中包含修改循环变量的语句,使循环条件最终变为假。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int n=3, fact=1;
while(n>0) {
fact *= n;
n--;
}
printf("3! = %d", fact);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$