8其他運算
(1)條件運算符
條件運算是C+ +中唯一的三目運算,與其對應的運算符?:稱為條件運算符。條件運算符的使用格式為:
<表達式1>?<表達式2>:<表達式3>
當計算有條件運算符構成的表達式時,首先計算<表達式1>,若其值非0,則計算出<表達式2>的值,并用這個值作為整個表達式的值;若<表達式1>的值為0,則計算出<表達式3>的值,并用這個值作為整個表達式的值。
(2)逗號運算符
C+ +中使用逗號運算符指明對多個表達式進行順序求值。逗號運算符的使用格式為:
<表達式1>,<表達式2>,……<表達式n>
其中,每個逗號都稱為逗號運算符,整個式子稱為逗號表達式。上述逗號表達式的求值步驟為:從左向右依次計算<表達式1>、<表達式2>…<表達式n>的值;將<表達式n>(即最右端的表達式)的值作為整個逗號表達式的值。
(3)sizeof運算符
使用運算符sizeof可以進行字長提取操作,因此sizeof運算符又稱為字長提取符,它的使用格式為:
sizeof(<運算分量>)
其中,sizeof為關鍵字;<運算分量>既可以是一個類型名,也可以是一個表達式,當作為<運算分量>的表達式只包含一個變量名時,圓括號()可以省略。
字長提取運算的結果為一個整數,該整數表示指定的類型或變量的字節長度,即在內存中占用的字節(Byte)數。
(4)圓括號運算符
C+ +中不僅將圓括號()歸為運算符,而且根據不同的使用方式,可以對圓括號運算符的功能作出以下3種不同的解釋:
①圓括號用于函數調用。其格式為:
<函數名>(<實參表>)
②圓括號用于強制類型轉換。其格式為:
(<類型名>)<表達式>
③圓括號用于類型構造。其格式為:
<類型名>(<表達式>)
類型構造是指使用圓括號中<表達式>的值來構造一個具有目標數據類型的值,要構造的目標數據類型由<類型名>指定。
④數組下標運算符:[](下標)。
⑤指針運算符:*(取地址)和&(值引用)。
⑥動態存儲分配運算符:new(分配)和delete(釋放)。
⑦作用域限定運算符:::(類域或全局域)
9優先級和結合性
根據運算符的優先級和結合性,可以將表達式的計算順序規則總結為以下3條:
(1)優先計算帶有括號的子表達式;
(2)在沒有括號的部分,依照運算符優先級,由高到低進行計算;
(3)具有相同優先級的運算符,按照結合性規定,依次進行計算。
C+ +運算符分成17個優先級,優先級數字越小,表示運算符優先級越高。具有同一優先級數字的運算符,優先級相同。單目運算符、賦值運算符和復合賦值運算符是右結合的,其余所有運算符都是左結合的。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |