第二章 型別 運算子與表示式

2021-06-25 10:38:09 字數 1092 閱讀 7548

\ooo(ooo代表1到3個八進位制數字)用來直接表示對應數字的asc碼

\xhh(hh是1到2個十六進製制數字)用來直接表示對應數字的asc碼

常量表示式就是只含有常量,不含有變數。這種表示式在編譯時求值,而非執行時求值。

注意,全域性變數只會進行一次初始化操作,而且是程式開始執行之前進行,並且初始化表示式必須為常量表示式。

而區域性變數如果有顯式初始化,則每次進入函式或者程式塊都會初始化一次,且初始化表示式可以為任何表示式。

用來限定變數時,變數值不能被修改。

用來限定陣列時,陣列所有元素的值都不能修改。

當陣列作為某個函式的引數時,如int strlen(const char[ ]),用const來限定函式的陣列形參,表示函式不能修改傳遞過來的陣列元素的值。

列舉型別可以結合typedef來理解,倘若一種型別的變數只有幾種可能的取值,就可以列舉型別來定義它

1)enum weekday ;

以上定義了一種新的列舉型別weekday,這種型別只有七種取值。可以用這種新型別再來定義變數,如weekday workday;weekday weekend;等。

2)enum  workday,weekend;這樣是直接定義了兩個這種型別的變數,但並未給這種型別命名。

3)大括號中的7個不是變數,是列舉元素或列舉常量,因編譯系統把他們當成常量處理。因此不能再對他們賦值。

4)若在定義時不顯式為列舉元素賦值,則從0開始順序加1,若有部分顯式賦值,則未賦值部分從最後乙個顯示賦值元素後自動順序加1。

5)workday=(enum weekday)2;使用強制型別轉換符來對列舉元素再次賦值,相當於將順序號為2的元素賦值給workday,相當於workday=tue。

宣告:說明變數或者函式的性質,但並不分配儲存單元。也就是僅僅告訴編譯系統有這麼乙個性質的東西。

定義:建立變數或分配儲存單元。

宣告的位置沒有限制:對函式宣告來說,只要是呼叫此函式之前的任何地方。對於全域性變數來說,在**宣告,該全域性變數的作用域就被擴充套件到了**。

函式的宣告是函式原型,函式的定義是函式本身。可以有多個宣告,但只有乙個定義。

||與&&特殊點在於,它們從左往右順序進行求值,一旦知道最終結果為真或假,立刻停止運算。

第二章 型別運算子表示式

2.1變數名 數字字母下劃線,不能以數字開頭 對於內部來說,至少31個字元有效 選擇變數名應該盡可能的在字面上表達變數的用塗 2.2資料型別及長度 int 反應所用機器中整數的最自然的長度 include include int main void 2.3常量 乙個字元常量是整數。字元常量一般用來與...

K R 第二章 型別,運算子 與表示式

變數名 由字母和數字組成,下劃線被看作字母,一般下劃線用於庫例程的開頭,所以在自己的程式裡面不要用下劃線開頭。區域性變數使用較短的名字,外部變數使用較長的名字 char intfloat double 此外還可以加一些限定符 short long short 至少16位 long至少32位 shor...

第二章常量與運算子

顯示定義 常量的宣告以關鍵字const開頭,後接變數型別進行賦值,行尾沒有其他標點符號。const 常量名 常量型別 value注意 乙個常量被宣告之後可以不使用,但是變數一旦宣告則必須使用。隱式定義const 常量名 value如果程式需要使用大量值相同的常量,我們可以直接定義常量組。在定義常量組...