- C語言入門很輕松(微課超值版)
- 云尚科技編著
- 1858字
- 2022-07-29 14:43:39
4.1 認識運算符
C語言中的運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號,C語言內置了豐富的運算符,主要包括算術運算符、關系運算符、邏輯運算符、賦值運算符、位運算符等。
4.1.1 算術運算符
C語言中的算術運算符是用來處理四則運算的符號,是最簡單、最常用的符號,數字的處理幾乎都會使用到算術運算符。如表4-1所示顯示了C語言支持的所有算術運算符。這里假設變量A的值為10,變量B的值為20。
表4-1 算術運算符

【例4.1】編寫程序,計算數值21與10的和、差、積等數值,并輸出計算結果(源代碼\ch04\4.1.txt)。

程序運行結果如圖4-1所示。

圖4-1 例4.1的程序運行結果
在算術運算符中,自增、自減運算符又分為前綴和后綴。當++或--運算符置于變量的左邊時,稱為前置運算或前綴,表示先進行自增或自減運算,再使用變量的值。而當++或--運算符置于變量的右邊時,稱為后置運算或后綴,表示先使用變量的值,再進行自增或自減運算。前置后置運算方法如表4-2所示,這里假設計算的數值為a和b,并且a的值為5。
表4-2 自增、自減運算符的前置與后置

【例4.2】編寫程序,定義整型變量x、y,分別對x做前置運算和后置運算,將運算結果賦予y,分別輸出x、y的值(源代碼\ch04\4.2.txt)。

程序運行結果如圖4-2所示。在本實例中,y=x++先將x賦值給y,再對x進行自增運算。y=++x先將x進行自增運算,再將x賦值給y。y=x--先將x賦值給y,再對x進行自減運算。y=--x先將x進行自減運算,再將x賦值給y。

圖4-2 例4.2的程序運行結果
4.1.2 關系運算符
關系運算可以被理解為是一種“判斷”,判斷的結果要么是“真”,要么是“假”。C語言定義關系運算符的優先級低于算術運算符,高于賦值運算符。C語言中定義的關系運算符如表4-3所示。這里假設變量A的值為10,變量B的值為20。
表4-3 關系運算符

☆大牛提醒☆
關系運算符中的等于號==很容易與賦值號=混淆,一定要記住,=是賦值運算符,而==是關系運算符。
【例4.3】編寫程序,使用關系運算符判斷數值5與6的關系,并輸出判斷結果(源代碼\ch04\4.3.txt)。

程序運行結果如圖4-3所示。

圖4-3 例4.3的程序運行結果
4.1.3 邏輯運算符
C語言為用戶提供了邏輯運算符,包括邏輯與、邏輯或、邏輯非3種邏輯運算符。邏輯運算符兩側的操作數需要轉換成布爾值進行運算。邏輯與和邏輯非都是二元運算符,要求有兩個操作數,而邏輯非為一元運算符,只有一個操作數。
表4-4顯示了C語言支持的所有邏輯運算符,假設變量A的值為1,變量B的值為0。
表4-4 邏輯運算符

為了方便掌握邏輯運算符的使用,邏輯運算符的運算結果可以用邏輯運算的“真值表”來表示,如表4-5所示。
☆大牛提醒☆
邏輯運算符與關系運算符的返回結果一樣,分為“真”與“假”兩種,“真”為“1”,“假”為“0”。
【例4.4】編寫程序,使用邏輯運算符判斷數值5與6的關系,并輸出判斷的結果(源代碼\ch04\4.4.txt)。
表4-5 真值表


程序運行結果如圖4-4所示。

圖4-4 例4.4的程序運行結果
4.1.4 賦值運算符
賦值運算符為二元運算符,要求運算符兩側的操作數類型必須一致(或者右邊的操作數必須可以隱式轉換為左邊操作數的類型),C語言中提供的簡單賦值運算符如表4-6所示。
表4-6 賦值運算符

【例4.5】編寫程序,使用賦值運算符對5進行賦值運算,然后輸出運算結果(源代碼\ch04\4.5.txt)。

程序運行結果如圖4-5所示。

圖4-5 例4.5的程序運行結果
☆大牛提醒☆
在書寫復合賦值運算符時,兩個符號之間一定不能有空格,否則將會出錯。
4.1.5 位運算符
任何信息在計算機中都是以二進制的形式保存的,位運算符是對數據按二進制位進行運算的運算符。C語言中提供的位運算符如表4-7所示,這里假設變量A的值為60,變量B的值為13。
表4-7 位運算符

【例4.6】編寫程序,使用位運算符對數值60和13進行位運算,然后輸出運算結果(源代碼\ch04\4.6.txt)。

程序運行結果如圖4-6所示。

圖4-6 例4.6的程序運行結果
4.1.6 雜項運算符
在C語言中,除了算術運算符、關系運算符、邏輯運算符等,還有其他一些重要的運算符,如表4-8所示。
表4-8 雜項運算符

【例4.7】編寫程序,使用雜項運算符計算變量的值(源代碼\ch04\4.7.txt)。

程序運行結果如圖4-7所示。

圖4-7 例4.7的程序運行結果
4.1.7 運算符的優先級
運算符的種類非常多,通常不同的運算符又構成了不同的表達式,甚至一個表達式中又包含有多種運算符,因此它們的運算方法應該有一定的規律性。C語言規定了各類運算符的運算優先級及結合性等,如表4-9所示。
表4-9 運算符的運算優先級及結合性

☆大牛提醒☆
如果無法確定運算符的有效順序,則盡量采用括號來保證運算的順序,這樣也使得程序一目了然,而且自己在編程時能夠保持思路清晰。
【例4.8】編寫程序,使用小括號改變表達式的運算順序,并輸出表達式的計算結果(源代碼\ch04\4.8.txt)。

程序運行結果如圖4-8所示。

圖4-8 例4.8的程序運行結果
- CMDB分步構建指南
- Learning AWS Lumberyard Game Development
- TypeScript實戰指南
- 快速念咒:MySQL入門指南與進階實戰
- 鴻蒙OS應用編程實戰
- IBM Cognos TM1 Developer's Certification guide
- Visual C++開發寶典
- 深度學習入門:基于Python的理論與實現
- Practical Maya Programming with Python
- 寫給青少年的人工智能(Python版·微課視頻版)
- Magento 2 Developer's Guide
- Java項目驅動開發教程
- HTML 5與CSS 3權威指南(第4版·下冊)
- Python程序設計案例教程:從入門到機器學習(微課版)
- SEO的藝術(原書第2版)