Chapter2數(shù)據(jù)類型_第1頁
Chapter2數(shù)據(jù)類型_第2頁
Chapter2數(shù)據(jù)類型_第3頁
Chapter2數(shù)據(jù)類型_第4頁
Chapter2數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第2 2章章 基本數(shù)據(jù)類型、運(yùn)算符及表達(dá)式基本數(shù)據(jù)類型、運(yùn)算符及表達(dá)式2.1 的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型 void數(shù)值類型數(shù)值類型字符類型字符類型 char枚舉類型枚舉類型 enum整整 型型浮點型浮點型單精度型單精度型 float雙精度型雙精度型 double短整型短整型 short長整型長整型 long整型整型 int數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型 struct共用體類型共用體類型 union2.2 常量與變量常量與變量常量常量程序運(yùn)行的過程中,值不能被改變的量。程序運(yùn)行的過程中,值不能被改變的量。含義:

2、含義:分類:分類:字面常量和符號常量。字面常量和符號常量。其中,字面常量又分為:其中,字面常量又分為:整型常量、實型常量、整型常量、實型常量、字符型常量(字符常量和字符串常量)字符型常量(字符常量和字符串常量)字面常量字面常量 整型常量整型常量形式:形式:(1 1)十進(jìn)制整型常量:)十進(jìn)制整型常量: 由由0 0至至9 9的數(shù)字組成,沒有前綴,不能以的數(shù)字組成,沒有前綴,不能以0 0起頭。起頭。(2 2)八進(jìn)制整型常量:)八進(jìn)制整型常量: 以以0 0(數(shù)字(數(shù)字0 0)為前綴,其后由)為前綴,其后由0 0到到7 7的數(shù)字組成,的數(shù)字組成, 沒有小數(shù)部分。沒有小數(shù)部分。 (3 3)十六進(jìn)制整型常量

3、:)十六進(jìn)制整型常量: 以以0 0 x x或或0 0X X為前綴,其后由為前綴,其后由0 0到到9 9的數(shù)字和的數(shù)字和A A到到F F (大小寫均可)字母組成,沒有小數(shù)部分大小寫均可)字母組成,沒有小數(shù)部分整型常量中的長整型數(shù)據(jù)可用整型常量中的長整型數(shù)據(jù)可用L L(或小寫字母或小寫字母l l)作后綴表示。作后綴表示。十進(jìn)制十進(jìn)制、八進(jìn)制八進(jìn)制和和十六進(jìn)制十六進(jìn)制3種形式種形式字面常量字面常量 實型常量實型常量構(gòu)成:構(gòu)成: 由整數(shù)部分和小數(shù)部分組成的,只有由整數(shù)部分和小數(shù)部分組成的,只有十進(jìn)制十進(jìn)制方式方式。形式:形式:(1)定點數(shù)形式定點數(shù)形式:它由數(shù)字和小數(shù)點組成。整數(shù)和小數(shù)部分可以省它由數(shù)

4、字和小數(shù)點組成。整數(shù)和小數(shù)部分可以省去一個,但不可兩者都省,而且小數(shù)點不能省。去一個,但不可兩者都省,而且小數(shù)點不能省。如:如:1.234,.123,123.,0.0等。等。(2)指數(shù)形式指數(shù)形式(或稱科學(xué)表示法或稱科學(xué)表示法):它是用整數(shù)或定點數(shù)后加它是用整數(shù)或定點數(shù)后加e(或或E)和指數(shù)來表示和指數(shù)來表示; 指數(shù)可正可負(fù)必須為整數(shù)指數(shù)可正可負(fù)必須為整數(shù), 字母字母e之前必須有數(shù)字。之前必須有數(shù)字。如如: 1.234e3, 12.34e2 均合法表示均合法表示 1.234* *103;而而 e3,1e2.3,.e3,e 均不合法。均不合法。實型常量的后綴用實型常量的后綴用F/f 表示表示單精

5、度型單精度型。用。用L/l表示表示長雙精度型長雙精度型。例:例:下列四個選項中,均是合法的實型常量的是下列四個選項中,均是合法的實型常量的是 A、+2e-1 -3e4.5 5e3 B、-.91 .2e-0 -7.e8 C、123e+1 4567 +2e-1 D、8e-4 -5e+2 -e3B字面常量字面常量 字符型常量字符型常量分類分類:字符常量和字符串常量兩類。字符常量和字符串常量兩類。1. 1. 字符常量:字符常量:用一對用一對單引號單引號括起來的一個字符。括起來的一個字符。如:如:a a、A A、3 3、? ?等。等。特殊的特殊的轉(zhuǎn)義字符常量轉(zhuǎn)義字符常量:是將反斜扛是將反斜扛( )后面的

