(1)版權資訊。
(2)檔名稱,摘要。
(3)當前版本號,作者,完成日期。
(4)版本資訊。
圖1.1 主程式說明
圖1.2 子程式說明
圖1.3 標頭檔案結構示例
(1)程式的空行起著分隔程式段落的作用。空行得體可使程式的布局清晰。函式體外的空行,在每個類宣告之後、每個函式定義結束之後都要加空行。
函式體內,邏輯上關係密切的語句不加空行,其它地方應加空行分割,從而增強程式的可讀性。
(2)書寫程式時**行的基本要求:if、for、while、do等語句自佔一行,執行語句不得緊跟其後。不論執行語句有多少都要加{}。這樣可以防止書寫失誤。
(3)對齊操作:程式的分界符『』應獨佔一行並且位於同一列,同時與引用它們的語句對齊,之內的**塊在『{』右邊數格處左對齊。
(4)程式的注釋。邊寫**邊注釋,修改**同時修改相應的注釋,以保證注釋與**的一致性。不再有用的注釋要刪除。注釋應當準確易懂,不加多餘的注釋。
函式和變數的命名規則大致遵循以下幾個原則:
(1)使用通用的共性的一些變數,如通用的迴圈變數i,j,m, n;
(2)函式和變數的命名要直觀且可以拼讀,可望文知意,並且與所編寫的程式相關聯,字元之間使用下劃線來分割單詞,如r_data, g_data, b_data;
(3)全域性變數前加上字母g_, 以便於與區域性變數相區分,程式中不要出現識別符號完全相同的區域性變數和全域性變數,儘管兩者的作用域不同而不會發生語法錯誤,但會使人誤解;
(4)變數和引數用小寫字母開頭的單詞組合而成,常量全用大寫的字母,用下劃線分割單詞。
(5)了防止某一軟體庫中的一些識別符號和其它軟體庫中的衝突,可以為各種識別符號加上能反映軟體性質的字首。例如計算機視覺技術標準opencv的所有庫函式均以cv開頭,所有常量(或巨集定義)均以cv開頭。
(1)c++/c語言的運算子數目很多,優先順序和結合順序差異很大, 一元運算子 + - * 的優先順序高於對應的二元運算子,關係運算子的優先順序高於邏輯運算子;用括號確定表示式的操作順序,避免使用預設的優先順序。
(2)if語句判斷兩個資料是否相等
a)布林變數與零值比較
不可將布林變數直接與true、false或者1、0進行比較。
根據布林型別的語義,零值為「假」(記為false),任何非零值都是「真」(記為true)。true的值究竟是什麼並沒有統一的標準。
假設布林變數名字為flag,它與零值比較的標準if語句如下:
if (flag) // 表示flag為真 if (!flag) // 表示flag為假
do somethingdo something;
b)整型變數與零值比較
應當將整型變數用「==」或「!=」直接與0比較。
假設整型變數的名字為value,它與零值比較的標準if語句如下:
if (value == 0)
if (value != 0)
c)浮點變數與零值比較
不可將浮點變數用「==」或「!=」與任何數字比較。
千萬要留意,無論是float還是double型別的變數,都有精度限制。所以一定要避免將浮點變數用「==」或「!=」與數字比較,應該設法轉化成「>=」或「<=」形式。
假設浮點變數的名字為x,應當將
if (x == 0.0) // 隱含錯誤的比較
轉化為if ((x>=-epsinon) && (x<=epsinon))
其中epsinon是允許的誤差(即精度)
d)指標變數與零值的比較
應當將指標變數用「==」或「!=」與null比較。
指標變數的零值是「空」(記為null)。儘管null的值與0相同,但是兩者意義不同。假設指標變數的名字為p,它與零值比較的標準if語句如下:
if (p == null) // p與null顯式比較,強調p是指標變數
if (p != null)
不要寫成
if (p == 0) // 容易讓人誤解p是整型變數
if (p != 0)
或者if (p容易讓人誤解p是布林變數
if (!p)
(3)迴圈語句的效率
c++/c迴圈語句中,for語句使用頻率最高,while語句其次,do語句很少用。在多重迴圈中,如果有可能,應當將最長的迴圈放在最內層,最短的迴圈放在最外層,以減少cpu跨切迴圈層的次數。
圖 1.4 低效率,長迴圈在外層圖 1.5 高效率,長迴圈在內層
(4)常量標示符
所謂常量,即它的值在執行期間恆定不變。c語言用 #define來定義常量(稱為巨集常量)。c++ 語言除了 #define外還可以用const來定義常量(稱為const常量)。
除了使用這兩種以外,還可以使用typedef,而且這個更具有通用性,比define用起來更方便。如下例樣:
#definemax 100c語言的巨集常量 */
const intmax = 100c++ 語言的const常量
const float pi = 3.14159; // c++ 語言的const常量
typedef 100 max //定義常量
typedef char *pchar;
pchar pa, pbchar *pa, pb;
(4)使用引用
引用的一些規則如下:引用被建立的同時必須被初始化(指標則可以在任何時候被初始化)。不能有null引用,引用必須與合法的儲存單元關聯(指標則可以是null)。
一旦引用被初始化,就不能改變引用的關係(指標則可以隨時改變所指的物件)。在函式引數的傳遞過程中,引用傳遞比指標傳遞更加直觀。
C程式設計注意事項
static的作用 在c語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。1 先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。為理解這句話,我舉例來說明。我們要同時編譯兩個原始檔,乙個是a.c,另...
C語言注意事項
c語言程式課程設計 課程編號 16020173 課程名稱 c語言程式課程設計 英文名稱 c programming curriculum design 適應專業 資訊與計算科學專業 執筆人 郭紅微 一 學時與學分 總學時 1周總學分 2 二 課程設計的任務 性質與目的 c語言課程設計 是在學習 c語...
測量注意點
一 測量問題 1 量長度時最好測量二次,從左到右和從右到左,以免第一次看錯尺寸。2 測量吊頂高度時,要量幾個不同方向的準高點,同時看扣板下有沒有橫樑。3 測量時要看腰線 機動插座底部到地磚高度,同時要看窗戶高度 複測時更要留意 4 測量時要量煤氣表和管道離牆距離及高度 煙道高度 進出水高度 排水主管...