讀書筆記(一)《C語言精彩程式設計百例》

2021-06-12 00:41:20 字數 1712 閱讀 9687

1、資料型別轉換

不同資料型別變數混合運算時,要公升級。

short->int(字元型與整形通用)->float->double。

指標不與以上型別發生型別轉換。

等號右邊的轉化成等號左邊的型別。

並按照運算子優先順序順序進行。

2、轉義字元

用來表示ascii碼中無法表示的字元,用\+字元或者8或16進製制數來表示。

\n  轉到下一行

\b  退一格

\r  跳到本行最前

\t  向後跳4個字元長度

轉義字元佔乙個字元長度。eg:  \t  為兩個字元長度。

注意:

(1)\後只能用小寫

(2)\v 垂直製表符和 \f 換頁符 對螢幕沒有影響,對列印有影響

3、關係和邏輯運算

運算子優先順序:

留一道題,我當初做錯的:    !(a

4、自增自減

注意:(1)只能作用於變數

(2)放在變數之前,先增(或先減)再運算,放在變數之後,先運算,之後變數自身再增(或減)。

(3)結合方向:自右向左。

5、普通位計算

按位與(&)作用:

1、置零  43位與148 結果等於00000000

2、若想要取乙個數的低位元組(就是這個數的二進位制的最後八位),只需將這個數與8個1位與即可。

3、保留指定位  只需將這個數 與 另乙個這些指定位為1的二進位制數相與即可  example:

100110001  想要保留他左邊的的3,4,5,7位  則將他跟 101110100相與即可

按位或(|)作用:

如果想將乙個數的 後四位置為1  則將這個數的後四位跟1111或 即可

異或(^)運算方法:兩個數相同則結果為0  不同結果為1

異或運算應用:

1、使特定位翻轉  例如:想將01111010低四位翻轉(就是讓低四位1變0,0變1),可以將該數跟00001111進行異或運算。

2、與0相異或 保留原值

3、交換兩個值,不用臨時變數

例如:a=3,即11(2);b=4,即100(2)。 想將a和b的值互換,可以用以下賦值語句實現:     a=a∧b;     b=b∧a;     a=a∧b; a=011(2)     (∧)b=100(2) a=111(2)(a∧b的結果,a已變成7)     (∧)b=100(2) b=011(2)(b∧a的結果,b已變成3)     (∧)a=111(2)  a=100(2)(a∧b的結果,a已變成4) 等效於以下兩步:     ① 執行前兩個賦值語句:「a=a∧b;」和「b=b∧a;」相當於b=b∧(a∧b)。     ② 再執行第三個賦值語句: a=a∧b。由於a的值等於(a∧b),b的值等於(b∧a∧b), 因此,相當於a=a∧b∧b∧a∧b,即a的值等於a∧a∧b∧b∧b,等於b。 很神奇吧

c語言源**: #include main()

取反(~)運算子

他是一元運算子,用於求整數的二進位制反碼,即分別將運算元各二進位制位上的1變為0,0變為1

6~17位移運算及迴圈判斷語句重點內容

《c程式語言》讀書筆記

舉例如下 char a 10 1 定義的時候直接用字串賦值 char a 10 hello 注意 不能先定義再給它賦值,如 char a 10 a 10 hello 這樣是錯誤的!2 對陣列中字元逐個賦值 char a 10 3 利用strcpy char a 10 strcpy a,hello 易...

《C程式語言》 讀書筆記

在mac下可以使用sublime進行c語言程式編寫,然後通過命令列來執行c程式。在sublime新建乙個c程式,譬如 test.c include main 然後在命令列中執行 cc test.c編譯後會自動生成乙個a.out檔案,然後我們執行a.out檔案 test.c就會在命令行內列印出 hel...

《c程式語言》讀書筆記(一)1 4

自己的一些思考 1 printf和getchar的區別 scanf printf 可以輸入輸出各種型別的變數,比如int float char,而且同時輸入 輸出多個也可以 如scanf d,d a,b getchar putchar 只能輸入輸出char型別的變數,而且只能同時輸入輸出乙個字元 s...