高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件第5章_第1頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件第5章_第2頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件第5章_第3頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件第5章_第4頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件第5章_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第5章章 數(shù)據(jù)類型和表達(dá)式數(shù)據(jù)類型和表達(dá)式c的數(shù)據(jù)類型的數(shù)據(jù)類型c c數(shù)數(shù)據(jù)據(jù)類類型型指針類型指針類型空類型空類型 voidvoid基本類型基本類型字符類型字符類型 charchar數(shù)值類型數(shù)值類型整整 型型短整型短整型 shortshort長(zhǎng)整型長(zhǎng)整型 longlong整型整型 intint浮點(diǎn)型浮點(diǎn)型單精度型單精度型floatfloat雙精度型雙精度型doubledouble構(gòu)造類型構(gòu)造類型枚舉類型枚舉類型 enumenum數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體 structstruct共用體共用體 unionunion5.1 數(shù)據(jù)的存儲(chǔ)格式數(shù)據(jù)的存儲(chǔ)格式n數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中以【數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中以【 】

2、形式存儲(chǔ)】形式存儲(chǔ) a、二進(jìn)制、二進(jìn)制b、十六進(jìn)制、十六進(jìn)制 c、十進(jìn)制、十進(jìn)制d、八進(jìn)制、八進(jìn)制n整型數(shù)據(jù)在內(nèi)存中以【整型數(shù)據(jù)在內(nèi)存中以【 】存儲(chǔ)】存儲(chǔ) a、原碼、原碼b、反碼、反碼 c、補(bǔ)碼、補(bǔ)碼d、ascii碼碼符號(hào)常量符號(hào)常量n符號(hào)常量定義:用標(biāo)識(shí)符代表一個(gè)常量符號(hào)常量定義:用標(biāo)識(shí)符代表一個(gè)常量n使用符號(hào)常量的優(yōu)點(diǎn)使用符號(hào)常量的優(yōu)點(diǎn) 含義清楚含義清楚 一改全改一改全改:符號(hào)常量名通常用大寫,變量名用小寫:符號(hào)常量名通常用大寫,變量名用小寫5.2基本數(shù)據(jù)類型基本數(shù)據(jù)類型n整型整型n實(shí)型實(shí)型n字符型字符型5.2.1整型整型n基本類型:基本類型:int類型類型signed intunsign

3、ed intsigned short intunsigned short intsigned long intunsinged long int比特?cái)?shù)比特?cái)?shù)323216163232取值范圍取值范圍-231 (231-1)0 (232-1)-215 (215-1)0 (216-1)-231 (231-1)0 (232-1)1、整型常量表示方式、整型常量表示方式 十進(jìn)制十進(jìn)制如:如:12,-123,0 八進(jìn)制(以八進(jìn)制(以 開頭)開頭)如:如:012 表示表示10 十六進(jìn)制(以十六進(jìn)制(以開頭)開頭)如:如:0 x12 表示表示18 長(zhǎng)整型需在數(shù)值后面加上一個(gè)字母l或l:123l、0123l。 無(wú)

4、符號(hào)常量后面加上字母u或u: 123u、0 x123u。 5.2.2 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)n1、實(shí)型數(shù)據(jù)的存儲(chǔ)、實(shí)型數(shù)據(jù)的存儲(chǔ) 實(shí)型數(shù)據(jù)一般占實(shí)型數(shù)據(jù)一般占4個(gè)字節(jié)(個(gè)字節(jié)(float型)型)舉例:舉例:(3.14159)(3.14159)10 10 =0.110 0100 1000 0111 1110 0111 110 =0.110 0100 1000 0111 1110 0111 110 * *101010100000001001100100 10000111 11100111階符階符 階碼階碼數(shù)符數(shù)符 尾尾 數(shù)數(shù) n2、實(shí)型常量表示方式、實(shí)型常量表示方式 十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式.123

5、 123.456 -123. 0.0 指數(shù)形式指數(shù)形式123.4e4 -123e3 .123e-10n3、實(shí)型變量、實(shí)型變量 說(shuō)明:說(shuō)明:ansi c并沒有具體規(guī)定每種類型的長(zhǎng)并沒有具體規(guī)定每種類型的長(zhǎng)度、精度和數(shù)值范圍。下面是常用的度、精度和數(shù)值范圍。下面是常用的c編譯系編譯系統(tǒng)的情況統(tǒng)的情況floatdouble48-3.4*10-38 3.4*1038-1.7*10-308 1.7*10308 實(shí)型數(shù)據(jù)的舍入誤差實(shí)型數(shù)據(jù)的舍入誤差從上面的表中可以看出,實(shí)型數(shù)據(jù)的有效數(shù)據(jù)是有從上面的表中可以看出,實(shí)型數(shù)據(jù)的有效數(shù)據(jù)是有限的,有效數(shù)據(jù)以外的數(shù)字將被舍去。因此會(huì)產(chǎn)生限的,有效數(shù)據(jù)以外的數(shù)字將被

