1. 程式人生 > 其它 >C語言程式設計課堂總結3

C語言程式設計課堂總結3

這個系列是用來解決學校C語言課程的,並不適用於ACM和OI

本系列部落格分為2部分,分別是 C語言程式設計筆記(網課) 和 課堂總結(線下課)

歡迎轉載ssw02的部落格: https://www.cnblogs.com/ssw02/p/15994555.html


C語言程式設計課堂總結3

筆記裡面大多數都有了,有需要可以到尋路貼自取,這次主要補充一些知識

轉義字元

什麼是轉義字元?反斜線後面跟一個字元或者一個程式碼值表示,用於表示常見的那些不能顯示的ASCII字元

常見的轉義字元如下:

強制型別轉換

我們可以在一定範圍和規則內進行資料型別的強制轉換(和隱性轉換相對)

例如

int a , c = 5 ; double b = 3.1415
a = (int)b ; // a = 3  強制把b轉換為Int型別的值賦給了a,但b本身不變
b = (double)c // b = 5.000000

幾個易混點:

  1. (int)a+b 和 (int)(a+b) 不一樣,強制轉換成的資料型別名稱一定要打括號,不然報錯

  2. double強制轉換給int時會直接捨去小數部分,其他的可以類推

  3. 轉換時注意資料範圍大小,long long 轉給 float 就可能會爆(溢位)

  4. 強制轉換時注意有符號轉為無符號會出現一定的問題如下圖

轉換高低階的表格如下:double為我們所接觸到的最高的資料型別

這裡補充一個我三年前跳過的坑,今天上課老師居然單獨提了,出現下圖情況時按右側儲存變數的型別儲存

常見運算子以及表示式

這裡補個圖當做總結,其他的可以參考筆記那個系列上的內容

解釋一下單目運算子、雙目運算子和三目運算子:

單目,就是隻對一個變數或者常量進行操作

雙目,就是把一個表示式分為左右兩部分來看

三目運算子,但就是把表示式分為三部分來看

優先順序問題

這裡附上一個優先順序表格,基本夠解決C語言程式設計裡面所有涉及優先順序的問題了

做運算的時候一定要遵循優先順序,看清楚是從左到右 還是 從右到左

短路問題

位運算由於不屬於表示式,並不會像例如&&這類邏輯運算子一樣出現短路問題

一些習題