初学者宝典:C语言入门基础知识大全(下)
06
類型的自動轉換和強制轉換
當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型后再進行計算。轉換優先級為:char < int < float < double 即左邊級別“低“的類型向右邊轉換。
具體地說,若在表達式中優先級最高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先級最高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。
在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高于左邊的類型時,則在轉換時對右邊的數據進行截取。
除自動轉換外,還有強制轉換,表示形式是:( 類型 )(表達式);
例:(int)(a b)
討論:當a值賦值為3.4,b值賦值為2.7,(int)(a b)和(int)a b的值分別為多少?
07
C運算符認識
C語言的運算符范圍很廣,可分為以下幾類:
1、算術運算符:用于各類數值運算。包括加( )、減(-)、乘(*)、除(/)、求余(%)、自增( )、自減(--)共七種。
2、賦值運算符:用于賦值運算,分為簡單賦值(=)、復合算術賦值( =,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。<="" span="">
3、逗號運算符:用于把若干表達式組合成一個表達式(,)。
4、關系運算符:用于比較運算。包括大于(>)、小于(<)、等于(==)、>=)、小于等于(<=)和不等于(!=)六種。<="" span="">
5、邏輯運算符:用于邏輯運算。包括與(&&)、或(||)、非(!)三種。
6、條件運算符:這是一個三目運算符,用于條件求值(?:)。
7、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
8、指針運算符:用于取內容(*)和取地址(&)二種運算。
9、求字節數運算符:用于計算數據類型所占的字節數(sizeof)。
10、特殊運算符:有括號(),下標[],成員(→,.)等幾種。
另外,按參與運算的對象個數,C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如 ,- )和三目運算符 (如 ? :)。
08
算術運算符和算術表達式
8.1 基本的算數運算符
—
(1) (加法運算符或正值運算符,如2 5)。
(2)-(減法運算符或負值運算符,如4-2)。
(3)*(乘法運算符,如3*8)。
(4)/(除法運算符,如11/5)。
/的運算分為兩種情況:?
?a、“除”的左右兩邊都為整數時,所得結果必然是整數(注意:僅取整數部分,不是四舍五入)比如:5/2的值為2,不是2.5,1/2的值為0。?
b、“除”的左右兩邊至少有一個是實型數據(即小數)時,所得結果為實型數據。比如:5/2.0的值為2.5,7.0/2.0的值為3.5.
(5)%(模運算符或稱求余運算符,%兩側均應為整型數據,如9%7的值為2)。
需要說明的是:當運算對象為負數時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數相同,比如:13%-2值為1,而-15%2值為-1。
8.2?算術表達式和運算符的優先級與結合性
—
算術表達式是用算術運算符和括號將運算量(也稱操作數)連接起來的、符合C語言語法規則的表達式。運算對象包括函數、常量和變量等。
在計算機語言中,算術表達式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。
(1)在算術表達式中,可使用多層圓括號,但括號必須配對。運算時從內層圓括號開始,由內向外依次計算各表達式的值。
(2)在算術表達式中,對于不同優先級的運算符,可按運算符的優先級由高到低進行運算,若表達式中運算符的優先級相同,則按運算符的結合方向進行運算。
(3)如果一個運算符兩側的操作數類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然后進行運算。
8.3?自增自減運算符
—
作用:使變量的值增1或減1。
如: i,--i (在使用i之前,先使i的值加1、減1)。i ,i-- (在使用i之后,使i的值加1、減1)。
(1)只有變量才能用自增運算符 ( )和自減運算符(--),而常量或表達式不能用,如10 或(x y) 都是不合法的。
(2) 和--的結合方向是“自右向左“,如 -i ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結合的,相當于 -(i )。
在循環語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i ”和“ i”及“i--”和“--i”的區別,特別弄清楚表達式的值和變量的值。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的初学者宝典:C语言入门基础知识大全(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闪光功率设置(闪光功率设置多少)
- 下一篇: 在嵌套使用if语句时,C语言规定else