日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言 程序代码编写规范

發(fā)布時(shí)間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 程序代码编写规范 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

一個(gè)好的程序編寫(xiě)規(guī)范是編寫(xiě)高質(zhì)量程序的保證。清晰、規(guī)范的源程序不僅僅是方便閱讀,更重要的是能夠便于檢查錯(cuò)誤,提高調(diào)試效率,從而最終保證軟件的質(zhì)量和可維護(hù)性。

說(shuō)明

l?本文檔主要適用于剛剛開(kāi)始接觸編程的初學(xué)者。

l?對(duì)于具有一定工程項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)的程序員,建議學(xué)習(xí)C語(yǔ)言程序代碼編寫(xiě)規(guī)范—高級(jí)版。

目錄

1?代碼書(shū)寫(xiě)規(guī)范

2?注釋書(shū)寫(xiě)規(guī)范

3?命名規(guī)范

4?其它一些小技巧和要求

1?代碼書(shū)寫(xiě)規(guī)范

1.1函數(shù)定義

花括號(hào): { }

每個(gè)函數(shù)的定義和說(shuō)明應(yīng)該從第1列開(kāi)始書(shū)寫(xiě)。函數(shù)名(包括參數(shù)表)和函數(shù)體的花括號(hào)應(yīng)該各占一行。在函數(shù)體結(jié)尾的括號(hào)后面可以加上注釋,注釋中應(yīng)該包括函數(shù)名,這樣比較方便進(jìn)行括號(hào)配對(duì)檢查,也可以清晰地看出來(lái)函數(shù)是否結(jié)束。

范例1:函數(shù)的聲明

void?matMyFunction(int?n)

{

……

}?/*?matMyFunction*/

1.2空格與空行的使用

要加空格的場(chǎng)合

l?在逗號(hào)后面和語(yǔ)句中間的分號(hào)后面加空格,如:

int?i,?j,?k;

for?(i?=?0;?i?<?n;?i++)

result?=?func(a,?b,?c);

l?在二目運(yùn)算符的兩邊各留一個(gè)空格,如

a?>?b????a?<=?b??i?=?0

l?關(guān)鍵字兩側(cè),如if?()?,?不要寫(xiě)成if()?

l?類(lèi)型與指針說(shuō)明符之間一定要加空格:

char?*szName;

不加空格的場(chǎng)合

l?在結(jié)構(gòu)成員引用符號(hào).和->左右兩加不加空格:

pStud->szName,??Student.nID

l?不在行尾添加空格或Tab

l?函數(shù)名與左括號(hào)之間不加空格:

?func()

l?指針說(shuō)明符號(hào)*與變量名間不要加空格:

int?*pInt;?不要寫(xiě)成:?int?*?pInt;

l?復(fù)合運(yùn)算符中間不能加空格,否則會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤,如:

a?+?=?b??????a?<?=?b????都是錯(cuò)誤的

空行與換行

l?函數(shù)的變量說(shuō)明與執(zhí)行語(yǔ)句之間加上空行;

l?每個(gè)函數(shù)內(nèi)的主要功能塊之間加空行表示區(qū)隔;

l?不要在一行中寫(xiě)多條語(yǔ)句.

范例2:空行與換行

int?main()

{

????int?i,?j,?nSum?=?0;??//變量說(shuō)明

????

????for?(i?=?0;?i?<?10;?i++)??//執(zhí)行代碼

????{

for?(j?=?0;?j?<?10;?j++)

{

?????nSum?+=?i;

}

????}

}

1.3縮進(jìn)的設(shè)置

根據(jù)語(yǔ)句間的層次關(guān)系采用縮進(jìn)格式書(shū)寫(xiě)程序,每進(jìn)一層,往后縮進(jìn)一層

有兩種縮進(jìn)方式:1,使用Tab鍵;2采用4個(gè)空格。

整個(gè)文件內(nèi)部應(yīng)該統(tǒng)一,不要混用Tab鍵和4個(gè)空格,因?yàn)椴煌木庉嬈鲗?duì)Tab鍵的處理方法不同。

1.4折行的使用

·?每行的長(zhǎng)度不要超過(guò)80個(gè)字符,當(dāng)程序行太長(zhǎng)時(shí),應(yīng)該分行書(shū)寫(xiě)。

·?當(dāng)需要把一個(gè)程序行的內(nèi)容分成幾行寫(xiě)時(shí),操作符號(hào)應(yīng)該放在行末。

·?分行時(shí)應(yīng)該按照自然的邏輯關(guān)系進(jìn)行,例如:不要把一個(gè)簡(jiǎn)單的邏輯判斷寫(xiě)在兩行上。

·?分行后的縮進(jìn)應(yīng)該按照程序的邏輯關(guān)系進(jìn)行對(duì)齊。例如:參數(shù)表折行后,下面的行應(yīng)該在參數(shù)表左括號(hào)的下方。

