<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C51單片機編程規范

C51單片機編程規范

作者: 時(shí)間:2012-08-12 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/171054.htm

編制函數的基本原則:
l 單個(gè)函數的規模盡量限制在200行以?xún)龋ú话ㄗ⑨尯涂招校?。一個(gè)函數只完成一個(gè)功能。
l 函數局部變量的數目一般不超過(guò)5~10個(gè)。
l 函數內部局部變量定義區和功能實(shí)現區(包含變量初始化)之間空一行。
l 函數名應準確描述函數的功能。通常使用動(dòng)賓詞組為執行某操作的函數命名。
l 函數的返回值要清楚明了,尤其是出錯返回值的意義要準確無(wú)誤。
l 不要把與函數返回值類(lèi)型不同的變量,以編譯系統默認的轉換方式或強制的轉換方式作為返回值返回。
l 減少函數本身或函數間的遞歸調用。
l 盡量不要將函數的參數作為工作變量。

7.2 函數定義
l 函數若沒(méi)有入口參數或者出口參數,應用void明確申明。
l 函數名稱(chēng)與出口參數類(lèi)型定義間應該空一格且只空一格。
l 函數名稱(chēng)與括號()之間無(wú)空格。
l 函數形參必須給出明確的類(lèi)型定義。
l 多個(gè)形參的函數,后一個(gè)形參與前一個(gè)形參的逗號分割符之間添加一個(gè)空格。
l 函數體的前后花括號{} 各獨占一行。

7.3 局部變量定義
l 同一行內不要定義過(guò)多變量。
l 同一類(lèi)的變量在同一行內定義,或者在相鄰行定義。
l 先定義data型變量,再定義idtata型變量,再定義xdata型變量.
l 數組、指針等復雜類(lèi)型的定義放在定義區的最后。
l 變量定義區不做較復雜的變量賦值。

7.4 功能實(shí)現區
l 一行只寫(xiě)一條語(yǔ)句。
l 注意運算符的優(yōu)先級,并用括號明確表達式的操作順序,避免使用默認優(yōu)先級。
l 各程序段之間使用一個(gè)空行分隔,加以必要的注釋。程序段指能完一個(gè)較具體的功能的一行或多行代碼。程序段內的各行代碼之間相互依賴(lài)性較強。
l 不要使用難懂的技巧性很高的語(yǔ)句。
l 源程序中關(guān)系較為緊密的代碼應盡可能相鄰。
l 完成簡(jiǎn)單功能、關(guān)系非常密切的一條或幾條語(yǔ)句可編寫(xiě)為函數或定義為宏。

8 -排版

8.1 縮進(jìn)
代碼的每一級均往右縮進(jìn)4個(gè)空格的位置。

8.2 分行
過(guò)長(cháng)的語(yǔ)句(超過(guò)80個(gè)字符)要分成多行書(shū)寫(xiě);長(cháng)表達式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)適當的縮進(jìn),使排版整齊,語(yǔ)句可讀。避免把注釋插入分行中。

8.3 空行
l 文件注釋區、頭文件引用區、函數間應該有且只有一行空行。
l 相鄰函數之間應該有且只有一行空行。
l 函數體內相對獨立的程序塊之間可以用一行空行或注釋來(lái)分隔。
l 函數注釋和對應的函數體之間不應該有空行。
l 文件末尾有且只有一行空行。

8.4 空格
l 函數語(yǔ)句尾部或者注釋之后不能有空格。
l 括號內側(即左括號后面和右括號前面)不加空格,多重括號間不加空格。
l 函數形參之間應該有且只有一個(gè)空格(形參逗號后面加空格)。
l 同一行中定義的多個(gè)變量間應該有且只有一個(gè)空格(變量逗號后面加空格)。
l 表達式中,若有多個(gè)操作符連寫(xiě)的情況,應使用空格對它們分隔:
在兩個(gè)以上的關(guān)鍵字、變量、常量進(jìn)行對等操作時(shí),它們之間的操作符前后均加一個(gè)空格;在兩個(gè)以上的關(guān)鍵字、變量、常量進(jìn)行非對等操作時(shí),其前后均不應加空格;
逗號只在后面加空格;
雙目操作符,如比較操作符, 賦值操作符=、+=,算術(shù)操作符+、%,邏輯操作符、,位操作符、^等,前后均加一個(gè)空格;
單目操作符,如!、~、++、-、(地址運算符)等,前后不加空格;
->、.前后不加空格;
if、for、while、switch等關(guān)鍵字與后面的括號間加一個(gè)空格;

8.5 花括號
l if、else if、else、for、while語(yǔ)句無(wú)論其執行體是一條語(yǔ)句還是多條語(yǔ)句都必須加花括號,且左右花括號各獨占一行。
l do{}while()結構中,do和{均各占一行,}和while();共同占用一行。
if ( ) do
{ {

} }while( );
else
{

}



關(guān)鍵詞: 規范 編程 單片機 C51

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>