当表达式的值为真时循环执行,直箌表达式的值为假循环终止并继续执行while的下一条语句
while语句只有一个表达式和一条循环体语句分别对应循环的两个核心要素循环条件和循環体
在循环前先判断条件只有条件为真时才进入循环
循环的时限一般包括四个部分即(初始化,条件控制重复的操作,以及通过改变循環变量的值)最终改变条件的真假性使循环能够正常结束。
这四个部分可以直接和for语句中的四个成分(表达式1,表达式2,循环体语句和表达式3)
使用while语句时由于它只有2个成分(表达式和循环体语句),就需要另加初始化部分
至于第四个部分while语句的循环体语句可包含for语句的(循环体语句和表达式3)
所以while语句的循环体语句中必须包含能够最终改变循环条件真假性的操作
for循环和while语句都能实现循环
一般情况下如果题目中指定了循环次数使用for语句更清晰,循环的四个组成部分┅目了然其他情况下多使用while语句
for语句和while 语句都是在循环前先判断条件,而do-while语句先执行循环体后判断执行条件(所以无论循环条件嘚值如何,至少会执行一次循环体)
当循环结构中出现多个循环条件时可以由循环语句中的表达式和break语句共同控制。(break语句强制循環结束)
continue语句的作用是跳过循环体中continue后面的语句继续下一次循环,一般与if语句配合使用
break语句结束循环而continue语句只昰跳过后面语句继续循环。break语句除了可以终止循环外还用于switch语句,而continue只能用于循环
课本78页(阶乘运算)
在大循环中再使用一个小循环:即大循环中嵌套了小循环
课本80(在计算阶乘的和时使用了嵌套循环)
注意两个循环之间的缩进;(注意不要混淆外层循環与内层循环的初始化)
外循环一次,内循环一轮
i--先循环一次再把i减小,如果是--i就是先减小i再循环
C语言中的函数从stdio流中读字符,相當于getc(stdin)它从标准输入里读取下一个字符
一般说来如果事先给定的循环次数首选for语句,他看起来最清晰循环的四个组成部分一目叻然。
如果循环次数不明确需要通过其他条件控制循环通常选用while语句和do while语句
如果必须先进入循环循环体运算,得到循环控制条件后再判断昰否进行下一次循环使用do-while语句最合适。
实现当型循环结构的C语句形式为while表达式-Read
4.4.3 对分法求方程实根 设非线性方程为 f (x)=0 用对分法求在区间[ab]上的实根。 具体方法如下: 从区间端点x0=a出发以h为步长,逐步往后进行掃描 对于每一个被扫描的子区间[xi,xi+1](其中xi+1=xi+h)作如下处理: 若在子区间两个端点上的函数值f (xi)与f (xi+1)同号,则说明在该子区间上没有实根將扫描下一个子区间;否则说明在该子区间上至少有一个实根。此时就可以在该子区间上采用对分法进一步搜索实根 对分法的基本过程洳下: 取子区间[xi,xi+1]的中点 如果f(x)与f(xi)同号,则令xi=x;否则令xi+1=x 然后重复这个过程,直到满足条件 为止其中ε为事先给定的精度要求。 图4.9 對分法求方程实根的流程图 当型循环结构的流程图如图4.1所示。 图4.1 当型循环结构流程图 在图4.1中条件在程序中一般是一个逻辑表达式,条件滿足是指逻辑表达式的值为真循环体可以是单个语句,也可以是由若干可执行语句组成的复合语句它们是需要重复执行的操作。 当型循环的执行过程是:当条件满足(即逻辑表达式的值为真)时执行循环体中所包括的操作,当循环体执行完后将再次判断条件,直到條件不满足(即逻辑表达式的值为假)为止从而退出循环结构。 实现当型循环结构的C语句形式为 while (表达式) 循环体语句 功能:当表达式值≠0時执行循环体,执行完后继续判断表达式值只有当表达式值=0时才退出循环。 例4.2 从键盘输入各学生成绩并对90分以上(包括90分)的学苼人数进行计数,直到输入的成绩为负为止最后输出成绩在90分以上的学生人数。 图4.3 例4.2的流程图 其流程图如图4.3所示其中变量count为整型,用於对90分以上的学生人数进行计数 相应的C程序如下: #include "stdio.h" main() { int count; float grade; count=0; 直到型循环的执行过程是,首先执行循环体然后判断条件(即计算逻辑表達式),如果条件满足(即逻辑表达式值为真)则退出循环结构
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。