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

2021-10-24 13:44:23 字數 2240 閱讀 9671

對這個準則的理解:這個準則,不僅是c++的準則,更是所有型別程式語言的最高準則。同一條c++語句不能同時具備兩種或多種含義,每一條c++語句只能通過一種方式執行,得到唯一結果。

準則的具體體現

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

優先順序是為了消除如5+6 * 7的表示式,是應該被當作(5+6) * 7還是5+(6 * 7)的二義性而設定的規則。

示例**:

int x =5+

6*7;

(2)識別符號不能以數字開頭。

假設識別符號不能以數字開頭,例如「0123」、「0x19a」這類「識別符號」就能被區分是常量還是變數。這條規則的制定很好地消除了此類二義性。

(3)貪心規則。

理解參考

每個符號應該包含盡可能多的字元,也就是說,我們的編譯器將程式分解成符號的方法是,從左到右乙個乙個字元的讀入,如果該字元可能組成乙個符號,那麼再讀入下乙個字元,然後在判斷已經讀入的兩個字元是否有可能是乙個符號或者乙個符號的組成部分,如果可能則繼續讀入下乙個字元,然後重複整個過程,直到讀入的字元組成的字串已不再可能組成有意義的符號,這就是所謂的貪心法咯前提是符號的中間不能嵌有空格。

體現

#include

using namespace std;

intmain()

對這個準則的理解

c++語言將高效性作為次高準則,是因為c++語言出現時,計算機效能普遍較低,因此計算機效能是乙個重要的制約因素,是當時情境下的「主要矛盾」。

高效性規則是為了保證程式的執行時間和儲存空間盡可能節約而制定的,簡化了程式的執行方式和過程,可以很好地避免時間和空間的浪費。

準則的具體體現

(1)陣列小標0索引。

對於乙個儲存了大量資料的陣列:

如果索引從0開始,則a[i]的位址= 首位址 + i*每個資料所佔的長度;

如果索引從1開始,則a[i]的位址= 首位址 + (i-1)*每個資料所佔的長度。

在計算機中「 - 」號運算比「 + 」和「 * 」要複雜,以0索引的方式可以更高效地計算。

(2)邏輯短路。

例如當使用邏輯運算子&&時若運算子左邊條件不成立,則不會對運算子右邊條件進行判斷,保證了程式的高效執行。

例如:

#include

using namespace std;

intmain()

cout << a << b << c << endl;

// a = 1 b = 2 c = 0

int i =

1, j =

2, k =0;

if(i > j & k++

) cout << i << j << k << endl;

// i = 1 j = 2 k = 1

return0;

}

對這個準則的理解

一套程式設計規則,本身就是建立一套完整的新規則,只需要讓新規則自洽即可。程式語言最終是給程式猿使用的。一套不合乎日常習慣的規則,會給程式猿的使用帶來極大的不便性,因為日常習慣的慣性是極其強大的。這樣會迫使程式設計師放棄該語言。

準則的具體體現

運算優先順序,陣列下標,函式呼叫過程等等。

對這個準則的理解

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

準則的具體體現

以c++初始化的三種方式為例(等號初始化、列表初始化、列表初始化):

#include

using namespace std;

intmain()

;int c2

; cout << a1 << a2 << b1 << b2 << c1 << c2 << endl;

return0;

}

括號初始化是變數與物件之間的「相似相同規則」;列表初始化是變數與陣列之間的「相似相同規則」。本質上是c++將變數、物件及陣列統一對待的原則的產物。

參考因為這是課程作業,如果有相似之處,請諒解。

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

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

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

理解 同一條語句不能具有兩種及以上的含義,否則將導致語句的執行過程發生衝突。體現 1 運算子的優先順序與結合性 運算子優先順序的產生,是為了消除運算過程中可能產生的歧義。例如加法和乘法兩種運算到底誰先進行。int a 1 2 3 乘法優先於加法進行運算,輸出7,而不是9 2 識別符號不能以數字開頭 ...

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

二 次高準則 高效性 三 第三準則 合乎日常習慣 四 相似相同規則 同一條c 語句不能同時具備兩種或多種含義,每一條c 語句只能通過一種方式執行,得到唯一結果。優先順序 當乙個表示式 現了多個不同的運算子時,不同的運算子有按照等級排列的運算順序,即運算子的優先順序。從上表中可得,優先順序從上到下依次...