單片機C語言中的表達式語句及複合語句

 

1.  表達式語句

在表達式的後邊加一個分號“;”就構成了表達式語句 ,如:

a=++b*9;

x=8;y=7;

++k;

可以一行放一個表達式形成表達式語句,也可以一行放多個表達式形成表達式語句,這時每個表達式後面都必須帶“;”號,另外,還可以僅由—個分號“;”佔一行形成一個表達式語句,這種語句稱爲空語句。

空語句在程序設計中通常用於兩種情況:

(1)在程序中爲有關語句提供標號,用以標記程序執行的位置。例如採用下面的語句可以構成一個循環。

repeat:;

     :

     goto  repeat;

(2)在用while語句構成的循環語句後面加一個分號,形成一個不執行其它操作的空循環體。這種結構通常用於對某位進行判斷,當不滿足條件則等待,滿足條件則執行。

【例】下面這段子程序用於讀取8051單片機的串行口的數據,當沒有接收到則等待,當接收到,接收數據後返回,返回值爲接收的數據。

#include  <reg51.h>

char  getchar()

{

char  c;

while(!RI);             //當接收中斷標誌位RI爲0則等待,當接收中斷標誌位爲1則;等待結束

c=SBUF;

RI=0;

return(c);

}

2.  複合語句

複合語句是由若干條語句組合而成的一種語句,在C51中,用一個大括號“{  }”將若干條語句括在一起就形成了一個複合語句,複合語句最後不需要以分號“;”結束,但它內部的各條語句仍需以分號“;”結束。複合語句的一般形式爲:

{

局部變量定義;

語句l;

語句2;

}

複合語句在執行時,其中的各條單語句按順序依次執行,整個複合語句在語法上等價於一條單語句,因此在C51中可以將複合語句視爲一條單語句。通常複合語句出現在函數中,實際上,函數的執行部分(即函數體)就是一個複合語句;複合語句中的單語句一般是可執行語句,此外還可以是變量的定義語句(說明變量的數據類型)。在複合語句內部語句所定義的變量,稱爲該複合語句中的局部變量,它僅在當前這個複合語句中有效。利用複合語句將多條單語句組合在—起,以及在複合語句中進行局部變量定義是C51語言的一個重要特徵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章