【时时三省】(C语言基础)用while语句实现循环
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
用while语句实现循环
C程序中可以用while语句来实现循环结构。
输出一个while语句的一般形式如下:
学生平均成绩while(表达式)语句i = i +1其中的“语句”就是循环体。
循环体只能是一个语句,可以是一个简单的语句,还可以是复合语句(用花括号括起来的若干语句)。
执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式中的“表达式”,它也称为循环条件表达式。当此表达式的值为“真”(以非0值表示)时,就执行循环体语句;为“假”(以0表示)时,就不执行循环体语句。
例如“i < =5式,它是一个关系表达式。它的值只能是“真”或“假”。在执行whil件表达式的值,当为非0值(真)时,就执行while语句中的循环体时,不执行循环体语句。while语句可简单地记为:只要当循环条件表达式为真(即给定的条件成立),就执行循环体语句。
注意:while循环的特点是先判断条件表达式,后执行循环体语句。
通过下面的例子,可以学习到怎样利用while语句进行循环程序设计。
例题:
求1+2 + 3 +……+ 100。
解题思路:
在处理这个问题时,先分析此题的特点:
( 1 )这是一个累加的问题,需要先后将100个数相加。要重复进行100次加法运算,显然可以用循环结构来实现。重复执行循环体100次,每次加一个数。
( 2 )分析每次所加的数有无规律。发现每次累加的数是有规律的,后一个数是前一个数加1。因此不需要每次用scanf语句从键盘临时输入数据,只须在加完上一个数i后,使加1就可得到下一个数。
编写程序:
运行结果:
程序分析:
( 1 )循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语句出现。如果不加花括号,则while语句的范围只到while后面第1个分号处。例如,本例中while语句中如无花括号,则while语句范围只到“sum = sum + i;”为止。
( 2 )不要忽略给i和sum赋初值(这是未进行累加前的初始情况),否则它们的值是不可预测的,结果显然不正确。读者可上机试一下。
( 3 )在循环体中应有使循环趋向于结束的语句。例如,在本例中循环结束的条件是“i > 100”,因此在循环体中应该有使i增值以最终导致i > 100的语句,本例用“i + +;”语句来达到此目的。如果无此语句,则i的值始终不改变,循环永远不结束。