6、舍去。因此會(huì)產(chǎn)生誤差誤差n4、實(shí)型常量的類型、實(shí)型常量的類型 系統(tǒng)默認(rèn)為系統(tǒng)默認(rèn)為double類型類型 若希望指定為若希望指定為float類型在后面加類型在后面加f或或f2.3f -0.123f 2e-3f5.2.3 字符型數(shù)據(jù)字符型數(shù)據(jù)n1、字符數(shù)據(jù)的存儲(chǔ)、字符數(shù)據(jù)的存儲(chǔ) 一個(gè)字節(jié)存儲(chǔ)一個(gè)字符數(shù)據(jù)一個(gè)字節(jié)存儲(chǔ)一個(gè)字符數(shù)據(jù) 字節(jié)中存儲(chǔ)的是字符的字節(jié)中存儲(chǔ)的是字符的ascii碼碼如:字符如:字符a0 1 0 0 0 0 0 1a65n2、字符常量、字符常量 以單撇號(hào)括起來(lái)的一個(gè)字符。如以單撇號(hào)括起來(lái)的一個(gè)字符。如a、c、# 以一個(gè)以一個(gè)開頭的字符序列。開頭的字符序列。字符形式字符形式 n t b

7、 r含含 義義換行,將當(dāng)前位置移到下一行開頭換行,將當(dāng)前位置移到下一行開頭水平制表(跳到下一個(gè)水平制表(跳到下一個(gè)tab位置)位置)退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列回車,將當(dāng)前位置移到本行開頭回車,將當(dāng)前位置移到本行開頭asciiascii碼碼109813字符形式字符形式 ddd xhh含含 義義反斜杠字符反斜杠字符單撇號(hào)字符單撇號(hào)字符雙撇號(hào)字符雙撇號(hào)字符1到到3位位8進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符1到到2位位16進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符asciiascii碼碼923934 問題:已知換行的問題:已知換行的ascii碼值為碼值為10,則下列正確,則下列正確

8、表示換行符的方法是表示換行符的方法是:(:(ch是字符型變量是字符型變量)(a)ch=n;(b)ch=10;(c)ch=12;(d)ch=x10;(e)ch=xa;(f)ch=10; (g)ch=10; n字符變量字符變量 一個(gè)字符變量只能存放一個(gè)字符一個(gè)字符變量只能存放一個(gè)字符 字符變量的定義形式,如:字符變量的定義形式,如:char c1,c2; 字符變量的使用方式,如:字符變量的使用方式,如:c1=a; c2=b;char c1, c2;c1 = a;c2 = b;0 1 1 0 0 0 0 1ch1970 1 1 0 0 0 1 0ch298問題:若有說(shuō)明語(yǔ)句:?jiǎn)栴}:若有說(shuō)明語(yǔ)句:ch

9、ar c72;則變量;則變量c(a)包含包含1個(gè)字符個(gè)字符(b)包含包含2個(gè)字符個(gè)字符(c)包含包含3個(gè)字符個(gè)字符(d)說(shuō)明不合法,說(shuō)明不合法,c的值不確定的值不確定以以括起來(lái)的一個(gè)字母括起來(lái)的一個(gè)字母以以開頭的字符序列開頭的字符序列5.3運(yùn)算符及表達(dá)式運(yùn)算符及表達(dá)式nc運(yùn)算符簡(jiǎn)介運(yùn)算符簡(jiǎn)介算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符位運(yùn)算符位運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符條件運(yùn)算符條件運(yùn)算符+ - + - * * / % + - / % + - = = != = = !=! & |& | | & | &= = 及其擴(kuò)展(及其擴(kuò)展(+= -= += -= 等)等

10、),?:?:強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換分量運(yùn)算符分量運(yùn)算符( (類型)類型). -. -算術(shù)運(yùn)算符算術(shù)運(yùn)算符n基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符 優(yōu)先級(jí):優(yōu)先級(jí): 結(jié)合方向結(jié)合方向n功能功能n結(jié)果的類型結(jié)果的類型說(shuō)明:說(shuō)明:%只能進(jìn)行只能進(jìn)行的取模運(yùn)算的取模運(yùn)算,且且整數(shù)的算術(shù)運(yùn)算結(jié)果仍為整數(shù)整數(shù)的算術(shù)運(yùn)算結(jié)果仍為整數(shù)如果算術(shù)運(yùn)算中有如果算術(shù)運(yùn)算中有-5%2 = 5%-2 =1%10 =5%1 =5.5%2 = 5/2 = -5/2.0 = 2 -2.5 -1 1 1 0 ( ) 自增、自減運(yùn)算符自增、自減運(yùn)算符 + -n作用作用 使使加加1或減或減1n種類種類 前置前置 +i, -ii=i+1或

