C++学习笔记2[表达式与语句]
C++學習目錄鏈接:
C++學習筆記目錄鏈接(持續更新中)
文章目錄
- 一、表達式與語句
- 1.運算符
- 2.表達式
- 3.表達式中的類型轉換
- 4.語句
- 總結
一、表達式與語句
1.運算符
算術運算符:
– 是自減運算符,屬于單目運算符。有–expr 和expr–兩種形式, - -expr表示expr自減1后再進行其他運算; expr -表示expr先參加完其他運算后再進行自減1, expr 只能是變量。例如,i–表示i自減1后再參與其他運算; --i 表示i參與運算后,i的值再自減; 1- 表示不合法。
關系運算符:主要用來比較兩個數的大小。
邏輯運算符:是對真和假這兩種邏輯進行運算,返回的仍然是一個邏輯值。
賦值運算符
位運算符:位邏輯或實際上是將操作數轉換成二進制表示方式,然后將兩個二進制操作數對象從低位(最右邊)到高位對齊,每位求或,若兩個操作數對象同- -位都為0,則結果對應位為0,否則結果中對應位為1。
移位運算符:
移位運算有兩個,分別是左移< <和右移>>,這兩個運算符都是雙目的。
(1)左移是將-一個二進制操作數對象按指定的移動位數向左移,左邊(高位端)溢出的位被丟棄,右邊(低位端)的空位用0補充。右移相當于乘以2的冪,如圖所示。
(2)右移是將-一個二進制操作數對象按指定的位數向右移動,右邊(低位端)溢出的位被丟棄,左邊(高位端)的空位或者-律用0填充,或者用被移位操作數的符號位填充,運算結果和編譯器有關,在使用補碼的機器中,正數的符號位為0,負數的符號為1.右移位運算相當于除以2的冪,如圖3.4所示。
sizeof運算符:功能是返回指定的數據類型或表達式值的數據類型在內存中占用的字節數。
用法:sizeof(類型說明符)。sizeof(表達式)
條件運算符:<表達式1>?<表達式2>:<表達式3>
表示式1是一一個邏輯值,可以為真或假。若表達式1為真,則運算結果是表達式2,若表達式1為假,則運算結果是表達式3。這個運算相當于-一個if語句。
逗號運算符:C++語言中逗號“,”也是一種運算符,稱為逗號運算符。逗號運算符的優先級別最低,結合方向自左至右,其功能是把兩個表達式連接起來組成一個表達式。逗號運算符一個多目運算符,并且操作數的個數不限定,可以將任意多個表達式組成-一個表達式。
2.表達式
????表達式由運算符、括號、數值對象或變量等幾個元素構成。一個數值對象是最簡單的表達式,一個表達式可以看作一個數學函數,帶有運算符的表達式通過計算將返回一個數值。例如1+1,3.141926,x>y>
????當表達式有兩個或多個運算符時,表達式稱為復雜表達式,運算符執行的先后順序由它們的優先級和結合性決定。例如:(x+y)z,ax+b*y+z。
????一個表達式的值的數據類型由運算符的種類和操作數的數據類型決定。帶運算符的表達式根據運算符的不同,可以分成算術表達式、關系表達式、邏輯表達式、條件表達式和賦值表達式等幾類。
算術表達式:表達式 算術運算符 表達式
關系表達式:表達式 關系運算符 表達式
條件表達式:關系表達式?表達式:表達式
賦值表達式:表達式 賦值運算符 表達式
邏輯表達式:表達式 邏輯運算符 表達式
逗號表達式:表達式1,表達式2
3.表達式中的類型轉換
1.隱式變換
????隱式轉換發生在不同數據類型的量混合運算時,由編譯系統自動完成。規則如下:
- (1)若參與運算量的類型不同,則先轉換成同一類型,然后進行運算。賦值時會把賦值類型和被賦值類型轉換成同一-類型,一 般賦值 號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度比左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四舍五入向前舍入。
- (2)轉換按數據由低到高順序執行,以保證精度不降低。int型和 long型運算時,先把int型轉成long型后再進行運算。所有的浮 點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式, 也要先轉換成double型,再作運算。char型和 short型參與運算時, 必須先轉換成int型。
2.強制變換
????強制類型轉換是通過類型轉換運算來實現的,其-般形式為: 類型說明符(表達式) 或 (類型說明符)表達式。例如:(float)x
(int)(x+y),int(1.3)
4.語句
????在C++程序中,語句是最小的可執行單元,- 條語句由一個分號結束。
????C++程序語句按其功能可以劃分為兩類,- -類是用于描述計算機執行操作運算的,稱為操作運算制的功能。基本的控制結構有3種:順序結構、選擇結構和循環結構。
????順序結構指按照語句在程序中的先后次序-條-條順次執行。順序結構是自然形成的,不需要控制,按默認的順序執行,順序控制語句就是一條簡單的語句。
1.表達式語句
表達式語句是由表達式后面加上-一個分號組成的。表達式有很多種,如關系表達式、邏輯表達式、算術表達式等,但關系表達式、邏輯表達式多用于循環或選擇結構中,只有賦值表達式多用于賦值語
句。賦值表達式后面加上-一個分號可以形成賦值語句,將右邊的表達式(算術表達式)的結果賦給左邊的變量。一個賦值語句中可以包含多個賦值表達式。
2.空語句
空語句只有一個分號,表示什么也不做。空語句經常出現在選擇或循環語句中,表示某個分支或循環體不執行具體的操作,也用于編制程序的初始階段,在搭建程序的模塊框架中,先用空語句占位, .
接下來再逐步細化和補充。例如:while(a < b){}
3.復合語句
復合語句是若干條語句的一個集合,它在語法上是-一個整體,相當于-一個語句,其語法形式是由一對大括號將若干條語句括起來。復合語句經常出現在選擇或循環結構中,選擇語句的分支和循環語句的循環體由多條語句組成時,用大括號括起來形成一條復合 語句,起到層次劃分的作用。一對大括號形成了一個范圍,這個范圍也是變量的作用范圍,也可以將大括號內的代碼稱之為程序段。在能使用簡單語句的地方,都能夠使用復合語句。在一個復合語句中可以包含另外-一個或多個復合語句。例如:
{x=1;
y=2;
z=x+y;
}
4.函數調用語句
函數由函數名、帶實際參數表的圓括號組成,函數調用語句就是在函數后加_上-一個分號。調用主要指程序執行到函數調用語句時,會跳轉到相應的函數體中執行該函數體中的內容,執行完所有內容后返回到函數調用語句處,執行調用語句下面的語句。可以調用的函數主要有用系統庫函數和自定義
函數。順序、選擇、循環是結構化程序的3種基本結構。選擇結構語句、循環結構語句會在后面章節講到。
總結
本文講解了表達式與語句。
作者:電氣-余登武
總結
以上是生活随笔為你收集整理的C++学习笔记2[表达式与语句]的全部內容,希望文章能夠幫你解決所遇到的問題。