范例2:折行的格式

dwNewShape?=?matAffineTransform(coords,?translation,

??rotation);

if?(((new_shape.x?>?left_border)?&&

(new_shape.x?<?right_border))?&&

((new_shape.y?>?bottom_border)?&&

(new_shape.y?<?top_border)))

{

????draw(new_shape);

}

1.5嵌套語(yǔ)句(語(yǔ)句塊)的格式

對(duì)于嵌套式的語(yǔ)句--即語(yǔ)句塊(如,if、while、for、switch等)應(yīng)該包括在花括號(hào)中。花括號(hào)的左括號(hào)應(yīng)該單獨(dú)占一行,并與關(guān)鍵字對(duì)齊。建議即使語(yǔ)句塊中只有一條語(yǔ)句,也應(yīng)該使用花括號(hào)包括,這樣可以使程序結(jié)構(gòu)更清晰,也可以避免出錯(cuò)。建議對(duì)比較長(zhǎng)的塊,在末尾的花括號(hào)后加上注釋以表明該語(yǔ)言塊結(jié)束。

范例3:嵌套語(yǔ)句格式

if?(value?<?max)?

{

????if?(value?!=?0)

????{

?????????func(value);

????}

}

}?else?{

????error("The?value?is?too?big.");

}?/*?if?(value?<?max)?*/

2?注釋書(shū)寫(xiě)規(guī)范

注釋必須做到清晰,準(zhǔn)確地描述內(nèi)容。對(duì)于程序中復(fù)雜的部分必須有注釋加以說(shuō)明。注釋量要適中,過(guò)多或過(guò)少都易導(dǎo)致閱讀困難。

2.1注釋風(fēng)格

·?C語(yǔ)言中使用一組(/*?…?*/)作為注釋界定符。

·?注釋內(nèi)容盡量用英語(yǔ)方式表述。

·?注釋的基本樣式參考范例4。

·?注釋?xiě)?yīng)該出現(xiàn)在要說(shuō)明的內(nèi)容之前,而不應(yīng)該出現(xiàn)在其后。

·?除了說(shuō)明變量的用途和語(yǔ)言塊末尾使用的注釋,盡量不使用行末的注釋方式。

范例4:幾種注釋樣式

/*

*?************************************************

*?強(qiáng)調(diào)注釋

*?************************************************

*/

/*

*?塊注釋

*/

/*?單行注釋?*/

//單行注釋

int?i;?/*行末注釋*/

2.2何時(shí)需要注釋

·?如果變量的名字不能完全說(shuō)明其用途,應(yīng)該使用注釋加以說(shuō)明。

·?如果為了提高性能而使某些代碼變得難懂,應(yīng)該使用注釋加以說(shuō)明。

·?對(duì)于一個(gè)比較長(zhǎng)的程序段落,應(yīng)該加注釋予以說(shuō)明。如果設(shè)計(jì)文檔中有流程圖,則程序中對(duì)應(yīng)的位置應(yīng)該加注釋予以說(shuō)明。

·?如果程序中使用了某個(gè)復(fù)雜的算法,建議注明其出處。

·?如果在調(diào)試中發(fā)現(xiàn)某段落容易出現(xiàn)錯(cuò)誤,應(yīng)該注明。

3 命名規(guī)范

3.1常量、變量命名

l?符號(hào)常量的命名用大寫(xiě)字母表示。如:

#define?LENGTH?10

l?如果符號(hào)常量由多個(gè)單詞構(gòu)成,兩個(gè)不同的單詞之間可以用下劃線連接。如:

#define?MAX_LEN?50

變量命名的基本原則:

l?可以選擇有意義的英文(小寫(xiě)字母)組成變量名,使人看到該變量就能大致清楚其含義。

l?不要使用人名、地名和漢語(yǔ)拼音。

l?如果使用縮寫(xiě),應(yīng)該使用那些約定俗成的,而不是自己編造的。

l?多個(gè)單詞組成的變量名,除第一個(gè)單詞外的其他單詞首字母應(yīng)該大寫(xiě)。如:

dwUserInputValue。

3.2函數(shù)命名

函數(shù)命名原則與變量命名原則基本相同。對(duì)于初學(xué)者,函數(shù)命名可以采用“FunctionName”的形式。

4 其它一些小技巧和要求

l?函數(shù)一般情況下應(yīng)該少于100

l?函數(shù)定義一定要包含返回類(lèi)型,沒(méi)有返回類(lèi)型加void

l?寫(xiě)比較表達(dá)式時(shí),將常量放在左邊

10?==?n

NULL?!=?pInt

l?指針變量總是要初始或重置為NULL

l?使用{}包含復(fù)合語(yǔ)句,即使是只有一行,如:

if?(1?==?a)

{

????x?=?5;

}

總結(jié)

以上是生活随笔為你收集整理的C语言 程序代码编写规范的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。