在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 操作符
動(dòng)態(tài)內(nèi)存
類和對(duì)象
接口 (抽象類)
結(jié)構(gòu)體
循環(huán)的類型
函數(shù)
數(shù)字
日期和時(shí)間
基本語法
多態(tài)
數(shù)據(jù)抽象
注釋
命名空間
字符串
預(yù)處理器
決策語句
修飾符的類型
鍙橀噺綾誨瀷
基本輸入輸出
操作符
數(shù)組
模板
多線程
繼承
Web 編程
信號(hào)處理
指針
存儲(chǔ)類型
概述
引用
常量
異常處理
開發(fā)環(huán)境
重載
變量作用域
數(shù)據(jù)類型
數(shù)據(jù)封裝
文件和流

操作符

操作符就是告訴編譯器來執(zhí)行數(shù)學(xué)或邏輯運(yùn)算操作的符號(hào)。C++ 有非常豐富的內(nèi)置操作符。提供如下幾類的操作符:

  1. 數(shù)學(xué)運(yùn)算操作符
  2. 關(guān)系運(yùn)算操作符
  3. 邏輯運(yùn)算操作符
  4. 位運(yùn)算操作符
  5. 賦值運(yùn)算操作符
  6. 復(fù)合運(yùn)算操作符

下面的章節(jié)將一一介紹數(shù)學(xué)、關(guān)系、邏輯、位運(yùn)算、賦值和其他操作符。

數(shù)學(xué)運(yùn)算操作符

下面的就是 C++ 語言所支持的數(shù)學(xué)運(yùn)算操作符:

假設(shè)變量 A 存儲(chǔ) 10,變量 B 存儲(chǔ) 20,那么:

運(yùn)算符 描述 例子
+ 兩個(gè)運(yùn)算數(shù)相加 A + B = 30
- 第一個(gè)運(yùn)算數(shù)減去第二個(gè)運(yùn)算數(shù) A - B = -10
* 運(yùn)算數(shù)相乘 A * B = 200
/ 分子除以分母 B / A = 2
% 模數(shù)運(yùn)算符,整除后的余數(shù) B % A = 0
++ 增量運(yùn)算符,整數(shù)值逐次加1 A++ = 11
-- 減量運(yùn)算符,整數(shù)值逐次減1 A-- = 9

關(guān)系運(yùn)算符

下面的就是 C++語言所支持的關(guān)系運(yùn)算操作符:

假設(shè)變量 A 存儲(chǔ) 10,變量 B 存儲(chǔ) 20,那么:

運(yùn)算符 描述 例子
== 檢查兩個(gè)運(yùn)算數(shù)的值是否相等,如果是,則結(jié)果為 true A == B 為 false
!= 檢查兩個(gè)運(yùn)算數(shù)的值是否相等,如果不相等,則結(jié)果為 true A != B 為 true
> 檢查左邊運(yùn)算數(shù)是否大于右邊運(yùn)算數(shù),如果是,則結(jié)果為 true A > B 為 false
< 檢查左邊運(yùn)算數(shù)是否小于右邊運(yùn)算數(shù),如果是,則結(jié)果為 true A < B 為 true
>= 檢查左邊運(yùn)算數(shù)是否大于或者等于右邊運(yùn)算數(shù),如果是,則結(jié)果為 true A >= B 為 false
<= 檢查左邊運(yùn)算數(shù)是否小于或者等于運(yùn)算數(shù),如果是,則結(jié)果為 true A <= B 為 true

邏輯運(yùn)算符

下面的就是 C++語言所支持的邏輯運(yùn)算操作符:

假設(shè)變量 A 存儲(chǔ) 1,變量 B 存儲(chǔ) 0,那么:

運(yùn)算符 描述 例子
&& 稱為邏輯與運(yùn)算符。如果兩個(gè)運(yùn)算數(shù)都非零,則結(jié)果為 true。 A && B 為 true
|| 稱為邏輯或運(yùn)算符。如果兩個(gè)運(yùn)算數(shù)中任何一個(gè)非零,則結(jié)果為 true。 A || B 為 true
! 稱為邏輯非運(yùn)算符。用于改變運(yùn)算數(shù)的邏輯狀態(tài)。如果邏輯狀態(tài)為 true,則通過邏輯非運(yùn)算符可以使邏輯狀態(tài)變?yōu)?false !(A && B) 為 false

