首页
/
每日頭條
/
科技
/
c語言必背100行代碼編程入門教學
c語言必背100行代碼編程入門教學
更新时间:2024-08-08 16:06:47

c語言必背100行代碼編程入門教學(C代碼書寫規範推薦新手程序員)1

代碼就是程序員的面子,無論是在工作中在電腦上寫程序代碼還是在面試時在紙上寫演示代碼我們都希望寫出整潔,優雅的代碼。特别在工作中當我們碰到需要維護别人的代碼,或者是多人參與一個項目大家一起寫代碼的時候,如果碰到一些醜陋的代碼,我們還要看懂并且修改它的時候,那種難受,肯定會讓我們回想起多年以前自己還是新手程序員的時候,寫下的那些醜陋的代碼,并且深深内疚于将它們留給了我們的後繼者,不知道他們和它們是否還安好。所以,強調代碼的規範性,寫出整潔,優雅,可讀性高的代碼應該是成為一個合格的程序員的第一步。這裡我就抛磚引玉,給大家一些關于C 代碼規範性的一些建議。

一、關于添加空格和空行的一些建議

寫代碼的時候添加良好風格的空格和空行可以使代碼看上去更整潔,布局更清晰。

1.空格

· 建議一:函數名之後不要留空格,緊跟左括号‘ (’,以與關鍵字區别。

· 建議二:象 if for、 **while **等關鍵字之後應留一個空格再跟左括号‘ (’,以突出關鍵字。

· 建議三:‘,’之後要留空格。在for語句中的‘;’其後要留空格,如 for (i=0; i<5; i )。

· 建議四:對于表達式比較長的 **for **語句和 **if **語句,為了緊湊起見可以适當地去掉一些空格。

· 建議五:賦值操作符、比較操作符、算術操作符、邏輯操作符、位域操作符,如“ =”、“ =” “>=”、“ <=”、“ ”、“ *”、“ %”、“ &&”、“ <<”、 “ ^”等二元操作符的前後應當加空格。

  • 建議六:一元操作符如“ !”、“ ~”、“ ”、“ --”、“ &”(地址運算符)等前後不加空格。

下面這段代碼就會顯得不優雅,看着有些别扭。

//不好的風格 void func (int a,int b,int c,int d) { if(a>=0) { if(a>=b&&c>=d) { int * x = & a; ...//doSomeThing(); } } }

我們希望将它改為這樣。

//良好的風格 void func(int a, int b, int c, int d)//建議一,建議三 { if (a >= 0)//建議二,建議五 { if ((a>=b) && (c>=d))//建議四 { int *x = &a; //建議六 ...//doSomeThing(); } } }

還有這樣的for語句for (i = 0; i < 5; i ),就屬于空格濫用了,應該改為for (i=0; i<5; i )。

2.空行

  • 建議一:在實現函數時,函數與函數之間應加空行。
  • 建議二:在一個函數體内,邏揖上密切相關的語句之間不加空行,其它地方應加空行。

當程序中沒有空行時是這樣的。

void func1() { while (condition) { ...//doSomeThing(); if (condition) { ...//doSomeThingRelated(); } else { ...//doSomeThingRelated(); } ...//doSomeThing(); } } void func2() { ...//doSomeThing(); }

而良好的空行不緊能使代碼看上去更整潔,代碼邏輯也會更清晰。

//良好的風格 void func1() { while (condition) { ...//doSomeThing(); if (condition) { ...//doSomeThingRelated(); } else { ...//doSomeThingRelated(); } ...//doSomeThing(); } } void func2() { ...//doSomeThing(); }

二、關于代碼行格式的一些建議

· 建議一:一行代碼隻做一件事情。

· 建議二:長表達式要在低優先級操作符處拆分成新行,操作符放在新行之首 (以便突出操作符)。拆分出的新行要進行适當的縮進,使排版整齊,語句可讀。

//不好的風格 void func() { int veryVeryLongWidth, veryVeryLongHeight; if ((veryVeryLongWidth > veryVeryLongHeight) || (veryVeryLongWidth < veryVeryLongHeight))doSomeThing(); }

過長的代碼行無論是書寫還是閱讀對人來說都不是一個美好的體驗,所以我們建議以上代碼要這樣寫。

//良好的風格 void func() { int veryVeryLongWidth; int veryVeryLongHeight; if ((veryVeryLongWidth > veryVeryLongHeight) || (veryVeryLongWidth < veryVeryLongHeight)) { doSomeThing(); } }

c語言必背100行代碼編程入門教學(C代碼書寫規範推薦新手程序員)2

三、關于命名的一些建議

· 建議一:變量,函數,文件命名應該具有描述性,最好采用英文單詞或其組合(不要使用拼音,或者無意義的abc之類的,除了像for (i=0; i<5; i )中的i這樣的),以便記憶和閱讀。

· 建議二:類名和函數名用大寫字母開頭的單詞組合而成。

例如:

class Book; class ReadBook; void Draw(); void DrawImage();

· 建議三:變量和參數用小寫字母開頭的單詞組合而成。

例如:

int value; void SetValueMode(int valueMode);

· 建議四:常量全用大寫的字母,用下劃線分割單詞。

例如:

const int MAX = 100; const int MAX_LENGTH = 100;

· 建議五:全局變量加前綴 g_(表示 global)。靜态變量加前綴 s_(表示 static)。類的成員變量加前綴 m_(表示 member)。

例如:

int g_maxValue; static int s_maxValue; void Object::SetValue(int maxValue) { m_maxValue = maxValue; }

四、關于添加注釋的一些建議

在C 中注釋主要有兩種,程序塊的注釋常采用“ /*…*/”,行注釋一般采用“ //…”。注釋主要用在3個地方。1、版權申明,2、函數說明,3、重要或複雜代碼提示。對于前兩種,每個人或者每個公司都有個人的規範和習慣,這裡隻要大家在公司内部統一即可。關于第三種給重要或複雜代碼添加提示,我們有一下幾點建議。

· 建議一:注釋的确很重要,但是最好的代碼本身就是文檔(self-document),類型和變量命名意義明确要比通過注釋解釋模糊命名好得多

· 建議二:邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一緻性。不再有用的注釋要記得删除。

· 建議三:注釋的位置應與被描述的代碼相鄰,可以放在代碼的上方或右方,不可放在下方。

五、關于類中成員聲明次序的一些建議
  • 建議一:在類中按照public:、protect:、private:的次序聲明。如果那一塊沒有直接忽略。
  • 建議二:在同一塊中按照1、結構體和枚舉,2、常量,3、構造函數,4、析構函數,5、成員函數,6、成員變量的次序聲明。
六、關于if語句中的變量“與零值比較”的一些建議
  • 建議一:不可将布爾變量直接與 TRUE、 **FALSE **或者 1、 **0 **進行比較。

假設布爾變量名字為 flag,它與零值比較的标準 if 語句如下:

if (flag) // 表示 flag 為真 if (!flag) // 表示 flag 為假

  • 建議二:應當将整型變量用“ ==”或“!=”直接與 0 比較。
  • 假設整型變量的名字為 value,它與零值比較的标準 if 語句如下:

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

也可以将0放在比較運算符前面。

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

這時如果将“==”寫成“=”,編譯器會報錯。

· 建議三:不可将浮點變量用“ ==”或“!=”與任何數字比較。無論是 float 還是 double 類型的變量,都有精度限制。所以一定要避免将浮點變量用“ ==”或“!=”與數字比較,應該設法轉化成“ >=”或“ <=”形式。

假設浮點變量的名字為 x,應當将

if (x == 0.0) // 隐含錯誤的比較

修改為

const float EPSINON = 0.00001; if ((x>=-EPSINON) && (x<=EPSINON))

其中 EPSINON 是允許的誤差(即精度)。

· 建議四:應當将指針變量用“ ==”或“! =”與** NULL **比較。

假設指針變量的名字為 p,它與零值比較的标準 if 語句如下:

if (p == NULL) // p 與 NULL 顯式比較,強調 p 是指針變量 if (p != NULL)

c語言必背100行代碼編程入門教學(C代碼書寫規範推薦新手程序員)3

有什麼好的想法,歡迎評論。 喜歡的關注收藏哦!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
C盤突然滿了怎麼辦
C盤突然滿了怎麼辦
電腦是我們經常使用的一種智能處理設備,熟練掌握軟件操作技能能幫助我們更好的娛樂生活。你知道C盤突然滿了怎麼辦嗎?快來看看吧!方法一:删除C盤中一些沒用的文件方法二:将C盤中的軟件剪切到别的盤中。方法三:對C盤進行磁盤清理,右擊C盤點擊“屬性”,點擊“磁盤清理”即可。在清理C盤時一定要小心,不要動到重...
2024-08-08
電腦的全屏快捷鍵是什麼 電腦的其他快捷鍵有什麼
電腦的全屏快捷鍵是什麼 電腦的其他快捷鍵有什麼
電腦的全屏快捷鍵是CTRL+M。1、首先電腦打開任意視頻播放器為例,然後點擊播放視頻。2、點擊進入播放頁面。3、進入播放頁面後,按Alt+回車鍵。其他快捷鍵:Win鍵+L鎖屏鍵。Win鍵+M最小化所有被打開的窗口。Win鍵+SHIFT+M重新将恢複上一項操作前窗口的大小和位置。Win鍵+D瞬間最小化...
2024-08-08
如何選擇台式機電源
如何選擇台式機電源
1、大小要合适買電源一定要先看好主機的大小,不要買的太大了,主機裡放不下就OVER了。2、看功率電腦...
2024-08-08
qcpass标簽是什麼意思
qcpass标簽是什麼意思
演示機型:華為P40系統版本:EMUI11qcpass簡稱qc,qcpass意思是質量檢查通過。一般産品質量檢查合格,廠家即可給産品貼上qcpass标簽貼。例如手機生産後,經過質量檢查是好的産品,廠家便會貼的一個合格标示。中文的意思即質量通過。華為小技巧:一、關于截屏:華為手機的截屏功能非常強大而且智能。大部分人的截屏方式是同時按住音量下鍵+電源鍵來實現的。那麼有沒有更快速的截屏方式呢。1、使用指
2024-08-08
微信十大隐藏功能
微信十大隐藏功能
1、悄悄加回已删好友:很多人删掉别人事後又後悔,不過單方面删除他人是可以重新添加好友,而且不需要驗證...
2024-08-08
Copyright 2023-2024 - www.tftnews.com All Rights Reserved