逗號運算和逗號運算式
格式
運算式1 ,運算式2
求解順序及結果
先求解運算式1 ,再求解運算式2最終結果為運算式2的值
例:
a= 3*5,a*4 最終結果為60
關系運算與關系運算式
關系運算是比較簡單的一種邏輯運算,優先次序為:
<= > >= == !=
優先級相同(高) 優先級相同(低)
關系運算式是一種最簡單的邏輯運算式
其結果型別為bool ,值只能為true或false
例如:a>b,c<=a+b,x+y==3
邏輯運算與邏輯運算式
邏輯運算子
優先次序:
!(非) 高
&&(與)
||(或) 低
邏輯運算結果型別: bool ,值只能為true或false
邏輯運算式
例如:(a> b) && (x> y)
"&&"的運算規則
。兩側運算式都為真,結果為真
有一側運算式為假,結果為假
。"&&" 的“短路特性" 運算式1 &&運算式2。先求解運算式1
若運算式1的值為false ,則最終結果為false 不再求解運算式2
若運算式1的結果為true ,則求解運算式2,以運算式2的結果作為最終結果
"II”的運算規則
。兩側運算式都為假,結果為假。有一側運算式為真,結果為真
"II” 的“短路特性" 運算式1 I運算式2。先求解運算式1
若運算式1的值為true ,則最終結果為true 不再求解運算式2
若運算式1的結果為false ,則求解運算式2 以運算式2的結果作為最終結果
條件運算子與條件運算式
一般形式
運算式1 ?運算式2 :運算式3.運算式1必須是bool型別
執行順序
先求解運算式1 ,
若運算式1的值為true ,則求解運算式2 ,運算式2的值為最終結果
若運算式1的值為false ,則求解運算式3 ,運算式3的值為最終結果
條件運算(運算式1 ?運算式2 :運算式3 )的優先級
條件運算子優先級高于賦值運算子,低于邏輯運算子
例如:
x=a> b?a:b
運算式1是bool型別,運算式2、3的型別可以不同,條件運算式的最終型別為2和3中較高的型別
sizeof運算子
語法形式
sizeof (型別名)或sizeof運算式
。結果值:
"型別名”所指定的型別,或”運算式”的結果型別所占的位元組數。
例:
sizeof(short)
sizeof X
位運算一按位與( & )
運算規則
將兩個運算量的每一個位進行邏輯與操作
舉例:計算3&5
3:00000011
5:00000101
——————————
3&5:00000001
位運算按位或(|)。
運算規則
將兩個運算量的每一個位進行邏輯或操作
舉例:計算
3:00000011
5:00000101
———————————
3|5:00000111
用途舉例:
將某些位置1 ,其他位不變
例如:將int型變數a的低位元組置1:
a=a|0xff
位運算一按位異或(^)
運算規則
兩個運算元進行異或:
若對應位相同,則結果該位為0若對應位不同,則結果該位為1
舉例:計算071 ^052
071:01111001
052:00101010
———————————
071^052:00010011
位運算-取反 (~ )
運算規則:
單目運算子,對一個二進制數按位取反⑧例:
025 : 0000000000010101
~025 : 1111111111 101010
位運算移位( <<、>> )
左移運算( << )
左移后,低位補0 ,高位舍棄
右移運算( >> )
右移后:
低位:
舍棄高位:
無符號數:補0
有符號數:補“符號位”
混合運算時資料型別的轉換一隱含轉換
-些二元運算子(算術運算子、關系運算子、邏輯運算子、
位運算子和賦值運算子)要求兩個運算元的型別-致
在算術運算和關系運算中如果參 與運算的運算元型別不一致,
編譯系統會自動對資料進行轉換(即隱含轉換), 基本原則是將低型別資料轉換為高型別資料
混合運算時資料型別的轉換
將一個非布爾型別的算術值賦給布爾型別時 ,算術值為0則
結果為false ,否則結果為true
將一個布林值賦給非布爾型別時 ,布林值為false則結果為0 ,
布林值為true則結果為1
混合運算時資料型別的轉換
將一個浮 點數賦給整數型別時,結果值將只保留浮點數中的
整數部分,小數部分將丟失
將一個整數值賦給浮 點型別時,小數部分記為0。如果整數
所占的空間超過了浮點型別的容量,精度可能有損失
混合運算時資料型別的轉換_顯式轉換
顯式型別轉換的作用是將運算式的結果型別轉換為
型別說明符所指定的型別
語法形式
型別說明符(運算式)(型別說明符)運算式
型別轉換運算子<型別說明符> (運算式)
const cast、dynamic cast、 reinterpret cast、 static. cast
混合運算時資料型別的轉換_顯式轉換
語法形式C+ +的形式
型別轉換運算子<型別說明符> (運算式)
型別轉換運算子可以是 :
const_cast dynamic_cast reinterpret_cast static_cast
例: int(z), (int)Z, static cast <int> (z)三種完全等價
注釋方法:
方法一
延用C語言方法,使用"/*" 和"*/" 括起注釋文字;
方法二
使用"//”, 從"1/” 開始,直到它所在行的行尾,所有字符都被作為注釋處理。
運行時錯誤最主要的兩類原因:
型別錯和邏輯錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/132975.html
標籤:基礎類
上一篇:我的第一篇帖子送給Python。
