C語言中的運(yùn)算符優(yōu)先級和結(jié)合性一覽表
所謂優(yōu)先級就是當(dāng)一個表達(dá)式中有多個運(yùn)算符時,先計算誰,后計算誰。
運(yùn)算符的優(yōu)先級從高到低大致是:單目運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符()和逗號運(yùn)算符
簡單記就是:
! > 算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > && > || > 賦值運(yùn)算符。
此外運(yùn)算符還有“目”和“結(jié)合性”的概念,這個很簡單。“目”就是“眼睛”的意思,一個運(yùn)算符需要幾個數(shù)就叫“幾目”。比如加法運(yùn)算符+,要使用這個運(yùn)算符需要兩個數(shù),如 3+2。對+而言,3 和 2 就像它的兩只眼睛,所以這個運(yùn)算符是雙目的。
C語言中大多數(shù)的運(yùn)算符都是雙目的,也有單目和三目的。
單目運(yùn)算符比如邏輯非,如!1,它就只有一只眼睛,所以是單目的。
整個C語言中只有一個三目運(yùn)算符,即條件運(yùn)算符? :
。
那么“結(jié)合性”是什么呢?
上面講的優(yōu)先級都是關(guān)于優(yōu)先級不同的運(yùn)算符參與運(yùn)算時先計算誰后計算誰。
但是如果運(yùn)算符的優(yōu)先級相同,那么先計算誰后計算誰呢?
這個就是由“結(jié)合性”決定的。
運(yùn)算符優(yōu)先級和結(jié)合性一覽表
上表中可以總結(jié)出如下規(guī)律
1、結(jié)合方向只有優(yōu)先級2、13、14三個是從右往左,其余都是從左往右。
2、所有雙目運(yùn)算符中只有賦值運(yùn)算符的結(jié)合方向是從右往左。
3、另外兩個從右往左結(jié)合的運(yùn)算符也很好記,因?yàn)樗鼈兒芴厥猓阂粋€是所有單目運(yùn)算符,一個是三目運(yùn)算符。
4、C語言中有且只有一個三目運(yùn)算符。
5、逗號運(yùn)算符的優(yōu)先級最低,要記住。
6、此外要記住,對于優(yōu)先級:算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符。邏輯運(yùn)算符中“邏輯非 !”除外。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(66.加一運(yùn)算)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(66.加一運(yùn)算),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++?Boost?ProgramOptions超詳細(xì)講解
Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱2022-11-11C/C++實(shí)現(xiàn)獲取硬盤序列號的示例代碼
獲取硬盤的序列號、型號和固件版本號,此類功能通常用于做硬盤綁定或硬件驗(yàn)證操作,下面我們就來學(xué)習(xí)一下如何使用C/C++實(shí)現(xiàn)獲取硬盤序列號吧2023-11-11C語言實(shí)現(xiàn)經(jīng)典排序算法的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)經(jīng)典排序算法中的冒泡排序、選擇排序、插入排序、希爾排序,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-08-08