11、或i=i-1,i值值 后置后置 i+,i- i值值,i=i+1或或i=i-15+(a+b)+ 說(shuō)明:說(shuō)明:優(yōu)先級(jí):優(yōu)先級(jí):- + - * / % + - + -結(jié)合方向:結(jié)合方向: 例例 i=3; printf(“%d”,-i+); 例例 j=2;k=3;printf(“%d”,j+k); -(i+) printf(“%d”,-i); i=i+1; 結(jié)果:結(jié)果:-3,i=4(j+)+kprintf(“%d”,j+k);j=j+1; /結(jié)果結(jié)果 5,j=3-5,02,1,11,0,0賦值運(yùn)算符賦值運(yùn)算符n簡(jiǎn)單賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符 符號(hào):符號(hào):= 格式:格式:=表達(dá)式表達(dá)式 作用:將一個(gè)數(shù)據(jù)(

12、常量或表達(dá)式)賦給一個(gè)作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量變量a=3;b=sqrt(a);c=b+2;n復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 種類種類 含義含義a+=3 x*=y+8x%=3 a=a+3 x=x* y+8 x=x%3n說(shuō)明說(shuō)明: : 優(yōu)先級(jí)優(yōu)先級(jí): : 結(jié)合方向:結(jié)合方向: 左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必須是變量,不能是常量或表達(dá)式規(guī)則規(guī)則: :使賦值號(hào)右邊表達(dá)式值使賦值號(hào)右邊表達(dá)式值轉(zhuǎn)轉(zhuǎn)換成其左邊變量的類型換成其左邊變量的類型 賦值表達(dá)式的值與變量值相等賦值表達(dá)式的值與變量值相等, ,且可嵌套且可嵌套3=x-2*y; a+b=3; a=b=c=5 a=(b=5) a

13、=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達(dá)式值表達(dá)式值5; a,b,c值為值為5/表達(dá)式值表達(dá)式值5; b=5,a=5/表達(dá)式值表達(dá)式值11;c=6,a=11/表達(dá)式值表達(dá)式值10;a=10,b=4,c=6/表達(dá)式值表達(dá)式值5; a=5,b=10,c=2逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符n逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 形式:形式: 優(yōu)先級(jí)優(yōu)先級(jí):最低最低 結(jié)合性結(jié)合性:從左向右從左向右 逗號(hào)表達(dá)式的值:等于表達(dá)式逗號(hào)表達(dá)式的值:等于表達(dá)式n的值的值x=3, y=13, z=4.000000 位運(yùn)算符位運(yùn)算符2 00000000 000001015i2 00000000 0101

14、010084i&j 00000000 0001000016ij 00000000 0010110145i|j 00000000 00111101615.4 類型轉(zhuǎn)換類型轉(zhuǎn)換n混合運(yùn)算的規(guī)則混合運(yùn)算的規(guī)則 不同類型數(shù)據(jù)混合運(yùn)算,先轉(zhuǎn)化為同一類型不同類型數(shù)據(jù)混合運(yùn)算,先轉(zhuǎn)化為同一類型 轉(zhuǎn)化規(guī)則轉(zhuǎn)化規(guī)則float型一律轉(zhuǎn)化為型一律轉(zhuǎn)化為double型型char,short型轉(zhuǎn)化為型轉(zhuǎn)化為int型型精度低類型轉(zhuǎn)化為精度高類型精度低類型轉(zhuǎn)化為精度高類型floatchar,shortdoublelongunsignedintint a=3;float f=5.14;char c=a; 10+c c轉(zhuǎn)化為轉(zhuǎn)化為int型型,c的值為的值為97,則結(jié)果為,則結(jié)果為107 a*f a和和f轉(zhuǎn)化都為轉(zhuǎn)化都為double型型,結(jié)果為結(jié)果為9.420000 10+c+a*f 將將10+c的結(jié)果轉(zhuǎn)化為的結(jié)果轉(zhuǎn)化為double型與型與a*f的結(jié)果相加的結(jié)果相加 結(jié)果為結(jié)果為116.4

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論