位運(yùn)算符

位操作運(yùn)算是按位來進(jìn)行操作的。與、或、非和異或的真值表如下:

p q p&q p|q p^q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

假設(shè)變量 A 存儲(chǔ) 60,變量 B 存儲(chǔ) 13,那么:

下面的就是 C++ 語言所支持的位運(yùn)算操作符:

假設(shè)變量 A 存儲(chǔ) 60,變量 B 存儲(chǔ) 13,那么:

A = 0011 1100

B = 0000 1101

A&B = 0000 1100

A|B = 0011 1101

`A^B` = 0011 0001

~A  = 1100 0011
運(yùn)算符 描述 例子
& 稱為按位與運(yùn)算符。它對(duì)整型參數(shù)的每一個(gè)二進(jìn)制位進(jìn)行布爾與操作。 A & B = 12 .
| 稱為按位或運(yùn)算符。它對(duì)整型參數(shù)的每一個(gè)二進(jìn)制位進(jìn)行布爾或操作。 A | B = 61.
^ 稱為按位異或運(yùn)算符。它對(duì)整型參數(shù)的每一個(gè)二進(jìn)制位進(jìn)行布爾異或操作。異或運(yùn)算是指第一個(gè)參數(shù)或者第二個(gè)參數(shù)為true,并且不包括兩個(gè)參數(shù)都為 true 的情況,則結(jié)果為true。 (A ^ B) = 49.
~ 稱為按位非運(yùn)算符。它是一個(gè)單運(yùn)算符,對(duì)運(yùn)算數(shù)的所有二進(jìn)制位進(jìn)行取反操作。 ~B = -61 .
<< 稱為按位左移運(yùn)算符。它把第一個(gè)運(yùn)算數(shù)的所有二進(jìn)制位向左移動(dòng)第二個(gè)運(yùn)算數(shù)指定的位數(shù),而新的二進(jìn)制位補(bǔ)0。將一個(gè)數(shù)向左移動(dòng)一個(gè)二進(jìn)制位相當(dāng)于將該數(shù)乘以2,向左移動(dòng)兩個(gè)二進(jìn)制位相當(dāng)于將該數(shù)乘以4,以此類推。 A << 1 =120.
>> 稱為按位右移運(yùn)算符。它把第一個(gè)運(yùn)算數(shù)的所有二進(jìn)制位向右移動(dòng)第二個(gè)運(yùn)算數(shù)指定的位數(shù)。為了保持運(yùn)算結(jié)果的符號(hào)不變,左邊二進(jìn)制位補(bǔ) 0 或 1 取決于原參數(shù)的符號(hào)位。如果第一個(gè)運(yùn)算數(shù)是正的,運(yùn)算結(jié)果最高位補(bǔ) 0;如果第一個(gè)運(yùn)算數(shù)是負(fù)的,運(yùn)算結(jié)果最高位補(bǔ) 1。 A >> 1 = 15.
>>> 稱為 0 補(bǔ)最高位無符號(hào)右移運(yùn)算符。這個(gè)運(yùn)算符與>>運(yùn)算符相像,除了位移后左邊總是補(bǔ)0. A >>> = 15.

賦值運(yùn)算符

下面的就是C++語言所支持的賦值運(yùn)算操作符:

運(yùn)算符 描述 例子
= 簡單賦值運(yùn)算符,將右邊運(yùn)算數(shù)的值賦給左邊運(yùn)算數(shù) C = A + B 將 A+B 的值賦給 C
+= 加等賦值運(yùn)算符,將右邊運(yùn)算符與左邊運(yùn)算符相加并將運(yùn)算結(jié)果賦給左邊運(yùn)算數(shù) C += A 相當(dāng)于 C = C + A
-= 減等賦值運(yùn)算符,將左邊運(yùn)算數(shù)減去右邊運(yùn)算數(shù)并將運(yùn)算結(jié)果賦給左邊運(yùn)算數(shù) C -= A 相當(dāng)于C = C - A
*= 乘等賦值運(yùn)算符,將右邊運(yùn)算數(shù)乘以左邊運(yùn)算數(shù)并將運(yùn)算結(jié)果賦給左邊運(yùn)算數(shù) C *= A 相當(dāng)于C = C * A
/= 除等賦值運(yùn)算符, 將左邊運(yùn)算數(shù)除以右邊運(yùn)算數(shù)并將運(yùn)算結(jié)果賦值給左邊運(yùn)算數(shù) C /= A 相當(dāng)于 C = C / A
%= 模等賦值運(yùn)算符,用兩個(gè)運(yùn)算數(shù)做取模運(yùn)算并將運(yùn)算結(jié)果賦值給左邊運(yùn)算數(shù) C %= A 相當(dāng)于 C = C % A
<<= 左移且賦值運(yùn)算符 C <<= 2 相當(dāng)于 C = C << 2
>>= 右移且賦值運(yùn)算符 C >>= 2 相當(dāng)于 C = C >> 2
&= 位與且賦值運(yùn)算符 C &= 2 相當(dāng)于 C = C & 2
^= 位異或且賦值運(yùn)算符 C ^= A 相當(dāng)于 C = C ^ A
|= 位或且賦值運(yùn)算符 C |= A 相當(dāng)于 C = C | A

復(fù)合運(yùn)算符

下面是 C++ 支持的其他運(yùn)算符:

操作符 描述
sizeof sizeof 操作符返回變量占用內(nèi)存的大小。比如,sizeof(a),a 是一個(gè)整數(shù)時(shí),返回 4
條件 ? X : Y 條件操作符:如果條件判斷為true,則返回 X,否則返回 Y.
, 逗號(hào)操作符:可以使操作順序執(zhí)行。整體逗號(hào)表達(dá)式的值就是逗號(hào)最后表達(dá)式的返回結(jié)果。
.(點(diǎn)) 和 ->(箭頭) 成員操作符:用于獲取類、結(jié)構(gòu)體或聯(lián)合體成員的引用。
轉(zhuǎn)換 轉(zhuǎn)換操作符:可以將數(shù)值類型轉(zhuǎn)成其他類型,比如,int(2.2000)將返回 2.
& 取地操作符:可以返回一個(gè)變量的地址。比如, &a 將會(huì)返回變量實(shí)際的內(nèi)存地址。
* 指針操作符:指向一個(gè)變量。比如 *var 意味著指向變量 var.

C++ 中操作符優(yōu)先級(jí)

運(yùn)算符優(yōu)先級(jí)確定表達(dá)式中項(xiàng)的分組。這會(huì)影響如何表達(dá)一個(gè)表達(dá)式。某些操作符比其他有更高的優(yōu)先級(jí),例如,乘法運(yùn)算符的優(yōu)先級(jí)高于加法操作符。

比如 x=7+3*2,這里x的值是13而不是20,因?yàn)槌朔▋?yōu)先級(jí)比加法高。所以應(yīng)該先執(zhí)行3乘2,然后再加7.

操作符的優(yōu)先級(jí)如下表,上方的優(yōu)先級(jí)比下方高。較高優(yōu)先級(jí)的操作符優(yōu)先進(jìn)行計(jì)算。

分類 操作符 操作順序
后綴運(yùn)算 () [] -> . ++ - - 從左到右
一元運(yùn)算 + - ! ~ ++ - - (type)* & sizeof 從右到左
乘法 * / % 從左到右
加法 + - 從左到右
移位 << >> 從左到右
相等 == != 從左到右
比較 < <= > >= 從左到右
位與 & 從左到右
異或 ^ 從左到右
位或 | 從左到右
邏輯與 && 從左到右
|| 邏輯或 從左到右
條件 ?: 從左到右
賦值 = += -= *= /= %=>>= <<= &= ^= |= 從右到左
逗號(hào) , 從左到右
上一篇:基本輸入輸出下一篇:文件和流