基于proteus的51单片机仿真实例三十二、C语言的do-while循环语句
2017-04-30 09:34
465 查看
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中,启动仿真,观察运行结果,如下图所示
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中,启动仿真,观察运行结果,如下图所示
相关文章推荐
- 基于proteus的51单片机仿真实例三十一、C语言的while循环语句
- 基于proteus的51单片机仿真实例二十七、C语言的语句演示实例
- 基于proteus的51单片机仿真实例二十八、C语言的if条件语句演示实例
- 基于proteus的51单片机仿真实例三十四、C语言的break语句
- 基于proteus的51单片机仿真实例三十五、C语言的continue语句
- 基于proteus的51单片机仿真实例二十九、C语言的switch-case多分支选择语句
- 基于proteus的51单片机仿真实例四十七、C语言的指针演示实例
- 基于proteus的51单片机仿真实例四十八、C语言的指针数组演示实例
- 基于proteus的51单片机仿真实例十五、51单片机的C语言条件编译应用实例
- 基于proteus的51单片机仿真实例四十五、C语言的共用体演示实例
- 基于proteus的51单片机仿真实例十六、51单片机的C语言的标识符和关键字
- 基于proteus的51单片机仿真实例二十一、C语言的自增和自减运算演示实例
- 基于proteus的51单片机仿真实例十三、51单片机的C语言宏定义应用实例
- 基于proteus的51单片机仿真实例三十六、C语言的函数返回值
- 基于proteus的51单片机仿真实例四十六、C语言的枚举类型演示实例
- 基于proteus的51单片机仿真实例四十九、C语言数组的指针演示实例
- 基于proteus的51单片机仿真实例四十二、C语言的二维数组演示实例
- 基于proteus的51单片机仿真实例三十九、C语言的文件调用
- 基于proteus的51单片机仿真实例三十七、C语言的函数参数传递
- 基于proteus的51单片机仿真实例四十、C语言的文件调用