C語言程式設計課堂總結3
阿新 • • 發佈:2022-03-15
這個系列是用來解決學校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
幾個易混點:
-
(int)a+b 和 (int)(a+b) 不一樣,強制轉換成的資料型別名稱一定要打括號,不然報錯
-
double強制轉換給int時會直接捨去小數部分,其他的可以類推
-
轉換時注意資料範圍大小,long long 轉給 float 就可能會爆(溢位)
-
強制轉換時注意有符號轉為無符號會出現一定的問題如下圖
轉換高低階的表格如下:double為我們所接觸到的最高的資料型別
這裡補充一個我三年前跳過的坑,今天上課老師居然單獨提了,出現下圖情況時按右側儲存變數的型別儲存
常見運算子以及表示式
這裡補個圖當做總結,其他的可以參考筆記那個系列上的內容
解釋一下單目運算子、雙目運算子和三目運算子:
單目,就是隻對一個變數或者常量進行操作
雙目,就是把一個表示式分為左右兩部分來看
三目運算子,但就是把表示式分為三部分來看
優先順序問題
這裡附上一個優先順序表格,基本夠解決C語言程式設計裡面所有涉及優先順序的問題了
做運算的時候一定要遵循優先順序,看清楚是從左到右 還是 從右到左
短路問題
位運算由於不屬於表示式,並不會像例如&&這類邏輯運算子一樣出現短路問題
一些習題