C 程式設計的四個基本準則

2021-10-24 13:46:24 字數 1581 閱讀 2395

1、最高準則:無二義性

對準則的理解:無二義,是c++程式語言的最高準則,同時也是所有型別程式語言的最高準則,即一串**不能有兩種不同的解釋,只能有一種解釋。一般情況下會通過將某些具有二義的行為定義為非法來實現。

準則的具體體現:

(1)運算子的優先順序與結合性。

優先順序是為了消除諸如1+2*3的表示式的二義性所制訂的,例如先乘除後加減等。結合性是為了消除諸如a=b+7=9所制訂的,主要體現為運算子的運算是從左到右還是從右到左。

(2)變數名不能以數字開頭。

這也是為了消除二義性而設定的,是為了消除諸如10與2e10的二義性所制訂的,主要是為了防止計算機無法區分定義的是變數還是常量,因此規定命名是不能以數字開頭。

(3)貪心規則

是為了消除諸如++i+++i+++i+i的二義性所制訂的。即每個符號應該包含盡可能多的字元,計算機在從左到右依次讀取字元時,如果已經讀取的字元能構成乙個字元,將讀取下乙個字元,然後判斷它與前一組字元能否組成乙個字元,如果可以組成乙個字元則重複此部,如果不能則將此字元作為第乙個字元進行依次往後讀取。

2、高效性

由於c++出現時,計算機的效率較低,因此高效性作為c++的第二高準則。

(1)資料組下標0索引。

由於陣列元素在記憶體中儲存時為元素的首位址,因此在讀取時要得到具體的元素位址才能夠獲取到。而具體每個元素的記憶體位址 = 陣列變數首位址 + 下標 x 每個元素占用的位元組數。以0作為下標相比於1可以減少減法運算,可以提公升效率。

(2)邏輯短路

主要應用於諸如a&&b類的運算,當a為否時計算機將不再進行b的運算,以此來提高計算機的效率。

(3)c++中的工具

c++中引入諸如指標、內聯函式和引用等工具,使c++變得更高效。

3、合乎日常習慣

這一準則是為程式設計師所準備,程式語言歸根到底是給程式設計師所使用的,因此乙個合乎大部分程式設計師日常習慣的程式設計方式能夠提示速度、減少程式設計**現的錯誤,提公升程式設計的效率。

(1)運算子的優先順序

例如加減乘除的優先順序和()的優先運算等等與日常生活中我們所使用的大致想同,可以提公升程式設計效率。

(2)陣列的行列數

在定義陣列時採用a[a][b],期中a代表行數,b代表列數,合乎大部分程式設計師的日常習慣。

4、相似相同原則

指的是在c++中,如果有兩個不同的物件a與b,a有行為a,b有行為b。如果a與b兩種行為在邏輯上具有相似性,則c++會為a額外增加乙個b,同理,b也將增加乙個行為a。

(1)陣列的初始化

在對陣列進行初始化時,如果輸入a[a]=或a[a]=時,計算機會自動將剩下的未輸入數字初始化為0

(2)自定義變數的初始化

在對自定義變數進行初始化時,有多種初始化方式,如int a=1、int a等等。

C 程式設計的四個基本準則

無二義性是任何一門邏輯科學應該遵循的基本準則。數學界的三次數學危機,本質上就是為了消除 二義性 的爭端。準則的具體體現 1 運算子的優先順序和結合性 優先順序是為了消除諸如3 4 5 的表示式,是應該被當作 3 4 5還是3 4 5 的二義性而制定的規則。例如 括號的優先順序高於加減乘除 int x...

C 程式語言的四個基本準則

二 次高準則 高效性 三 第三準則 合乎日常習慣 四 補充準則 相似相同規則 五 結語 對這個準則的理解 程式語言於計算機而言,通俗地說就是指令,若乙個指令出現歧義,計算機則會無法判斷該執行哪一種。倘若執行了其中一種,則可能與本來所需要的結果相悖,不符合實際需求。所以,程式語言的無二義性,可以使得我...

C 程式語言的四個基本準則

對這個準則的理解 這個準則,不僅是c 的準則,更是所有型別程式語言的最高準則。同一條c 語句不能同時具備兩種或多種含義,每一條c 語句只能通過一種方式執行,得到唯一結果。準則的具體體現 1 運算子的優先順序與結合性。優先順序是為了消除如5 6 7的表示式,是應該被當作 5 6 7還是5 6 7 的二...