6、字符轉(zhuǎn)換成另外的意思。后面的字符轉(zhuǎn)換成另外的意思。 = = = = != = (3) (3) 邏輯運(yùn)算符邏輯運(yùn)算符 ! & | ! & | (4) (4) 位運(yùn)算符位運(yùn)算符 & & (5) (5) 賦值運(yùn)算符賦值運(yùn)算符 = = 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 (6) (6) 條件運(yùn)算符條件運(yùn)算符 ? : ? : (7) (7) 逗號運(yùn)算符逗號運(yùn)算符 , (8) (8) 指針運(yùn)算符指針運(yùn)算符 * * 和和 & & (9) (9) 求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 sizeofsizeof (10) (10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型標(biāo)識符)(類型標(biāo)識符) (11) (11)分量運(yùn)算符

7、分量運(yùn)算符 (12) (12)下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 (13) (13)其它其它 函數(shù)名函數(shù)名( )( )2. 2. 運(yùn)算符按其連接運(yùn)算對象的個數(shù)可分為:運(yùn)算符按其連接運(yùn)算對象的個數(shù)可分為:(1 1)單目運(yùn)算符(僅對一個運(yùn)算對象進(jìn)行操作)單目運(yùn)算符(僅對一個運(yùn)算對象進(jìn)行操作) ! + - - + - -(取負(fù)號)(取負(fù)號) (類型標(biāo)識符)(類型標(biāo)識符) * * & & sizeofsizeof(2 2)雙目運(yùn)算符(該運(yùn)算符連接兩個運(yùn)算對象)雙目運(yùn)算符(該運(yùn)算符連接兩個運(yùn)算對象) + - + - * * / % = = != / % = = != & | & | & | & | = = 復(fù)合賦值運(yùn)

8、算符復(fù)合賦值運(yùn)算符(3 3)三目運(yùn)算符(該運(yùn)算符連接三個運(yùn)算對象)三目運(yùn)算符(該運(yùn)算符連接三個運(yùn)算對象) ? :(4 4)其它)其它 ( ) ( ) - -3. 3. 按優(yōu)先級及結(jié)合性按優(yōu)先級及結(jié)合性優(yōu)先級:優(yōu)先級:標(biāo)志運(yùn)算符在表達(dá)式中的運(yùn)算順序。標(biāo)志運(yùn)算符在表達(dá)式中的運(yùn)算順序。結(jié)合性:結(jié)合性:優(yōu)先級相同時,按優(yōu)先級相同時,按從左到右從左到右或或從右到左從右到左的的結(jié)合順序確定運(yùn)算符的計算順序。結(jié)合順序確定運(yùn)算符的計算順序。分為二類:分為二類:(1 1)從右到左:從右到左:單目、三目和賦值運(yùn)算符單目、三目和賦值運(yùn)算符(2 2)從左到右:從左到右:其它運(yùn)算符其它運(yùn)算符算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)

