while语句的意思很容易理解,其英语单词解释的意思是“当…的时候”,在这里我们可以理解为“当条件为真的时候就执行后面的语句”。
while语句的一般形式为
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。
使用while语句时要注意当条件表达式为真时,它执行后面的语句,执行一次完成之后再次回到while执行条件判断,如果为真,则重复执行语句,为假时退出循环体。当条件一开始就为假时,那么while后面的循环体一次都不会被执行就退出整个循环。
While语句的执行过程如图4-6所示。
图4-6 while语句的执行过程
【例4-12】用while语句求
图4-7 程序流程图
【例4-13】编写程序,求1~100累加和。
这是一个求100个数的累加和问题。所加的加数从1变化到100,可以看到加数是有规律变化的,后一个加数比前一个加数增1,第一个加数为1,最后一个加数为100。因此,可以在循环中使用一个整型变量i,每循环一次,使i增1,一直循环到i的值超过100,用这个办法就解决了所需的加数问题。但是要特别注意的是变量i需要有一个正确的初值,在这里它的初值应当设定为0。
下一个要解决的是求累加和。设用一个变量sum来存放这100个数的和值,可以先求0+1的和并将其放在sum中,然后把sum中的数加上2再放在sum中,依次类推。这和人们心算的过程没有什么区别,sum代表着人们脑中累加的那个和数,不同的是心算的过程由人们自己控制。在这里,sum累加的过程要放在循环中,由计算机来判断所加的数是否已经超过100,加数则放在变量i中,并在循环过程中一次次增1。(www.xing528.com)
以下就是求累加和的典型程序。
main()
程序运行后的输出结果;
sum=5050
注意:
1)如果在第一次进入循环时,while后圆括号内表达式的值为0,循环一次也不执行。在本程序中,如果i的初值大于100,将使表达式i<=100的值为0,循环体也不执行。
2)在循环体中一定要有使循环趋向结束的操作,以上循环体内的语句i++使i不断增1,当i>100时,循环结束.如果没有i++;这一语句,则a的值始终不变,循环将无限进行。
3)在循环体中,语句的先后位置必须符合逻辑,否则将会影响运算结果,例如,若将上例中的while循环体改写成:
运行后,将输出:
sum=5150
运行的过程中,少加了第一项的值1,而多加了最后一项的值101。
【单片机C语言设计小实例1】程序显示从1到10的累加和,读者可以修改一下
while中的条件看看结果会如果,从而体会一下while的使用方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。