首页 理论教育 C51单片机while语句使用技巧

C51单片机while语句使用技巧

时间:2023-11-17 理论教育 版权反馈
【摘要】:while语句的意思很容易理解,其英语单词解释的意思是“当…的时候”,在这里我们可以理解为“当条件为真的时候就执行后面的语句”。while语句的一般形式为其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。使用while语句时要注意当条件表达式为真时,它执行后面的语句,执行一次完成之后再次回到while执行条件判断,如果为真,则重复执行语句,为假时退出循环体。

C51单片机while语句使用技巧

while语句的意思很容易理解,其英语单词解释的意思是“当…的时候”,在这里我们可以理解为“当条件为真的时候就执行后面的语句”。

while语句的一般形式为

978-7-111-30335-0-Chapter04-30.jpg

其中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。

使用while语句时要注意当条件表达式为真时,它执行后面的语句,执行一次完成之后再次回到while执行条件判断,如果为真,则重复执行语句,为假时退出循环体。当条件一开始就为假时,那么while后面的循环体一次都不会被执行就退出整个循环。

While语句的执行过程如图4-6所示。

978-7-111-30335-0-Chapter04-31.jpg

图4-6 while语句的执行过程

【例4-12】用while语句求

978-7-111-30335-0-Chapter04-32.jpg

用传统流程图和N-S结构流程图表示算法,如图4-7所示。

978-7-111-30335-0-Chapter04-33.jpg

978-7-111-30335-0-Chapter04-34.jpg

图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()

978-7-111-30335-0-Chapter04-35.jpg

程序运行后的输出结果;

sum=5050

注意:

1)如果在第一次进入循环时,while后圆括号内表达式的值为0,循环一次也不执行。在本程序中,如果i的初值大于100,将使表达式i<=100的值为0,循环体也不执行。

2)在循环体中一定要有使循环趋向结束的操作,以上循环体内的语句i++使i不断增1,当i>100时,循环结束.如果没有i++;这一语句,则a的值始终不变,循环将无限进行。

3)在循环体中,语句的先后位置必须符合逻辑,否则将会影响运算结果,例如,若将上例中的while循环体改写成:

978-7-111-30335-0-Chapter04-36.jpg

运行后,将输出:

sum=5150

运行的过程中,少加了第一项的值1,而多加了最后一项的值101。

单片机C语言设计小实例1】程序显示从1到10的累加和,读者可以修改一下

while中的条件看看结果会如果,从而体会一下while的使用方法。

978-7-111-30335-0-Chapter04-37.jpg

978-7-111-30335-0-Chapter04-38.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