C程式語言 第二章 筆記

2021-07-17 03:50:21 字數 1663 閱讀 4888

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

變數

· 變數和常量是程式處理的兩種基本資料物件

· 由於庫例程的名字通常以下劃線開頭,因此變數名不要以下劃線開頭

· 大小字母有區別

· 變數名使用小寫字母,符號常量名全部使用大寫字母

· 所有關鍵字都必須小寫

· 所有變數都必須先宣告後使用

· 任何變數的宣告都可以使用const限定符限定。該限定符指定變數的值不能被修改

型別

· 型別限定符signed與unsigned可用於限定char型別或任何整型

常量

· 帶字首0的整型常量表示它為八進位制形式;字首為0x或0x則表示它為十六進製制形式

· 乙個字元常量是乙個整數,書寫時將乙個字元括在單引號中。字元在機器字符集中的數值就是字元常量的值

· 某些字元可以通過轉義字元序列(\n)表示為字元和字串常量

· 常量表示式是僅僅只包含常量的表示式。這種表示式在編譯時求值,而不在執行時求值。

字串常量

· 用雙引號括起來的0個或多個字元組成的字串行

· 字串常量就是字元陣列。字串的內部表示使用乙個空字元』\0』作為串的結尾,因此儲存字串的物理儲存單元數比闊在雙引號中的字元數多乙個,宣告時注意大小

· c對字串的長度沒有限制,但程式必須掃瞄完整個字串後才能確定字串的長度

· strlen(s)

列舉

· 列舉是乙個常量整型值的列表

· 在沒有顯式說明的情況下,enum型別中的乙個列舉名的值為0,第二個為1,以此類推。如果只指定了部分列舉名的值,那麼未指定的列舉名的值將依著最後乙個指定值向後遞增

運算子

· 自增與自減運算子只能作用於變數,類似於表示式(i+j)++是非法的

· 按位運算子的計算

型別轉換

· 一般來說,如果二元運算子的兩個運算元據有不同的型別,那麼在進行運算之前先要把「較低」的型別提公升為「較高」的型別。需要注意的是,float型別不會自動轉換為double型別。

· 強制型別轉換:(型別名)表示式。如 sqrt((double) n)只是生成乙個指定型別的n的值,n本身的值並沒有改變。通常情況下,引數是通過函式原型宣告的。這樣,當函式被呼叫時,宣告將對引數進行自動強制轉換。例如:

double

sqrt(double);

下列函式呼叫:

root2 =sqrt(2);
此時不惜要使用強制型別轉換運算子就可以自動將整數2強制轉換為double型別的值2.0

表示式

· 賦值表示式(+=)

· 條件表示式(expr1 ? expr2 : expr3)

c程式語言 第二章習題

練習2 1 編寫乙個程式以確定分別由signed及unsigned限定的 char short int與long型別變數的取值範圍。採用列印標準頭人間重的相應值以及直接計算兩種方式實現。後一種方法的實現較困難一些,因為要確定各種浮點型別的取值範圍。include include include in...

《C專家程式設計》筆記 第二章

標籤 空格分隔 c專家程式設計 p48 函式返回字串方法 a.return 區域性變數 出錯 char func b.返回乙個指向字串常量的指標 char func c.使用全域性宣告的陣列 缺點由於是全域性陣列,容易被修改和覆蓋 char g buffer 100 char func char f...

第二章 C 筆記

1.可以用函式sizeof來確定乙個型別占用記憶體的大小 如 cout 2.整數除法的結果仍為整數,小樹部分會被截去。如,5 2 2 5 2 2 而不是 2.5 模運算 只有當被除數 前面的那個數 是負數時候,餘數才會是負數。如 7 3 1 12 4 0,20 13 7 而不是 7 3.型別轉換並不...