程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ —— C++運算符與表達式

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;
else
     cout << b << endl;

 

4、邏輯運算符及其優先級

C++語言中提供了三種邏輯運算符:

! 非運算

&& 與運算

|| 或運算

邏輯運算符的優先級及其結合方向

邏輯非“!”: 優先級2, 右結合性,單目運算符。

邏輯與“&& ”:優先級11,左結合性,雙目運算符。

邏輯或“|| ”: 優先級12,左結合性,雙目運算符。

1為真,0為假;

&&:兩個為真才為真;如果第一個為假,後面那個不執行【短路現象】;

||:一個為真就為真;如果第一個為真,後面那個不執行【短路現象】;

 

【!,++,--,-】> 【算術運算符】> 【關系運算符】> 【&&,|| 】> 【條件運算符】> 【賦值運算符】

a>b&& c>d 等價於 (a>b) && (c>d)

!b==c|| d

a+b>c && x+yc) && ((x+y)

 

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;

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved