4.1.10 空语句
空语句仅由一个分号“;”构成,是C51语言中有一个特殊的表达式语句,常用于程序延时。空语句在语法上完全正确,但没有任何执行结果。在C51中,while、for构成的循环语句后面直接加一个分号,便构成一个不执行其他操作的空循环体,可以用于延时。空语句的程序示例如下。
include<stdio.h>//头文件
void main()//主函数
{
int a;//声明变量
printf(“First output”);//输出字符串
printf(“Waiting!……”);//输出字符串
for(a=0;a<1000;a++);//循环执行空语句,延时
printf(“Second output”);//延时后输出字符串
}
该程序可以在KeilµVision3编译环境中执行,其运行的结果如下所示。
First output
Waiting!……
Second output
该程序中,for语句后面没有任何循环体语句,而直接跟一个分号构成一个空循环。这样的程序执行没有任何实际意义,唯一可以实现的是消耗CPU时间,用来使程序延时。程序运行的结果是首先输出前两个字符串,然后延时一段时间后输出后一个字符串。
说明延时函数还可以采用C51头文件intrins.h中的空函数“nop()”来表示。该函数单纯地消耗CPU时间,不执行任何有意义的操作。