單片機(jī)c語(yǔ)言教程:C51表達(dá)式語(yǔ)句及仿真器
前面學(xué)習(xí)了大部分的基本語(yǔ)法,以下所要學(xué)習(xí)的各種基本語(yǔ)句的語(yǔ)法能說(shuō)是組成程序的靈魂。在前面的課程中的例子里,也簡(jiǎn)單理解過(guò)一些語(yǔ)句的使用方法,能看出C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。C 語(yǔ)言供給了相當(dāng)豐富的程序控制語(yǔ)句。學(xué)習(xí)掌握這些語(yǔ)句的使用方法也是單片機(jī)C語(yǔ)言學(xué)習(xí)中的重點(diǎn)。
本文引用地址:http://www.biyoush.com/article/170884.htm表達(dá)式語(yǔ)句是最基本的一種語(yǔ)句。不一樣的程序設(shè)計(jì)語(yǔ)言都會(huì)有不一樣的表達(dá)式語(yǔ)句,如VB就是在表達(dá)式后面加入回車就構(gòu)成了VB 的表達(dá)式語(yǔ)句,而在51單片機(jī)的C語(yǔ)言中則是加入分號(hào)“;”構(gòu)成表達(dá)式語(yǔ)句。舉例如下:
b = b * 10; Count++;
X = A;Y = B;
Page = (a+b)/a-1;
以上的都是合法的表達(dá)式語(yǔ)句。在我收到的一些網(wǎng)友的 Email 中,發(fā)現(xiàn)很多開(kāi)始學(xué)習(xí)的朋友一般在編寫(xiě)調(diào)試程序時(shí)忽略了分號(hào)“;”,造成程序不能被正常的編譯。我本人的經(jīng)驗(yàn)是在遇 到編譯錯(cuò)誤時(shí)先語(yǔ)法是否有誤,這在開(kāi)始學(xué)習(xí)時(shí)一般會(huì)因在程序中加入了全角符號(hào)、運(yùn)算符打錯(cuò) 漏掉或沒(méi)有在后面加“;”。
在 C 語(yǔ)言中有一個(gè)特殊的表達(dá)式語(yǔ)句,稱為空語(yǔ)句,它僅僅是由一個(gè)分號(hào)“;”組成。 有時(shí)候?yàn)榱耸拐Z(yǔ)法正確,那么就要求有一個(gè)語(yǔ)句,但這個(gè)語(yǔ)句又沒(méi)有實(shí)際的運(yùn)行效果那么這 時(shí)就要有一個(gè)空語(yǔ)句。說(shuō)起來(lái)就像大家在晚自修的時(shí)候用書(shū)包占位一樣,呵呵。
空語(yǔ)句通常用會(huì)以下兩種使用方法。
(1)while,for 構(gòu)成的循環(huán)語(yǔ)句后面加一個(gè)分號(hào),形成一個(gè)不執(zhí)行其它操作的空循環(huán)體。 我會(huì)會(huì)常常用它來(lái)寫(xiě)等待事件發(fā)生的程序。大家要注意的是“;”號(hào)作為空語(yǔ)句使用時(shí),要 與語(yǔ)句中有效組成部分的分號(hào)相區(qū)別,如 for (;a50000;a++);第一個(gè)分號(hào)也應(yīng)該算是 空語(yǔ)句,它會(huì)使 a 賦值為 0(但要注意的是如程序前有 a 值,則 a 的初值為 a 的當(dāng)前值),最后一個(gè)分號(hào)則使整個(gè)語(yǔ)句行成一個(gè)空循環(huán)。若此時(shí) a=0,那么 for (;a50000;a++);就相當(dāng)
于 for (a=0;a50000;a++);我本人習(xí)慣是寫(xiě)后面的寫(xiě)法,這樣能使人更不難讀明白。 (2)在程序中為有關(guān)語(yǔ)句供給標(biāo)號(hào),標(biāo)記程序執(zhí)行的位置,使相關(guān)語(yǔ)句能跳轉(zhuǎn)到要執(zhí)行
的位置。這會(huì)用在 goto 語(yǔ)句中。
下面的示例程序是簡(jiǎn)單說(shuō)明 while 空語(yǔ)句的使用方法。硬件的功能很簡(jiǎn)單,就是在 P3.7 上 接一個(gè)開(kāi)關(guān),當(dāng)開(kāi)關(guān)按下時(shí) P1 上的燈會(huì)全亮起來(lái)。當(dāng)然實(shí)際應(yīng)用中按鈕的功能實(shí)現(xiàn)并沒(méi)有 這么的簡(jiǎn)單,一般還要進(jìn)行防抖動(dòng)處理等。
先在我們的實(shí)驗(yàn)板上加一個(gè)按鈕。電路圖如圖 10-1。

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評(píng)論