一個程序最基本的結構莫過於3種:順序,選擇,循環。這篇講講順序結構。
c++語言的運算符與表達式數量之多,在高級語言中是少見的,也使得它的語言功能十分完善。
c++的運算符有單目與雙目之分(作用於一個或兩個量),可分為以下幾類:
1、算數運算符
用於各類數值運算,包括加(+)、減(-)、乘(*)、除(/)、求余(%,又稱模運算)、自增(++)、自減(--)共七種。前5種為雙目運算符,后2種為單目。
重點介紹:
模運算符:
求余運算符(%)是雙目運算符,兩個操作數只能都是整型數,其基本形式為a%b,其值為a除以b的余數,比如9%6=3。
除運算符:
如果兩個操作數(a、b)均為整型數,則a/b的值為a除以b的整數部分。如:5/2=2,但5.0/2=2.5。
自增自減運算符:
它們用於對一個操作數進行加1或減1操作,其結果仍然賦予該操作數(必須為變量),常用於計數。
2、關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、大於等於(>=)、小於等於(<=)和不等於(!=)六種。都是雙目運算符。其結果是整型,只有兩種:0與1。0代表關系不成立,1代表關系成立。常用於條件判斷語句。
3、邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種,除最后一種外均為雙目。邏輯運算的值也為“真”和“假”兩種,用“1”和“0”分別表示。各個運算符的求值規則如下:
運算符 | a=1 ,b=1 | a=1,b=0 | a=0,b=1 | a=0,b=0 |
&& | 1 | 0 | 0 | 0 |
|| | 1 | 1 | 1 | 0 |
運算符 | a=1 | a=0 |
! | 0 | 1 |
4、位操作運算符
使參加運算的量按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
“位與”和“位或“跟“與”和“或”是一樣的,不同在於位運算是對數的二進制位進行操作。如9|5,相當於00001001|00000101,其結果為00001101,即13。
而“位異或”則是逐位比較,相同則是0,不同為1。如9^5,相當於00001001^00000101,結果為00001100,即12。
“位非”也與“非”一樣,逐位取反。
“左移”與“右移”指將左側操作數的二進制右移/左移右側操作數位,移出的舍棄,不足的補0。比如3<<4,就是指將00000011左移4位,即00110000(48),又如15>>2,是將00001111右移2位,得00000011(3)。左移a位實質上是乘2^a次,右移a位就是除以2^a次(余數舍棄)。
5、賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算數賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6、條件運算符
這是一個三目運算符,用於條件取值。
7、逗號運算符
用於將若干表達式合成一個表達式。
8、指針運算符
用於取內容(*)和取地址(&)兩種運算。
9、求字節數運算符
用於計算數據類型所占的字節數(sizeof)。
10、特殊運算符
有括號(),下標[],成員(—>,.)等幾種。
在初學者c++編程中,前5種運算符較為常用,其他的暫不需掌握。
補充:算術運算符、關系運算符、邏輯運算符和賦值運算符的優先級如下:
賦值運算符 邏輯運算符 關系運算符 算術運算符
低————————————————————————>高