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

2021-10-24 15:11:27 字數 2295 閱讀 9856

無二義性是指c++在執行程式時,對於同一條語句,只有一種執行方式,不存在第二種執行方式,語句歧義會導致計算機執行錯誤。

具體體現在如下方面:

1、運算子的優先順序和結合性

優先順序:運算子的優先順序決定了運算子用於值的順序,例如:

int x=1+

2*3;

cout << x << endl;

//根據優先順序,會先計算2*3,再計算1+6,x輸出結果為7。

結合性:為消除諸如x=y=z是應先執行y=z還是x=y的二義性而制定的規則,例如:

int x,y=

2,z=3;

int x=y=z;

cout << x << endl;

//根據結合性,x輸出結果為3。

2、識別符號不能以數字開頭

當識別符號以數字開頭時,無法知道這個識別符號是乙個變數還是常量,會引起歧義,違背了無二義性,例如:

int x=

2e2;

倘若識別符號可以以數字開頭,我們就無法知道2e2指的是乙個變數還是數字2×102,違背了無二義性。

3、貪心原則

每個符號應該包含盡可能多的字元,計算機在從左到右依次讀取字元時,如果已經讀取的字元能構成乙個字元,將讀取下乙個字元,然後判斷它與前一組字元能否組成乙個字元,如果可以組成乙個字元則重複此部,如果不能則將此字元作為第乙個字元進行依次往後讀取。例如:

int i=

1,j=2;

int x=i++

+j;

其中的i+++j可以理解為(i++) +j

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

1、資料組下標0索引。

以0作為下標相比於1可以減少減法運算,可以提公升效率。

//0為索引時

&a[i]

=&a[0]

+ i*

sizeof

(a[0])

;//1為索引時

&a[i]

=&a[1]

+(i-1)

*sizeof

(a[1])

;

2、邏輯短路

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

int i=

1,j=1;

intif

( i>

2&& i++);

j++;cout << i << endl;

cout << j << endl;

//因為 i>2 不成立,所以計算機不再執行 i++ ,因此i的輸出結果仍為1。

1、內建函式命名

嵌入到主調函式中的函式稱為內建函式,又稱內嵌函式。 作用是提高程式的執行效率,大多程式語言都有自己的內建函式,在c++中的內建函式有數學函式、隨機函式等。 其命名由其英文表達,方便程式設計師記憶與使用。

2、語序

c++與我們閱讀的方向相同,從左向右,由上至下,乙個字元乙個字元地閱讀,符合我們的日常習慣。

括號初始化體現了變數與物件之間的「相似相同規則」,列表初始化體現了變數與陣列之間的「相似相同規則」。

int i =5;

std::cout << i <<

"\n"

;intj(

5); std::cout << j <<

"\n"

;int k = i;

std::cout << k <<

"\n"

;int

l(i)

; std::cout << l <<

"\n"

;int m

; std::cout << m <<

"\n"

;int n =

; std::cout << n <<

"\n"

;

C 程式語言的基本準則

二 第二高準則 高效性 1.陣列下標0索引 2 邏輯短路 3 微調控制能力 4 編譯自主性 1.內建函式命名 2.二維陣列下標表示總行數和總列數 3.運算的優先順序 二義性是指乙個c 語句所表達的含義含有兩種或多種含義。這對於計算機執行計算而言時需要消除的。具體無二義性體現在一下幾點 優先順序 運算...

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

簡述 這個準則不僅僅是c 的準則,也是所有程式語言的最高準則,更是任何邏輯體系的最高準則。因為機器不像人,人的一句話在不同的語境可能還會有不同理解,但機器對一種語言的理解有且只有那麼一種 理解 方式,若是一句程式語言出現兩種意思,計算機無法選擇,最終出現錯誤。具體表現 1.運算子的優先順序與結合性 ...

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

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