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

shijiaochen發表於2020-10-09

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

一、最高準則:無二義性
無二義性是指:對於程式設計的每一個語句,計算機在執行的時候都只會有一種結果,不存在自相矛盾或多種可能;就像一句話,本身只有一種意思,不存在多義性。
準則的具體體現:
(1)運算子的優先順序與結合性
優先順序是為了消除諸如3+4*5 的表示式,是應該被當作 (3+4)5 還是3+(45)的二義性而設定的規則。
結合性是對於優先順序相同的運算子,規定運算順序(結合方向)設定的原則;如算術運算子的結合方向是“自左向右”,而賦值運算子是“自右向左”。
(2)識別符號不能以數字開頭

這是為了方便區分變數和常量,從而便於編譯器編譯。如2E3這樣的字元既可以表示變數名,也可以表示常量。

(3)貪心規則

貪心法則就是,讀了一個字元之後,C++會再讀一個,看第二個字元和第一個字元合在一起能不能有意義,有意義的話就合在一起。

如i+++j

首先讀入i,然後讀入+。i和+合不成一個有意義的符號,沒法貪心,因此,i是一個單獨符號。
然後再讀入一個+,兩個+可以合成一個++,可以貪心,然後就通過貪心法則合成一個++。
再讀入一個+,三個+沒法合成有意義符號,因此,兩個+號變成一個單詞, 再讀入j,+與j合不成一個有意義符號,因此,第三個+ 單獨成一個單詞。

二、第二高準則:高效性
(1)陣列下標0索引

陣列是一段連續bai的空間,要求a[i]就是求它du的地址,然後找到zhi它。如果從0開始,則a[i]的地址= 首地址 +
i*每個資料所佔的長度;如果從1開始,則a[i]的地址= 首地址 + (i-1)*每個資料所佔的長度。

對於計算機而言,如果從1索引,就要多做一次減法,而從零不需要,這樣就提高了效率。
(2)邏輯短路

邏輯短路規則為對於表示式a&&b 當a為假時,b不會計算

三、第三準則:合乎日常習慣

程式設計語言最終是給程式設計師使用的。一套不合乎日常習慣的規則,會給程式設計師的使用帶來極大的不便性,因為日常習慣的慣性是極其強大的。這樣會迫使程式設計師放棄該語言。

如許多函式名都是常用單詞的簡寫
四、補充準則:相似相同規則

指標本身為變數,因此,變數該有的行為,指標同樣都會有,只會多不會少。 變數有八種初始化形式,因此,指標必然也會有八種初始化形式:
變數初始化: 指標初始化 ① int i=5;
① int *p=&a; ② int i(5); ② int
*p(&a); ③ int j=i; ③ int *q=p; ④ int j(i); ④ int *q§; ⑤ int j{i};
⑤ int *q{p}; ⑥ int j={i}; ⑥ int *q = {p};

相關文章