C++ —— C++运算符与表达式
C++ ——運算符與表達式
?
1、關系運算符及其優先級
在C++語言中有6種關系運算符:<,<=,>,>=,==,!=
在六個關系運算符中,<,<=,>,>=的優先級相同,==和!=的優先級相同,<,<=,>,>=的優先級高于==和!=的優先級。
關系運算符是雙目運算符,運算時從左向右結合。
關系運算符優先級低于算術運算符,高于賦值運算符
例如: ? ? ? ? ? ? ? ?c > a - b ? ? ? ? ? ? ? ? ? 等價于? c > (a - b)
??????????????????????????? c == a > b??????????????? 等價于? c == (a > b)
??????????????????????????? c = b <= a??????????????? 等價于? c =(b <= a)
?
2、關系表達式
關系表達式是用關系運算符將兩個表達式連接起來進行關系運算的式子。
關系表達式的一般形式為:
???????????????????? <表達式><關系運算符><表達式>
例如:
int a = 3,b = 2,c = 1,d,f; cout << (a > b) << endl; cout << ((a > b) == c) << endl; cout << (b + c < a) << endl; cout << (d = a > b) << endl; cout <<(f = a > b > c) << endl; cout <<('a' > 80) << enld;3、條件運算符(三目運算符)
條件運算符是C++中唯一的一個三目運算符,它由兩個符號“?”和“:”組成。
條件表達式的一般形式為:
???????????????????? <表達式1>? <表達式2>:<表達式3>
注意:
條件運算符的優先級低于算術運算符和關系運算符
條件運算符也可以嵌套,而且結合方向是從右向左的。例如:
?????? ?a >b ? a : c > d ? c : d???? 等價于:a > b ? a : (c > d ? c : d )
條件表達式相當于一條簡單的if—else語句。例如:
cout << (a > b ? a : b) << endl; 等價于 if (a > b)cout << a << endl; elsecout << b << endl;4、邏輯運算符及其優先級
C++語言中提供了三種邏輯運算符:
????????????? !??????????????? 非運算
????????????? && ? ? ? ? ? ?與運算
???????????? || ? ? ? ? ? ? ? ?或運算
邏輯運算符的優先級及其結合方向
邏輯非“!”:?? 優先級2,? 右結合性,單目運算符。
邏輯與“&& ”:優先級11,左結合性,雙目運算符。
邏輯或“|| ”:?? 優先級12,左結合性,雙目運算符。
1為真,0為假;
&&:兩個為真才為真;如果第一個為假,后面那個不執行【短路現象】;
||:一個為真就為真;如果第一個為真,后面那個不執行【短路現象】;
?
【!,++,--,-】> 【算術運算符】> 【關系運算符】> 【&&,|| 】> 【條件運算符】> 【賦值運算符】
a>b&& c>d??? ????? ?????????????等價于????????? (a>b) && (c>d)
!b==c|| d<a??? ?????? ?????????????等價于??? ? ((!b)==c)|| (d<a)
a+b>c && x+y<z? ? ???????????????????? ?等價于??? ???? ((a+b)>c) && ((x+y)<z)
?
5、邏輯表達式
?????? 用邏輯運算符將表達式連接起來的式子就是邏輯表達式。
?????? 邏輯表達式的一般形式為:
???????????????????? <表達式><邏輯運算符><表達式>??? ??????
int a = 1,b = 2; //邏輯計算時a,b非0為真 cout << !a << endl; cout << (a && b) << endl; cout << (a || b) << endl; cout << (!a || b) << endl; cout << (4 && 0 || 2) << endl; cout << ('a' &&'b') << endl; cout << (5 > 3 && 2&& 8 < 4 - !0) << endl;總結
以上是生活随笔為你收集整理的C++ —— C++运算符与表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取指定地址的值
- 下一篇: cvc个人记录[为了方便以后查看]