9、算符與算術(shù)表達(dá)式1. 1. 算術(shù)運(yùn)算符算術(shù)運(yùn)算符單目運(yùn)算符:單目運(yùn)算符:- -( (取負(fù)取負(fù)) )、+ +( (取正取正) )雙目算術(shù)運(yùn)算符:雙目算術(shù)運(yùn)算符:+ +( (加加) )、- -( (減減) )、* *( (乘乘) )、/ /( (除除) )、% %( (余數(shù)余數(shù)) )說明:說明:1、整數(shù)相除結(jié)果為整數(shù),即只取商的整數(shù)部分;、整數(shù)相除結(jié)果為整數(shù),即只取商的整數(shù)部分;2、%只適合整數(shù)運(yùn)算只適合整數(shù)運(yùn)算自增與自減運(yùn)算符(自增與自減運(yùn)算符( + + 與與 - - )說明:說明:單目運(yùn)算符,操作對象只有一個且只能是單個變量。單目運(yùn)算符,操作對象只有一個且只能是單個變量。功能:功能:(1 1)

10、取由該運(yùn)算符構(gòu)成的表達(dá)式的值)取由該運(yùn)算符構(gòu)成的表達(dá)式的值(2 2)實現(xiàn)變量)實現(xiàn)變量( (即運(yùn)算對象即運(yùn)算對象) )自身的加自身的加1 1或減或減1 1運(yùn)算。運(yùn)算。方式:方式:前綴方式:前綴方式:運(yùn)算符在變量的前面運(yùn)算符在變量的前面, ,如如+a a或或- - -a a 先自增先自增/ /自減,再引用;自減,再引用;后綴方式:后綴方式:運(yùn)算符在變量的后面運(yùn)算符在變量的后面, ,如如a+ a+ 或或a- -a- - 先引用,再自增先引用,再自增/ /自減。自減。例:例:main() int a=3; int b=+a,c; printf(%d,%dn,a,b); c=a+; printf(%d

11、,%dn,a,c); 4 ,4 5 ,4#include main( ) char c1=A,c2,c3; int i=5,j,k; c2=c1+; c3=+c1; j=i-; k=-i; printf(c1=%c,c2=%c,c3=%cn,c1,c2,c3); printf(i=%d,j=%d,k=%dn,i,j,k);c1=C, c2=A, c3=Cc1=C, c2=A, c3=Ci=3, j=5, k=3 i=3, j=5, k=3 例:例:說明:說明:1.+ 和和 - 的運(yùn)算對象只能是變量(或運(yùn)的運(yùn)算對象只能是變量(或運(yùn)算結(jié)果是變量的表達(dá)式)算結(jié)果是變量的表達(dá)式), 不能是常量或不能是

12、常量或運(yùn)算結(jié)果是數(shù)值的表達(dá)式運(yùn)算結(jié)果是數(shù)值的表達(dá)式。 例如:例如: 5+、(a+2)+ 不合法。不合法。 2.具有具有右結(jié)合性右結(jié)合性,結(jié)合方向為從右到左。,結(jié)合方向為從右到左。 例如:例如: a+ 等價于等價于 -(a+) 3.在有在有+ 和和 的表達(dá)式中,盡量不要使的表達(dá)式中,盡量不要使用難于理解和容易出錯的表達(dá)方式,尤其用難于理解和容易出錯的表達(dá)方式,尤其是具有二義性的表達(dá)式。是具有二義性的表達(dá)式。int i=3; m=(i+)+(i+)+(i+);int i=3; a=i+; b=i+c=i+;c=a+b+c;()2 2、算術(shù)表達(dá)式、算術(shù)表達(dá)式用算術(shù)運(yùn)算符將運(yùn)算對象連接起來,符合用算術(shù)

13、運(yùn)算符將運(yùn)算對象連接起來,符合語法規(guī)則,并能說明運(yùn)算過程的式子。語法規(guī)則,并能說明運(yùn)算過程的式子。賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符:賦值運(yùn)算符: = =一般形式:一般形式: 變量變量 = = 表達(dá)式表達(dá)式含義:含義:將賦值號將賦值號右邊表達(dá)式右邊表達(dá)式的值的值賦給賦給左邊的變量左邊的變量。如如: x=3; y=(x+2)x=3; y=(x+2)* *3;3;注意:注意:(1)(1)先計算賦值運(yùn)算符右側(cè)表達(dá)式先計算賦值運(yùn)算符右側(cè)表達(dá)式, ,再賦值。再賦值。(2)(2)賦值運(yùn)算符的左側(cè)必須是一個變量。賦值運(yùn)算符的左側(cè)必須是一個變量。如: 3 3= =x; x; (x+y)(x

14、+y)= 5;= 5; /* 都錯誤 */復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符一般形式:一般形式:變量變量 = = 變量變量 運(yùn)算符運(yùn)算符 表達(dá)式表達(dá)式 ; ;縮寫式:縮寫式:變量變量 運(yùn)算符運(yùn)算符 = = 表達(dá)式表達(dá)式; ; 如如: :x = x + y;x = x + y;x += y;x += y;x = x x = x * * (y + z); (y + z);x x * *= y + z;= y + z; 復(fù)合賦值運(yùn)算符共有復(fù)合賦值運(yùn)算符共有1010種:種: += +=(加賦值)(加賦值) -= -=(減賦值)(減賦值) * *= =(乘賦值)(乘賦值) /= /=(除賦值)(除賦值) %=

