在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

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

操作符

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

  1. 數(shù)學運算操作符
  2. 關系運算操作符
  3. 邏輯運算操作符
  4. 位運算操作符
  5. 賦值運算操作符
  6. 復合運算操作符

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

數(shù)學運算操作符

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

假設變量 A 存儲 10,變量 B 存儲 20,那么:

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

關系運算符

下面的就是 C++語言所支持的關系運算操作符:

假設變量 A 存儲 10,變量 B 存儲 20,那么:

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

邏輯運算符

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

假設變量 A 存儲 1,變量 B 存儲 0,那么:

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

位運算符

位操作運算是按位來進行操作的。與、或、非和異或的真值表如下:

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

假設變量 A 存儲 60,變量 B 存儲 13,那么:

下面的就是 C++ 語言所支持的位運算操作符:

假設變量 A 存儲 60,變量 B 存儲 13,那么:

A = 0011 1100

B = 0000 1101

A&B = 0000 1100

A|B = 0011 1101

`A^B` = 0011 0001

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

賦值運算符

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

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

復合運算符

下面是 C++ 支持的其他運算符:

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

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

運算符優(yōu)先級確定表達式中項的分組。這會影響如何表達一個表達式。某些操作符比其他有更高的優(yōu)先級,例如,乘法運算符的優(yōu)先級高于加法操作符。

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

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

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