機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
循環(huán)語句簡介
循環(huán)語句簡介
 更新時間:2008-7-27 15:57:54  點擊數(shù):4
【字體: 字體顏色
循環(huán)語句是幾乎每個程序都會用到的,它的作用就是用來實現(xiàn)需要反復(fù)進(jìn)行多次的操作。如一個12M的51芯片應(yīng)用電路中要求實現(xiàn)1毫秒的延時,那么就要執(zhí)行1000次空語句才可以達(dá)到延時的目的(當(dāng)然可以使用定時器來做,這里就不討論),如果是寫1000條空語句那是多么麻煩的事情,再者就是要占用很多的存儲空間。我們可以知道這1000條空語句,無非就是一條空語句重復(fù)執(zhí)行1000次,因此我們就可以用循環(huán)語句去寫,這樣不但使程序結(jié)構(gòu)清晰明了,而且使其編譯的效率大大的提高。在C語言中構(gòu)成循環(huán)控制的語句有while,do-while,for和goto語句。同樣都是起到循環(huán)作用,但具體的作用和用法又大不一樣。我們具體來看看。
goto語句
  這個語句在很多高級語言中都會有,記得小時候用BASIC時就很喜歡用這個語句。它是一個無條件的轉(zhuǎn)向語句,只要執(zhí)行到這個語句,程序指針就會跳轉(zhuǎn)到goto后的標(biāo)號所在的程序段。它的語法如下:

  goto 語句標(biāo)號;

其中的語句標(biāo)號為一個帶冒號的標(biāo)識符。示例如下

void main(void)
{
unsigned char a;
start: a++;
if (a==10) goto end;
goto start;
end:;
}

  上面一段程序可以說是一個死循環(huán),沒什么意思,只是說明一下goto的用法。這段程序的意思是在程序開始處用標(biāo)識符"start:"標(biāo)識,表示程序這是程序的開始,"end:"標(biāo)識程序的結(jié)束,標(biāo)識符的定義應(yīng)遵循前面所講的標(biāo)識符定義原則,不能用C的關(guān)鍵字也不能和其它變量和函數(shù)名相同,不然就會出錯了。程序執(zhí)行a++,a的值加1,當(dāng)a等于10時程序會跳到end標(biāo)識處結(jié)束程序,否則跳回到start標(biāo)識處繼續(xù)a++,直到a等于10。上面的示例說明goto不但可以無條件的轉(zhuǎn)向,而且可以和if語句構(gòu)成一個循環(huán)結(jié)構(gòu),這些在C程序員的程序中都不太常見,常見的goto語句用法是用它來跳出多重循環(huán),不過它只可以從內(nèi)層循環(huán)跳到外層循環(huán),不能從外層循環(huán)跳到內(nèi)層循環(huán)。在下面說到for循環(huán)語句時再略為提一提。為何大多數(shù)C程序員都不喜歡用goto語句?那是因為過多的使用它時會程序結(jié)構(gòu)不清晰,過多的跳轉(zhuǎn)就使程序又回到了匯編的編程風(fēng)格,使程序失去了C的模塊化的優(yōu)點

  • 上一篇: C51單片機(jī)內(nèi)存優(yōu)化
  • 下一篇: 單片機(jī)測頻程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1