理解
同一條語句不能具有兩種及以上的含義,否則將導致語句的執行過程發生衝突。體現
(1)運算子的優先順序與結合性
運算子優先順序的產生,是為了消除運算過程中可能產生的歧義。例如加法和乘法兩種運算到底誰先進行。
int a =1+
2*3//乘法優先於加法進行運算,輸出7,而不是9
(2)識別符號不能以數字開頭
識別符號是一種變數,而數字則是常量。如果識別符號中僅包含數字,則計算機無法識別其到底是變數還是常量,且增加了程式設計的負擔。因而,新增了這條規則,用於消除二義性。
(3)貪心規則
貪心規則指的是c++讀了乙個字元之後,會再往下讀乙個,判斷第乙個和第二個字元結合在一起是否有意義,有意義的話就結合在一起,以此類推。貪心規則使得在讀取**時,能夠以最優解來執行,因而也就消除了二義性。理解
當c++最初產生時,計算機效能較低,因而只有採用高效的語法規則,才能提公升計算機執行的效果。而如今,高效性也為軟體帶來更快的響應速度,提公升使用者的體驗。體現
(1)陣列的下標
陣列的下標採用0索引,而不是1索引。
如果採用0索引,則a[i] = 首位址 + i * 每個資料所佔位元組長度;
如果採用1索引,則a[i] = 首位址 + (i - 1) * 每個資料所佔位元組長度。
在c++中,執行減法需要耗費一定的時間,因而採用0索引能夠提高執行效率。
(2)邏輯短路
對於&&運算子,當運算子左邊的表示式為假時,則不會判斷運算子右邊的表示式,保證程式高效地執行。
int a =
1,b =
2,c =3;
if(a>b && b>c)
//a>b為假,則&&右邊的表示式不會進行判斷
理解
程式語言最終是給程式設計師使用的。一套不合乎日常習慣的規則,會給程式設計師的使用帶來極大的不便性,因為日常習慣的慣性是極其強大的。這樣會迫使程式設計師放棄該語言。體現
(1)運算的優先順序
在數**算中,乘法的優先順序高於加法運算。在c++中也是如此,符合日常習慣,提公升了程式設計的效率。理解
如果有兩個不同的物件a與b,它們分別具有行為a與b。如果a與b在行為上具有邏輯相似性,那麼c++會為a額外增加乙個行為b,為b額外增加乙個行為a。體現
(1)c++的三種初始化方式:等號初始化、括號初始化、列表初始化
等號初始化:
int a =
6int a = b
括號初始化:
inta(
6)inta
(b)
列表初始化:
int a
int a
括號初始化是變數與物件之間的「相似相同原則」,列表初始化是變數與陣列之間的「相似相同原則」。 C 程式語言的四個基本準則
二 次高準則 高效性 三 第三準則 合乎日常習慣 四 補充準則 相似相同規則 五 結語 對這個準則的理解 程式語言於計算機而言,通俗地說就是指令,若乙個指令出現歧義,計算機則會無法判斷該執行哪一種。倘若執行了其中一種,則可能與本來所需要的結果相悖,不符合實際需求。所以,程式語言的無二義性,可以使得我...
C 程式語言的四個基本準則
對這個準則的理解 這個準則,不僅是c 的準則,更是所有型別程式語言的最高準則。同一條c 語句不能同時具備兩種或多種含義,每一條c 語句只能通過一種方式執行,得到唯一結果。準則的具體體現 1 運算子的優先順序與結合性。優先順序是為了消除如5 6 7的表示式,是應該被當作 5 6 7還是5 6 7 的二...
C 程式語言的四個基本準則
二 次高準則 高效性 三 第三準則 合乎日常習慣 四 相似相同規則 同一條c 語句不能同時具備兩種或多種含義,每一條c 語句只能通過一種方式執行,得到唯一結果。優先順序 當乙個表示式 現了多個不同的運算子時,不同的運算子有按照等級排列的運算順序,即運算子的優先順序。從上表中可得,優先順序從上到下依次...