基于proteus的51单片机仿真实例三十二、C语言的do-while循环语句

来源:互联网 发布:java客户管理系统源码 编辑:程序博客网 时间:2024/06/07 19:08
1、do-while语句
do-while语句构成循环结构的一般形式如下:
do
{语句;}
while(条件表达式);
其执行过程是:先执行一次循环体中的语句,然后再判断条件表达式的值,如果为真,则继续执行循环体,否则直接退出循环体。
因此do-while语句的特点是:无论初始条件是否满足条件表达式的要求,循环体都要至少被执行一次。所以在使用do-while语句的时候,需要认真对待这个问题。
 
2、本例利用do-while语句演示这种语句无论在任何情况下都会被至少执行一次的情况。
本例中变量的初始值为11,而条件表达式要求变量的值必须小于11才会继续执行。但是由于do-while语句的特性,即使该条件不满足,循环体还是被执行了一次。
 
3、在keil c51中新建工程ex21,编写如下程序代码,编译并生成ex21.hex文件。
//实例21:利用do-while语句求一组数据的和,并将结果送到P0口显示
#include <reg51.h>                //包含头文件
void main(void)
{
  unsigned char num,sum;    //定义两个变量,
         
 num = 11;
 sum = 0;       //变量赋初值
 do         //求num从0加到10的结果
   {
   sum = sum + num;   //求和结果送到存储求和值的变量中
  num = num + 1;
 }
 while(num < 11);       //判断是否满足循环条件
                                                      
 
 P0 = sum;      //最终结果送P0口显示,可以看到,即使循环条
                                                //件一上来就没有满足,但是循环体内的语句仍 
                                               //然被执行了一次
 while(1)     // 程序在此无限循环
 {
 }
}
4、在proteus中新建仿真文件ex21.dsn,原理图如下图所示。

5、将ex21.hex文件载入at89c51中,启动仿真,观察运行结果,如下图所示

0 0