表达式句子是最基本的一种句子。不同的程序设计言语都会有不相同的表达式句子,如VB就是在表达式后边参加回车就构成了VB的表达式句子,而在51单片机的C言语中则是参加分号“;”构成表达式句子。举例如下:
b = b * 10;
Count++;
X = A;Y = B;
Page = (a+b)/a-1;
以上的都是合法的表达式句子。在我收到的一些网友的Email中,发现许多初学的朋友往往在编写调试程序时疏忽了分号“;”,构成程序不法被正常的编译。我个人的经历是在遇到编译错误时先语法是否有误,这在初学时往往会因在程序中参加了全角符号、运算符打错漏掉或没有在后边加“;”。
在C言语中有一个特别的表达式句子,称为空句子,它仅仅是由一个分号“;”组成。有时分为了使语法正确,那么就要求有一个句子,但这个句子又没有实践的运转作用那么这时就要有一个空句子。说起来就像咱们在晚自修的时分用书包占位相同,呵呵。
空句子通常用会以下两种用法。
(1)while,for构成的循环句子后边加一个分号,构成一个不履行其它操作的空循环体。我会会常常用它来写等候事情产生的程序。咱们要留意的是“;”号作为空句子使用时,要与句子中有用组成部分的分号相区别,如 for (;a《50000;a++);第一个分号也应该算是空句子,它会使a赋值为0(但要留意的是如程序前有a值,则a的初值为a的当时值),最终一个分号则使整个句子行成一个空循环。那么for (;a《50000;a++);就相当于for (a=0;a《50000;a++);我个人习气是写后边的写法,这样能使人更容易读理解。
(2)在程序中为有关句子供给标号,符号程序履行的方位,使相关句子能跳转到要履行的方位。这会用在goto句子中。
下面的示例程序是简略阐明while空句子的用法。硬件的功用很简略,就是在P3.7上接一个开关,当开关按下时P1上的灯展全亮起来。当然实践使用中按键的功用完成并没有这么的简略,往往还要进行防抖动处理等。
先在咱们的试验板上加一个按键。电路图如图8-1。
图8-1 加了按键的试验电路图
程序如下:
#include
void main(void)
{
unsigned int a;
do
{
P1 = 0xFF; //封闭P1上的LED
while(P3_7); //空句子,等候P3_7按下为低电平,低电平时履行下面的句子
P1 = 0; //点亮LED
for(;a《60000;a++); //这也是空句子的用法,留意a的初值为当时值
} //这样第一次按下时会有一延时点亮一段时间,今后按多久就亮多久
while(1); //点亮一段时间后封闭再次判别P3_7,如此循环
}