循环结构
展现PTA总分
单循环结构
嵌套循环
本章学习内容
while语句
while语句
除了for语句以外,while 语句也用于实现循环,而且它的适用面更,其一般形式为:
讨论while语句的使用方法
(1) while 语句中的表达式可以是任意合法的表达式语句。
(2)while语句的构成简单,只有一个表达式和一条循环体语句,分别对应循环的两个核心要素:循环条件和循环体,可以直接把循环问题的分析设计转换为语句实现。
(3) 根据指定次数的循环程序设计,循环的实现一般包括4个部分,即初始化、条件控制、重复的操作以及通过改变循环变量的值最终改变条件的真假性,使循环能正常结束。这4个部分可以直接和for语句中的4个成分(表达式1、表达式2、循环体语句和表达式3)相对应,当使用while语句时,由于它只有2个成分(表达式和循环体语句),就需要另加初始化部分,至于第4个部分,while 语句的循环体语句可包含for语句的循环体语句和表达式3,所以while的循环体语句中必须包含能最终改变循环条件真假性的操作。
求幂函数的部分展开值
调试
for语句和while语句的转换
for语句与while语句比较
for语句和while语句都能实现循环。一般情况下, 如果题目中指定了循环次数,使用for语句更清晰,循环的4个组成部分一目了然; 其他情况下多使用while语句。如果题目没有直接给出循环次数,而是由某一项的值来控制循环, 就可以选用了while语句。
do-whell语句
(1)语句中的表达式可以是任意合法表达式
(2)循环语句只能是一条语句
(3)使用时必须加初始化部分,循环语句必须包含能最终能改变条件真假性的操作
(4)do-while语句适合于先循环、后判断循环条件的情况,- 般在循环体的执行过程中明确循环控制条件。它每执行一次循环体后,再判断条件,以决定是否进行下一次循环。
(5)举例:简单的猜数游戏
调试
break和conutine语句
break语句
(1)break语句只能跳出当前循环
(2)一 旦执行了break语句,循环提前结束,不再执行循环体中位于其后的其他语句。
(3)break语自应该和订语句配合使用,即条件满足时,才执行break跳出循环:否则,若break无条件执行,意味着永远不会执行循环体中break后面的其他语句。
countine语句
(1)countine语句的作用的作用是跳过countine语句后面的语句
(2)countine语句一般与if语句配合使用
break语句与countine语句的区别
break结束循环,而continue只是跳过后面语句继续循环。break 除了可以中止循环外,还用于switch语句,而continue只能用于循环。
二者的代码表示
(1)break语句
(2)countine语句
二者的异同点
(1)while循环是先判断后运行,do-while循环是先执行后判断,因此无论是否符合条件,do-while循环至少执行一次。
(2)当循环需要执行两次以上时,两种循环的运行效果相同。
嵌套循环
代码举例
打印九九乘法表
代码测试:
本章总结:
通过本章的学习,我加深了对C语言的理解和新的使用方式,首先在学习了选择结构后又学习了新的一种C语言表达语言,我可以更加进行新的方式来表达我的语言;同时我也在一点一滴的进步,虽然我的C语言基础并不是多么的突出,我从刚开始的朦朦胧胧再到现在可以进行一些简单的编程,只要我们努力我相信我们会一天天的进步;但是通过最近几周的学习,我也充分认识到我在学习C语言中的困难,尤其是在循环语句中,在面对不同的问题时有时不知如何是好,只有面对我熟悉的问题时才会得心应手;通过最近的学习,我更加清楚的认识到练习和代码训练是多么重要,在加强代码训练的同时也要加强我的代码阅读能力。
PTA实验作业
(1)猜数游戏:
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
代码截图:
提交列表
打印棱形空心图案
调试:
代码对比与学习
同学的代码