15、 %=(求余賦值)(求余賦值) &= &=(位與賦值)(位與賦值) |= |=(按位或賦值)(按位或賦值) = =(按位異或賦值)(按位異或賦值) = = =(右移位賦值)(右移位賦值)例:例: # include main( ) int a; float b; a*=a/=(a=7)-(b=4.5); printf(a=%d, b=%fn,a, b);a=4,b=4.500000例例: int m=7,n=12; 則能得到值為則能得到值為3的表達(dá)式是的表達(dá)式是_ A. n%=(m%=5) B. n%=(m-m%5) C. n%=m-m%5 D. (n%=m)-(m%=5) D逗號運(yùn)算符和逗號

16、表達(dá)式逗號運(yùn)算符和逗號表達(dá)式一般形式一般形式:表達(dá)式表達(dá)式1,表達(dá)式表達(dá)式2,表達(dá)式表達(dá)式n例例:z=(y=(x=4*5,x*5),x+25) x=20, y=100, z=45綜合例題綜合例題:int k=7;float a=2.5,b=4.7;則表達(dá)式則表達(dá)式 a+k%3*(int)(a+b)%2/4的值的值_A. 2.5 B. 2.75 C. 3.5 D. 0.0 A各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算與類型轉(zhuǎn)換各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算與類型轉(zhuǎn)換語言規(guī)定:語言規(guī)定:相同類型相同類型數(shù)據(jù)直接進(jìn)行運(yùn)算數(shù)據(jù)直接進(jìn)行運(yùn)算, ,運(yùn)算結(jié)果是原數(shù)據(jù)類型運(yùn)算結(jié)果是原數(shù)據(jù)類型;不同類型不同類型的數(shù)據(jù)的數(shù)據(jù)先轉(zhuǎn)換成

17、同一類型先轉(zhuǎn)換成同一類型,然后才可進(jìn)行運(yùn)算然后才可進(jìn)行運(yùn)算。兩種轉(zhuǎn)換形式:兩種轉(zhuǎn)換形式:(1)(1)隱含轉(zhuǎn)換隱含轉(zhuǎn)換( (隱式轉(zhuǎn)換隱式轉(zhuǎn)換) );(2)(2)強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換( (顯式轉(zhuǎn)換)顯式轉(zhuǎn)換)隱含轉(zhuǎn)換隱含轉(zhuǎn)換1 1、運(yùn)算轉(zhuǎn)換運(yùn)算轉(zhuǎn)換不同類型數(shù)據(jù)混合運(yùn)算時不同類型數(shù)據(jù)混合運(yùn)算時2 2、賦值轉(zhuǎn)換賦值轉(zhuǎn)換把一個值賦給與其類型不同的變量時把一個值賦給與其類型不同的變量時3 3、輸出轉(zhuǎn)換輸出轉(zhuǎn)換輸出時轉(zhuǎn)換成指定的輸出格式輸出時轉(zhuǎn)換成指定的輸出格式4 4、函數(shù)調(diào)用轉(zhuǎn)換函數(shù)調(diào)用轉(zhuǎn)換實參與形參類型不一致時轉(zhuǎn)換實參與形參類型不一致時轉(zhuǎn)換由語言系統(tǒng)自動完成的由語言系統(tǒng)自動完成的doublefloatlon

18、gunsignedintchar,short低低高高轉(zhuǎn)換規(guī)則:轉(zhuǎn)換規(guī)則:注意:注意:(1) (1) 轉(zhuǎn)換按箭頭方向不是逐步進(jìn)行轉(zhuǎn)換按箭頭方向不是逐步進(jìn)行, , 而是一步到位。而是一步到位。(2) (2) 類型轉(zhuǎn)換只影響表達(dá)式結(jié)果類型轉(zhuǎn)換只影響表達(dá)式結(jié)果, ,不改變原變量的類型。不改變原變量的類型。例例 char ch; int i; float f; double d;ch / i + f * * d - ( f + i )intdoubledoubledoubledouble例例:以下表達(dá)式結(jié)果為整數(shù)的是以下表達(dá)式結(jié)果為整數(shù)的是_ (設(shè)設(shè)int i;char c;float f;) A. i+f B. i*c C. c+f D. i+c+fB 強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換通過強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將表達(dá)式值轉(zhuǎn)換為指定類型。通過強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將表達(dá)式值轉(zhuǎn)換為指定類型。一般形

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論