4數(shù)據(jù)類型及表達(dá)式ppt課件_第1頁
4數(shù)據(jù)類型及表達(dá)式ppt課件_第2頁
4數(shù)據(jù)類型及表達(dá)式ppt課件_第3頁
4數(shù)據(jù)類型及表達(dá)式ppt課件_第4頁
4數(shù)據(jù)類型及表達(dá)式ppt課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第4章數(shù)據(jù)類型及表達(dá)式 4.1 4.1 數(shù)數(shù) 據(jù)據(jù) 結(jié)結(jié) 構(gòu)構(gòu)4.2 C4.2 C言語程序中數(shù)據(jù)的表示方法言語程序中數(shù)據(jù)的表示方法4.3 4.3 運(yùn)算符及其表達(dá)式運(yùn)算符及其表達(dá)式4.4 C4.4 C言語中的類型轉(zhuǎn)換言語中的類型轉(zhuǎn)換4.1 4.1 數(shù)數(shù) 據(jù)據(jù) 結(jié)結(jié) 構(gòu)構(gòu) 數(shù)據(jù)構(gòu)造是程序設(shè)計(jì)中計(jì)算機(jī)的操作對(duì)象數(shù)據(jù)構(gòu)造是程序設(shè)計(jì)中計(jì)算機(jī)的操作對(duì)象以及操作對(duì)象之間關(guān)系和操作的描畫。一個(gè)函以及操作對(duì)象之間關(guān)系和操作的描畫。一個(gè)函數(shù)體中包括兩大部分內(nèi)容:其一是數(shù)據(jù)描畫部數(shù)體中包括兩大部分內(nèi)容:其一是數(shù)據(jù)描畫部分,其二是算法實(shí)現(xiàn)部分。要完成數(shù)據(jù)描畫部分,其二是算法實(shí)現(xiàn)部分。要完成數(shù)據(jù)描畫部分的內(nèi)容,就必需尋

2、覓問題中的操作對(duì)象以及分的內(nèi)容,就必需尋覓問題中的操作對(duì)象以及它們之間的關(guān)系,然后用計(jì)算機(jī)言語加以描畫。它們之間的關(guān)系,然后用計(jì)算機(jī)言語加以描畫。 著名的計(jì)算機(jī)科學(xué)家沃斯著名的計(jì)算機(jī)科學(xué)家沃斯Nikilaus Wirth提出了公式:提出了公式: 數(shù)據(jù)構(gòu)造算法程序數(shù)據(jù)構(gòu)造算法程序 該公式闡明除算法之外,一個(gè)程序中的數(shù)該公式闡明除算法之外,一個(gè)程序中的數(shù)據(jù)構(gòu)造是編寫程序首先要處理的問題。例據(jù)構(gòu)造是編寫程序首先要處理的問題。例4.1中中的的“鏈表、鏈表、“樹和樹和“圖就是數(shù)據(jù)構(gòu)造中的重圖就是數(shù)據(jù)構(gòu)造中的重要類型。當(dāng)然一個(gè)好的程序除了應(yīng)該具備公式中要類型。當(dāng)然一個(gè)好的程序除了應(yīng)該具備公式中兩個(gè)主要要素

3、外,還應(yīng)該選擇適宜的程序設(shè)計(jì)言兩個(gè)主要要素外,還應(yīng)該選擇適宜的程序設(shè)計(jì)言語和程序設(shè)計(jì)方法。語和程序設(shè)計(jì)方法。 C言語提供的數(shù)據(jù)構(gòu)造是以數(shù)據(jù)類型方式表言語提供的數(shù)據(jù)構(gòu)造是以數(shù)據(jù)類型方式表示的。示的。 C言語提供了豐富的數(shù)據(jù)類型,主要有以下言語提供了豐富的數(shù)據(jù)類型,主要有以下類型:類型: 數(shù)據(jù)類型 基本類型 基本型(int,2byte) 長(zhǎng)整型(long,4byte) 短整型(short,2byte) 無符號(hào)整型(unsigned,2byte) 整型 浮點(diǎn)型 單 精 度 浮 點(diǎn) 型 ( float, 4byte)雙精度浮點(diǎn)型 (double,8byte) 字符型(char,1byte) 無值型(v

4、oid) 指針類型 數(shù)組類型 結(jié)構(gòu)體類型 聯(lián)合體類型 枚舉類型 構(gòu)造類型 注:其中括起來的是對(duì)應(yīng)類型的類型關(guān)鍵字及該類注:其中括起來的是對(duì)應(yīng)類型的類型關(guān)鍵字及該類型在內(nèi)存中所占的字節(jié)數(shù)。型在內(nèi)存中所占的字節(jié)數(shù)。4.2 C4.2 C言語程序中數(shù)據(jù)的表示方法言語程序中數(shù)據(jù)的表示方法 數(shù)據(jù)是組成程序的必要元素,根據(jù)數(shù)據(jù)在程數(shù)據(jù)是組成程序的必要元素,根據(jù)數(shù)據(jù)在程序中值的變化與否,數(shù)據(jù)在序中值的變化與否,數(shù)據(jù)在C言語程序中以常量言語程序中以常量和變量?jī)煞N方式表示。和變量?jī)煞N方式表示。4.2.1 常量常量1整型常量整型常量 數(shù)據(jù)類型為整型的常量即為整型常量,又稱整數(shù)據(jù)類型為整型的常量即為整型常量,又稱整常

5、數(shù)。在言語中,運(yùn)用的整型常量有八進(jìn)制、十常數(shù)。在言語中,運(yùn)用的整型常量有八進(jìn)制、十六進(jìn)制和十進(jìn)制六進(jìn)制和十進(jìn)制3種。其中八進(jìn)制、十六進(jìn)制主要種。其中八進(jìn)制、十六進(jìn)制主要用于表示整型常量在內(nèi)存中的存儲(chǔ)方式,也就是表用于表示整型常量在內(nèi)存中的存儲(chǔ)方式,也就是表示某整型常量的機(jī)器碼;十進(jìn)制表示外部數(shù)據(jù),其示某整型常量的機(jī)器碼;十進(jìn)制表示外部數(shù)據(jù),其值表示的是真值。值表示的是真值。1八進(jìn)制整型常量八進(jìn)制整型常量 八進(jìn)制整型常量必需以八進(jìn)制整型常量必需以0開頭,即以開頭,即以0作作為八進(jìn)制數(shù)的前綴。其數(shù)碼取值為為八進(jìn)制數(shù)的前綴。其數(shù)碼取值為07。由。由于八進(jìn)制數(shù)主要用于表示某整型常量的機(jī)器于八進(jìn)制數(shù)主要

6、用于表示某整型常量的機(jī)器碼,所以當(dāng)表示某數(shù)機(jī)器碼時(shí),八進(jìn)制數(shù)前碼,所以當(dāng)表示某數(shù)機(jī)器碼時(shí),八進(jìn)制數(shù)前面沒有符號(hào);假設(shè)有符號(hào),那么是對(duì)其所代面沒有符號(hào);假設(shè)有符號(hào),那么是對(duì)其所代表的真值取反。如表的真值取反。如0123,0123代表的真值代表的真值為為83,0123代表的常量那么為代表的常量那么為83。2十六進(jìn)制整型常量十六進(jìn)制整型常量 十六進(jìn)制整型常量的前綴為十六進(jìn)制整型常量的前綴為0X或或0 x。其數(shù)。其數(shù)碼取值為碼取值為09,AF或或af。當(dāng)十六進(jìn)制數(shù)中。當(dāng)十六進(jìn)制數(shù)中出現(xiàn)出現(xiàn)af或或AF時(shí),數(shù)符碼中出現(xiàn)字母時(shí)字母時(shí),數(shù)符碼中出現(xiàn)字母時(shí)字母的大小寫應(yīng)和前綴相匹配,即要么全部大寫,的大小寫應(yīng)

7、和前綴相匹配,即要么全部大寫,要么全部小寫。十六進(jìn)制數(shù)主要也是用于表示要么全部小寫。十六進(jìn)制數(shù)主要也是用于表示某整型常量的機(jī)器碼,所以當(dāng)表示某數(shù)機(jī)器碼某整型常量的機(jī)器碼,所以當(dāng)表示某數(shù)機(jī)器碼時(shí),十六進(jìn)制數(shù)前面沒有符號(hào);假設(shè)有符號(hào),時(shí),十六進(jìn)制數(shù)前面沒有符號(hào);假設(shè)有符號(hào),那么是對(duì)其所代表的真值取反。如那么是對(duì)其所代表的真值取反。如0 x23,0 x23代表的真值為代表的真值為35,0 x23代表的常量那么代表的常量那么為為35。3十進(jìn)制整型常量十進(jìn)制整型常量十進(jìn)制整型常量沒有前綴。十進(jìn)制整型常量沒有前綴。整型常量的幾點(diǎn)闡明如下。整型常量的幾點(diǎn)闡明如下。 常量的類型常量的類型 常量的類型可以根據(jù)整

8、型常量描畫的數(shù)值常量的類型可以根據(jù)整型常量描畫的數(shù)值來確定其類型。來確定其類型。 當(dāng)整型常量的值為當(dāng)整型常量的值為 32768 32767時(shí),可時(shí),可以看作根本型整型常量。以看作根本型整型常量。 當(dāng)整型常量的值為當(dāng)整型常量的值為065535時(shí),可以看作時(shí),可以看作無符號(hào)整型常量。無符號(hào)整型常量。 當(dāng)整型常量的值在大于當(dāng)整型常量的值在大于32767或小于或小于 32768時(shí),可以看作長(zhǎng)整型常量。時(shí),可以看作長(zhǎng)整型常量。 整型常數(shù)的后綴整型常數(shù)的后綴 十進(jìn)制無符號(hào)整型常量的范圍為十進(jìn)制無符號(hào)整型常量的范圍為065535,有符號(hào)數(shù)為,有符號(hào)數(shù)為 32768 32767。八進(jìn)制數(shù)表示的機(jī)器碼范圍為八進(jìn)

9、制數(shù)表示的機(jī)器碼范圍為00177777。 十六進(jìn)制數(shù)表示的機(jī)器碼范圍為十六進(jìn)制數(shù)表示的機(jī)器碼范圍為0X00XFFFF。 假設(shè)希望將整型常量按照長(zhǎng)整型常量來假設(shè)希望將整型常量按照長(zhǎng)整型常量來運(yùn)算,可以運(yùn)用長(zhǎng)整型數(shù)的后綴運(yùn)算,可以運(yùn)用長(zhǎng)整型數(shù)的后綴“L或或“l(fā)來表示。例如,來表示。例如, 十進(jìn)制長(zhǎng)整型常量十進(jìn)制長(zhǎng)整型常量 158L 358000L2浮點(diǎn)常量浮點(diǎn)常量 實(shí)型也稱為浮點(diǎn)型。實(shí)型常量也稱為實(shí)數(shù)實(shí)型也稱為浮點(diǎn)型。實(shí)型常量也稱為實(shí)數(shù)或者浮點(diǎn)數(shù)。實(shí)型常量不分單、雙精度,都或者浮點(diǎn)數(shù)。實(shí)型常量不分單、雙精度,都按雙精度按雙精度double型處置,其有效位數(shù)為型處置,其有效位數(shù)為1516位。位。1小

10、數(shù)方式小數(shù)方式 小數(shù)方式由數(shù)碼小數(shù)方式由數(shù)碼0 9和小數(shù)點(diǎn)組成。當(dāng)某和小數(shù)點(diǎn)組成。當(dāng)某浮點(diǎn)數(shù)整數(shù)部分或小數(shù)部分為浮點(diǎn)數(shù)整數(shù)部分或小數(shù)部分為0時(shí),時(shí),0可以省略可以省略,但小數(shù)點(diǎn)不可省略。,但小數(shù)點(diǎn)不可省略。例如:例如:0.0,.25,5.789,0.13,5.0,300., 267.8230, 123.等均為合法的實(shí)數(shù)。等均為合法的實(shí)數(shù)。345無小數(shù)點(diǎn),無小數(shù)點(diǎn),a7.數(shù)碼不可以是字母數(shù)碼不可以是字母等均為非法的浮點(diǎn)數(shù)。等均為非法的浮點(diǎn)數(shù)。2指數(shù)方式指數(shù)方式 指數(shù)方式由尾數(shù)加階碼標(biāo)志指數(shù)方式由尾數(shù)加階碼標(biāo)志e或或E以及階碼以及階碼只能為整數(shù),可以帶符號(hào)組成。只能為整數(shù),可以帶符號(hào)組成。 其普通

11、方式為其普通方式為a Ena為尾數(shù),為尾數(shù),n為階碼為階碼其值為其值為 a10n 例如,例如,2.1105可以表示為可以表示為2.1E5,3.7可以可以表示為表示為3.7E 2 3單字符常量單字符常量 單字符常量是用單引號(hào)括起來的一個(gè)字符。單單字符常量是用單引號(hào)括起來的一個(gè)字符。單字符常量可以有如下幾種表示方法。字符常量可以有如下幾種表示方法。1直接方式直接方式 直接方式即在單引號(hào)內(nèi)直接書寫字符。例如直接方式即在單引號(hào)內(nèi)直接書寫字符。例如a、b、?2八進(jìn)制方式八進(jìn)制方式 八進(jìn)制方式格式為八進(jìn)制方式格式為ddd,其中,其中“ddd表示表示13位八進(jìn)制數(shù),其值代表的是某字符的位八進(jìn)制數(shù),其值代表的

12、是某字符的ASCII值。值?!笆潜玖x字符。八進(jìn)制方式可以表示一切的字符。是本義字符。八進(jìn)制方式可以表示一切的字符。例如例如101等于等于A,007響鈴控制字符,響鈴控制字符,343表示表示ASCII值為值為227的字符的字符。 3十六進(jìn)制方式十六進(jìn)制方式 十六進(jìn)制方式格式為十六進(jìn)制方式格式為xhh,其中,其中“hh表示表示12位十六進(jìn)制數(shù),其值代表的是某字符的位十六進(jìn)制數(shù),其值代表的是某字符的ASCII值,值,“是本義字符,是本義字符,“x是十六進(jìn)制前綴。十是十六進(jìn)制前綴。十六進(jìn)制方式可以表示一切的字符。例如六進(jìn)制方式可以表示一切的字符。例如x41等等于于A,x07響鈴控制字符,響鈴控制字符,

13、xe3表示表示ASCII值為值為227的字符的字符。4本義字符本義字符 本義字符是一種特殊的字符常量。本義字符以本義字符是一種特殊的字符常量。本義字符以反斜線反斜線“開頭,后跟一個(gè)或幾個(gè)字符。本義字開頭,后跟一個(gè)或幾個(gè)字符。本義字符具有特定的含義,不同于字符原有的意義,故符具有特定的含義,不同于字符原有的意義,故稱稱“本義字符。本義字符。表4-5常用的本義字符轉(zhuǎn) 義 字 符本義字符的意義轉(zhuǎn) 義 字 符本義字符的意義n回車換行r回車t橫向跳到下一制表位置f走紙換頁v豎向跳格反斜線符b退格單引號(hào)符雙引號(hào) 4字符串常量字符串常量 字符串常量是由一對(duì)雙引號(hào)括起的字符序字符串常量是由一對(duì)雙引號(hào)括起的字符

14、序列,可以沒有字符,也可以只需一個(gè)字符。列,可以沒有字符,也可以只需一個(gè)字符。例如,例如,CHINA ,How are you ! , $12.5, ,A,nc234 等都是合法等都是合法的字符串常量。的字符串常量。 字符串字符串 program在內(nèi)存存儲(chǔ)的方式如圖在內(nèi)存存儲(chǔ)的方式如圖4.1所示。所示。 p r o g r a m 0 該字符串占用該字符串占用8個(gè)字節(jié)的存儲(chǔ)空間,但其個(gè)字節(jié)的存儲(chǔ)空間,但其有效字符的個(gè)數(shù)卻是有效字符的個(gè)數(shù)卻是7,最后一個(gè)字節(jié)存儲(chǔ)字,最后一個(gè)字節(jié)存儲(chǔ)字符串終了標(biāo)志符串終了標(biāo)志“0。圖4.1 字符串存儲(chǔ)方式 字符串的有效字符的個(gè)數(shù)是第一個(gè)字符串的有效字符的個(gè)數(shù)是第一

15、個(gè)“0前字符前字符的個(gè)數(shù)的總和,有效字符的個(gè)數(shù)也稱為字符串長(zhǎng)度。的個(gè)數(shù)的總和,有效字符的個(gè)數(shù)也稱為字符串長(zhǎng)度。例如:例如:computer 長(zhǎng)度為長(zhǎng)度為8。 n 長(zhǎng)度為長(zhǎng)度為1。abcn3450china 長(zhǎng)度為長(zhǎng)度為5,而不是,而不是16,由于,由于“0后的字符是無意義的,后的字符是無意義的,“n是一個(gè)本義字符,是一個(gè)本義字符,“345是八進(jìn)制表示的一個(gè)字符。是八進(jìn)制表示的一個(gè)字符。 長(zhǎng)度為長(zhǎng)度為3,由于,由于“、“與與“分別為分別為一個(gè)字符。一個(gè)字符。5符號(hào)常量符號(hào)常量 在言語中,可以用一個(gè)標(biāo)識(shí)符來表示一在言語中,可以用一個(gè)標(biāo)識(shí)符來表示一個(gè)常量,稱之為符號(hào)常量。符號(hào)常量在運(yùn)用之個(gè)常量,稱之

16、為符號(hào)常量。符號(hào)常量在運(yùn)用之前必需先定義,其普通方式為:前必需先定義,其普通方式為: #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量常量 其功能是把該標(biāo)識(shí)符定義為其后的常量值。其功能是把該標(biāo)識(shí)符定義為其后的常量值。 例例44.22# #def fine PI 3I 3.14114159 /*定義符號(hào)常量定義符號(hào)常量PI I*/mamain()() float ar float areaa,r r; /*定義定義arareaa,r r為為floatfloat型型變量變量*/ r r=5; /*使使r r的值為的值為5*/ ar areaa=PI I*r r*r r; /*計(jì)算以計(jì)算以r r為半徑的圓面積為半

17、徑的圓面積*/ pr printf(tf(arareaa=%f%fn,ararea)a); /*輸出圓面積輸出圓面積*/44.22.2 2 變量變量11變量的根本知識(shí)變量的根本知識(shí) 在程序的執(zhí)行過程中值可以發(fā)生變化的在程序的執(zhí)行過程中值可以發(fā)生變化的量稱為變量。量稱為變量。11變量的命名。變量的命名。 變量的命名符合標(biāo)識(shí)符的規(guī)定。變量名決變量的命名符合標(biāo)識(shí)符的規(guī)定。變量名決議了某一變量在內(nèi)存中的位置,即地址。如議了某一變量在內(nèi)存中的位置,即地址。如變量變量aa的地址就是的地址就是&a&a。 2一個(gè)變量占據(jù)一定字節(jié)的存儲(chǔ)空間。一個(gè)變量占據(jù)一定字節(jié)的存儲(chǔ)空間。 在存儲(chǔ)空間中存放變量

18、的值。由于變量在存儲(chǔ)空間中存放變量的值。由于變量所表示的數(shù)據(jù)可以是除所表示的數(shù)據(jù)可以是除void以外的恣意類型的以外的恣意類型的數(shù)據(jù),所以變量在內(nèi)存中所占的存儲(chǔ)空間根數(shù)據(jù),所以變量在內(nèi)存中所占的存儲(chǔ)空間根據(jù)數(shù)據(jù)類型的不同而不同。據(jù)數(shù)據(jù)類型的不同而不同。 每一個(gè)變量有而且只能有一種類型,變量每一個(gè)變量有而且只能有一種類型,變量的類型決議了該變量在內(nèi)存中所占的字節(jié)數(shù)的類型決議了該變量在內(nèi)存中所占的字節(jié)數(shù)。在變量進(jìn)展相關(guān)運(yùn)算時(shí),變量的類型是編。在變量進(jìn)展相關(guān)運(yùn)算時(shí),變量的類型是編譯系統(tǒng)檢查運(yùn)算能否合法的根據(jù)。譯系統(tǒng)檢查運(yùn)算能否合法的根據(jù)。3一個(gè)變量在運(yùn)用前必需有一個(gè)確一個(gè)變量在運(yùn)用前必需有一個(gè)確定的

19、值。定的值。 變量定義后,由于變量占據(jù)一定的內(nèi)變量定義后,由于變量占據(jù)一定的內(nèi)存空間,所以變量是有值的,但是該值存空間,所以變量是有值的,但是該值是不確定。假設(shè)用該不確定的值參與運(yùn)是不確定。假設(shè)用該不確定的值參與運(yùn)算,所得到的值也是不確定的。算,所得到的值也是不確定的。 2 2變量定義的格式變量定義的格式變量定義的普通方式為:變量定義的普通方式為: 修飾符修飾符 類型闡明符類型闡明符 變量表列;變量表列; 是可選項(xiàng)是可選項(xiàng) 定義變量時(shí)應(yīng)留意以下幾點(diǎn)。定義變量時(shí)應(yīng)留意以下幾點(diǎn)。1變量定義應(yīng)該位于函數(shù)體的數(shù)據(jù)描畫部分。變量定義應(yīng)該位于函數(shù)體的數(shù)據(jù)描畫部分。2類型符闡明變量從屬的類型,有:類型符闡明

20、變量從屬的類型,有:int、float、double和和char。3修飾符部分可有可無,如修飾符部分可有可無,如int有有l(wèi)ong、short和和unsigned修飾符。修飾符。4“修飾符修飾符 類型符部分決議了變量的類型,類型符部分決議了變量的類型,確定了變量在內(nèi)存中所占的字節(jié)數(shù)。確定了變量在內(nèi)存中所占的字節(jié)數(shù)。5變量表列部分是所定義變量的變量名,假設(shè)定變量表列部分是所定義變量的變量名,假設(shè)定義多個(gè)同一類型變量的話,變量名中間用義多個(gè)同一類型變量的話,變量名中間用“,作為,作為分隔符構(gòu)成變量表列。分隔符構(gòu)成變量表列。6變量定義的每一項(xiàng)應(yīng)有空格作為分隔符。變量定義的每一項(xiàng)應(yīng)有空格作為分隔符。7

21、變量定義的終了符是分號(hào)。變量定義的終了符是分號(hào)。3變量的初始化變量的初始化 變量在運(yùn)用前應(yīng)該有確定的值。在程序中經(jīng)常需變量在運(yùn)用前應(yīng)該有確定的值。在程序中經(jīng)常需求對(duì)變量賦初值,以便運(yùn)用變量。求對(duì)變量賦初值,以便運(yùn)用變量。修飾符修飾符 類型闡明符類型闡明符 變量變量1= 值值1,變量,變量2= 值值2,;例如:例如: int a =5; /*初始化變量初始化變量a為為5*/float x=3.2,y=1.2e10; /*初始化初始化x為為3.2,y為為1.2x1010*/char ch=K; /*初始化初始化ch為為K*/int d=5; /*初始化初始化d為為5*/int b=d; /*初始化

22、初始化b為為5,在,在int b=d;定義時(shí)定義時(shí)d應(yīng)有確應(yīng)有確定的值定的值*/ 4不同類型變量的闡明不同類型變量的闡明1整型變量整型變量 整型變量可分為根本型、短整型、長(zhǎng)整型和整型變量可分為根本型、短整型、長(zhǎng)整型和無符號(hào)型無符號(hào)型4類。類。 根本型根本型 根本型的類型闡明符為根本型的類型闡明符為int,在內(nèi)存中占,在內(nèi)存中占2個(gè)字個(gè)字節(jié),其取值的范圍為節(jié),其取值的范圍為2152151,即,即3276832767。 短整型短整型 短整型的類型闡明符為短整型的類型闡明符為short int或或short,所占,所占字節(jié)和取值范圍均與根本型一樣。字節(jié)和取值范圍均與根本型一樣。 長(zhǎng)整型長(zhǎng)整型 長(zhǎng)整型

23、的類型闡明符為長(zhǎng)整型的類型闡明符為long int或或long,在內(nèi),在內(nèi)存中占存中占4個(gè)字節(jié),其取值范圍是個(gè)字節(jié),其取值范圍是 231231 1,即即 21474836482147483647。 無符號(hào)型無符號(hào)型 無符號(hào)型的類型闡明符為無符號(hào)型的類型闡明符為unsigned。無符號(hào)。無符號(hào)型又可與上述型又可與上述3種類型匹配而構(gòu)成。種類型匹配而構(gòu)成。 無符號(hào)根本型。類型闡明符為無符號(hào)根本型。類型闡明符為unsigned int或或unsigned,取值范圍是,取值范圍是065535。 無符號(hào)短整型。類型闡明符為無符號(hào)短整型。類型闡明符為unsigned short,與無符號(hào)根本型一樣。,與無

24、符號(hào)根本型一樣。 無符號(hào)長(zhǎng)整型。類型闡明符為無符號(hào)長(zhǎng)整型。類型闡明符為unsigned long int 或或unsigned long,取值范圍為,取值范圍為0232 1,即,即04294967295。整型變量的闡明方式為:整型變量的闡明方式為: 修飾符修飾符 int 變量表列;變量表列;2浮點(diǎn)變量浮點(diǎn)變量 浮點(diǎn)變量分為單精度浮點(diǎn)型和雙精度浮點(diǎn)浮點(diǎn)變量分為單精度浮點(diǎn)型和雙精度浮點(diǎn)型兩類。單精度浮點(diǎn)型類型闡明符為型兩類。單精度浮點(diǎn)型類型闡明符為float,雙精度浮點(diǎn)型類型闡明符為雙精度浮點(diǎn)型類型闡明符為double。 浮點(diǎn)變量闡明的格式為:浮點(diǎn)變量闡明的格式為:float變量表列;變量表列;或

25、或double 變量表列;變量表列;例如:例如: float x,y; /*定義定義x,y為單精度浮點(diǎn)型為單精度浮點(diǎn)型*/ double a,b,c; /*定義定義a,b,c為雙精度浮點(diǎn)型為雙精度浮點(diǎn)型*/float x=1234.56789; /*定義定義x為單精度浮點(diǎn)型,為單精度浮點(diǎn)型,并初始化值為并初始化值為1234.567*/ 3字符型變量字符型變量 字符型變量的取值是字符型數(shù)據(jù)。字符型字符型變量的取值是字符型數(shù)據(jù)。字符型變量的類型闡明符是變量的類型闡明符是char。 字符型變量類型闡明的格式:字符型變量類型闡明的格式: char 變量表列;變量表列;例如:例如: char c1,c2

26、; /*定義定義c1,c2為字符型為字符型*/4.3 4.3 運(yùn)算符及其表達(dá)式運(yùn)算符及其表達(dá)式44.33.1 C1 C運(yùn)算符概述運(yùn)算符概述 運(yùn)算是對(duì)數(shù)據(jù)進(jìn)展加工的過程,描畫各種運(yùn)算是對(duì)數(shù)據(jù)進(jìn)展加工的過程,描畫各種不同運(yùn)算的符號(hào)稱為運(yùn)算符。參與運(yùn)算的數(shù)據(jù)稱不同運(yùn)算的符號(hào)稱為運(yùn)算符。參與運(yùn)算的數(shù)據(jù)稱為運(yùn)算對(duì)象或操作數(shù)。用運(yùn)算符和括號(hào)將運(yùn)算對(duì)為運(yùn)算對(duì)象或操作數(shù)。用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象銜接起來的符合象銜接起來的符合CC言語語法規(guī)那么的式子稱為言語語法規(guī)那么的式子稱為CC言語表達(dá)式。言語表達(dá)式。 言語的運(yùn)算符不僅具有不同的優(yōu)先級(jí),而言語的運(yùn)算符不僅具有不同的優(yōu)先級(jí),而且還有結(jié)合性的特性。表達(dá)式中各運(yùn)算

27、對(duì)象參與且還有結(jié)合性的特性。表達(dá)式中各運(yùn)算對(duì)象參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)定,還要受運(yùn)算符結(jié)合性的制約,以便確定運(yùn)算定,還要受運(yùn)算符結(jié)合性的制約,以便確定運(yùn)算符是和左側(cè)的運(yùn)算對(duì)象結(jié)合,還是和右側(cè)的運(yùn)算符是和左側(cè)的運(yùn)算對(duì)象結(jié)合,還是和右側(cè)的運(yùn)算對(duì)象結(jié)合。對(duì)象結(jié)合。 44.33.2 2 算術(shù)運(yùn)算符及算術(shù)表達(dá)式算術(shù)運(yùn)算符及算術(shù)表達(dá)式1算術(shù)運(yùn)算符算術(shù)運(yùn)算符C言語提供了言語提供了5個(gè)根本的算術(shù)運(yùn)算符:個(gè)根本的算術(shù)運(yùn)算符: 加法運(yùn)算符加法運(yùn)算符- 減法運(yùn)算符,負(fù)號(hào)運(yùn)算符減法運(yùn)算符,負(fù)號(hào)運(yùn)算符* 乘法運(yùn)算符乘法運(yùn)算符/ 除法運(yùn)算符除法運(yùn)算符% 取余

28、運(yùn)算符或稱模運(yùn)算符取余運(yùn)算符或稱模運(yùn)算符 運(yùn)算符運(yùn)算符,的優(yōu)先級(jí)一樣,的優(yōu)先級(jí)一樣,*,/,%的優(yōu)先級(jí)一樣,的優(yōu)先級(jí)一樣,*,/,%的優(yōu)先級(jí)高于的優(yōu)先級(jí)高于和和運(yùn)算符,算術(shù)運(yùn)算符都是左運(yùn)算符,算術(shù)運(yùn)算符都是左結(jié)合的運(yùn)算符。結(jié)合的運(yùn)算符。2算術(shù)表達(dá)式算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括號(hào)運(yùn)算符將運(yùn)算對(duì)象銜接用算術(shù)運(yùn)算符和括號(hào)運(yùn)算符將運(yùn)算對(duì)象銜接起來的符合起來的符合C言語規(guī)那么的式子,稱為算術(shù)表達(dá)言語規(guī)那么的式子,稱為算術(shù)表達(dá)式。式。 算術(shù)表達(dá)式的計(jì)算符合運(yùn)算符優(yōu)先級(jí)和結(jié)算術(shù)表達(dá)式的計(jì)算符合運(yùn)算符優(yōu)先級(jí)和結(jié)合性的原那么。計(jì)算表達(dá)式時(shí)的詳細(xì)過程是:合性的原那么。計(jì)算表達(dá)式時(shí)的詳細(xì)過程是:對(duì)表達(dá)式自左向右掃描

29、運(yùn)算對(duì)象,然后調(diào)查運(yùn)對(duì)表達(dá)式自左向右掃描運(yùn)算對(duì)象,然后調(diào)查運(yùn)算對(duì)象兩側(cè)的運(yùn)算符。假設(shè)優(yōu)先級(jí)不一樣,那算對(duì)象兩側(cè)的運(yùn)算符。假設(shè)優(yōu)先級(jí)不一樣,那么該運(yùn)算對(duì)象和高優(yōu)先級(jí)的運(yùn)算符結(jié)合,當(dāng)某么該運(yùn)算對(duì)象和高優(yōu)先級(jí)的運(yùn)算符結(jié)合,當(dāng)某運(yùn)算符所需的運(yùn)算對(duì)象全部都和該運(yùn)算符結(jié)合運(yùn)算符所需的運(yùn)算對(duì)象全部都和該運(yùn)算符結(jié)合后進(jìn)展運(yùn)算,運(yùn)算后的結(jié)果就是下一個(gè)被處置后進(jìn)展運(yùn)算,運(yùn)算后的結(jié)果就是下一個(gè)被處置的運(yùn)算對(duì)象,否那么繼續(xù)掃描下一個(gè)運(yùn)算對(duì)象的運(yùn)算對(duì)象,否那么繼續(xù)掃描下一個(gè)運(yùn)算對(duì)象;假設(shè)兩側(cè)的運(yùn)算符優(yōu)先級(jí)一樣,那么按照運(yùn);假設(shè)兩側(cè)的運(yùn)算符優(yōu)先級(jí)一樣,那么按照運(yùn)算符的結(jié)合性原那么去結(jié)合運(yùn)算。假設(shè)運(yùn)算符算符的結(jié)合性原那么去

30、結(jié)合運(yùn)算。假設(shè)運(yùn)算符是左結(jié)合的,那么和左側(cè)的運(yùn)算符結(jié)合,假設(shè)是左結(jié)合的,那么和左側(cè)的運(yùn)算符結(jié)合,假設(shè)是右結(jié)合的,那么和右側(cè)的運(yùn)算符結(jié)合。是右結(jié)合的,那么和右側(cè)的運(yùn)算符結(jié)合。例如,表達(dá)式例如,表達(dá)式a+b*5/6 /*假定假定a=3,b=1*/ (5) (0)532 a + b * 5 / 6 146 (3) 圖4.3 表達(dá)式計(jì)算過程44.33.3 3 自增自減運(yùn)算符及含自增自減表達(dá)式自增自減運(yùn)算符及含自增自減表達(dá)式 CC言語中提供了兩個(gè)特殊的運(yùn)算符,自增言語中提供了兩個(gè)特殊的運(yùn)算符,自增運(yùn)算符運(yùn)算符和自減運(yùn)算符和自減運(yùn)算符。它們都是單目。它們都是單目運(yùn)算符,運(yùn)算對(duì)象可以位于運(yùn)算符前面,也可運(yùn)算

31、符,運(yùn)算對(duì)象可以位于運(yùn)算符前面,也可以位于運(yùn)算符后面。當(dāng)運(yùn)算符位于運(yùn)算對(duì)象前以位于運(yùn)算符后面。當(dāng)運(yùn)算符位于運(yùn)算對(duì)象前面時(shí),稱為前綴運(yùn)算符,如面時(shí),稱為前綴運(yùn)算符,如 i和和i;當(dāng);當(dāng)運(yùn)算符位于運(yùn)算對(duì)象后面時(shí),稱為后綴運(yùn)算符,運(yùn)算符位于運(yùn)算對(duì)象后面時(shí),稱為后綴運(yùn)算符,如如i和和i。 自增自減運(yùn)算符的功能是將運(yùn)算對(duì)象加自增自減運(yùn)算符的功能是將運(yùn)算對(duì)象加11或或減減11后,再將結(jié)果保管到運(yùn)算對(duì)象中去,如后,再將結(jié)果保管到運(yùn)算對(duì)象中去,如i等同于等同于ii11。自增自減運(yùn)算符的運(yùn)算。自增自減運(yùn)算符的運(yùn)算對(duì)象只能是變量。對(duì)象只能是變量。 當(dāng)表達(dá)式中出現(xiàn)自增自減運(yùn)算符時(shí),表達(dá)式的求值過當(dāng)表達(dá)式中出現(xiàn)自增自

32、減運(yùn)算符時(shí),表達(dá)式的求值過程如下。程如下。1自增自減運(yùn)算符是后綴運(yùn)算符時(shí),應(yīng)先運(yùn)用自增自增自減運(yùn)算符是后綴運(yùn)算符時(shí),應(yīng)先運(yùn)用自增自減運(yùn)算符的運(yùn)算對(duì)象計(jì)算整個(gè)表達(dá)式的值,然后再計(jì)算自減運(yùn)算符的運(yùn)算對(duì)象計(jì)算整個(gè)表達(dá)式的值,然后再計(jì)算自增自減。自增自減。例例4.4main() int i=2,j=3; int k; k=(i+)+(j+)+4; printf(result:k=%d,i=%d,j=%dn,k,i,j);程序運(yùn)轉(zhuǎn)結(jié)果為:程序運(yùn)轉(zhuǎn)結(jié)果為:result:k=9,i=3,j=4表達(dá)式表達(dá)式k(i)(j)4的運(yùn)算可了解為:先運(yùn)算的運(yùn)算可了解為:先運(yùn)算表達(dá)式表達(dá)式kij4,再計(jì)算,再計(jì)算i和和j

33、。2自增自減運(yùn)算符是前綴運(yùn)算符時(shí),應(yīng)先完自增自減運(yùn)算符是前綴運(yùn)算符時(shí),應(yīng)先完成自增自減,然后運(yùn)用運(yùn)算后的結(jié)果計(jì)算整個(gè)表成自增自減,然后運(yùn)用運(yùn)算后的結(jié)果計(jì)算整個(gè)表達(dá)式的值。達(dá)式的值。例例4.5main() int i=2,j=3; int k; k=(+i)+(+j)+4; printf(result:k=%d,i=%d,j=%dn,k,i,j);result:k=11,i=3,j=4 表達(dá)式表達(dá)式k (i) (j) 4的運(yùn)算可了解的運(yùn)算可了解為:先運(yùn)算為:先運(yùn)算i和和j,再計(jì)算表達(dá)式,再計(jì)算表達(dá)式k i j 4。程序運(yùn)轉(zhuǎn)結(jié)果為:程序運(yùn)轉(zhuǎn)結(jié)果為:3當(dāng)表達(dá)式中既含有后綴自增自減運(yùn)算符,又當(dāng)表達(dá)式中

34、既含有后綴自增自減運(yùn)算符,又含有前綴自增自減運(yùn)算符時(shí),應(yīng)先計(jì)算一切的前含有前綴自增自減運(yùn)算符時(shí),應(yīng)先計(jì)算一切的前綴自增自減運(yùn)算,再計(jì)算整個(gè)表達(dá)式的值,最后綴自增自減運(yùn)算,再計(jì)算整個(gè)表達(dá)式的值,最后計(jì)算一切的后綴自增自減運(yùn)算。計(jì)算一切的后綴自增自減運(yùn)算。例例4.6 main() int i=2,j=3; int k; k=(i+)+(j+)+4+(+i)+(+j); printf(result:k=%d,i=%d,j=%dn,k,i,j);程序運(yùn)轉(zhuǎn)結(jié)果為:程序運(yùn)轉(zhuǎn)結(jié)果為:result:k=18,i=4,j=5 表達(dá)式表達(dá)式k (i) (j) 4 (i) (j)的運(yùn)算可的運(yùn)算可了解為:先運(yùn)算了解為

35、:先運(yùn)算i和和j,再計(jì)算表達(dá)式,再計(jì)算表達(dá)式k i j 4 i j,最后計(jì)算,最后計(jì)算i和和j。留意:在運(yùn)算的時(shí)候變量留意:在運(yùn)算的時(shí)候變量i,j是變化的,但在某是變化的,但在某瞬間值是確定的。瞬間值是確定的。1簡(jiǎn)單的賦值運(yùn)算符和賦值表達(dá)式簡(jiǎn)單的賦值運(yùn)算符和賦值表達(dá)式 C言語的賦值運(yùn)算符是言語的賦值運(yùn)算符是“,該運(yùn)算符是雙目運(yùn),該運(yùn)算符是雙目運(yùn)算符,它的優(yōu)先級(jí)僅高于逗號(hào)運(yùn)算符,是右結(jié)合性的。算符,它的優(yōu)先級(jí)僅高于逗號(hào)運(yùn)算符,是右結(jié)合性的。 由賦值運(yùn)算符構(gòu)成的賦值表達(dá)式的格式為:由賦值運(yùn)算符構(gòu)成的賦值表達(dá)式的格式為:變量變量確定的值確定的值 賦值表達(dá)式會(huì)得到兩個(gè)值。一個(gè)是賦值運(yùn)算符左賦值表達(dá)式會(huì)

36、得到兩個(gè)值。一個(gè)是賦值運(yùn)算符左側(cè)變量的值;另一個(gè)是賦值表達(dá)式的值,表達(dá)式的值側(cè)變量的值;另一個(gè)是賦值表達(dá)式的值,表達(dá)式的值與變量的值是一樣的。與變量的值是一樣的。44.33.4 4 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式以下表達(dá)式是符合以下表達(dá)式是符合C言語表達(dá)式規(guī)那么的表達(dá)式言語表達(dá)式規(guī)那么的表達(dá)式: a=123 a=123.456c=a+Ax=a+ca+(x=a+4)/c /*算術(shù)表達(dá)式算術(shù)表達(dá)式*/(x=a)+(b=3) /*合法的算術(shù)表達(dá)式合法的算術(shù)表達(dá)式*/2復(fù)合的賦值運(yùn)算符和復(fù)合的賦值表達(dá)式復(fù)合的賦值運(yùn)算符和復(fù)合的賦值表達(dá)式 在賦值運(yùn)算符在賦值運(yùn)算符“前加上其他的運(yùn)算符,前加

37、上其他的運(yùn)算符,可以構(gòu)成復(fù)合的賦值運(yùn)算符。如在可以構(gòu)成復(fù)合的賦值運(yùn)算符。如在“前加前加上上“運(yùn)算符就構(gòu)成了運(yùn)算符就構(gòu)成了“運(yùn)算符。運(yùn)算符。 C言語提供了言語提供了10種復(fù)合的賦值運(yùn)算符,種復(fù)合的賦值運(yùn)算符,它們是它們是+=,-=,*=,=,%=,=,&=,=,|= 其中前其中前5個(gè)是復(fù)合的算術(shù)賦值運(yùn)算符,后個(gè)是復(fù)合的算術(shù)賦值運(yùn)算符,后5個(gè)是復(fù)合的位運(yùn)算賦值運(yùn)算符。復(fù)合的賦值個(gè)是復(fù)合的位運(yùn)算賦值運(yùn)算符。復(fù)合的賦值運(yùn)算符是雙目運(yùn)算符,優(yōu)先級(jí)和賦值運(yùn)算符運(yùn)算符是雙目運(yùn)算符,優(yōu)先級(jí)和賦值運(yùn)算符一樣,也是右結(jié)合性的。一樣,也是右結(jié)合性的。 由復(fù)合的賦值運(yùn)算符構(gòu)成的賦值表達(dá)式的由復(fù)合的賦值運(yùn)算符構(gòu)

38、成的賦值表達(dá)式的格式為:格式為:變量變量 確定的值確定的值 它等效于它等效于變量變量=變量變量 確定的值確定的值例如:例如:a+=5 等價(jià)于等價(jià)于a=a+5x*=y+7 等價(jià)于等價(jià)于x=x*(y+7)r%=p 等價(jià)于等價(jià)于r=r%p44.33.5 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 在言語中逗號(hào)在言語中逗號(hào)“,也是一種運(yùn)算符,稱為,也是一種運(yùn)算符,稱為逗號(hào)運(yùn)算符。逗號(hào)運(yùn)算符。 逗號(hào)運(yùn)算符的優(yōu)先級(jí)是最低的。其逗號(hào)運(yùn)算符的優(yōu)先級(jí)是最低的。其功能是把兩個(gè)表達(dá)式銜接起來組成一個(gè)表達(dá)式,功能是把兩個(gè)表達(dá)式銜接起來組成一個(gè)表達(dá)式,稱為逗號(hào)表達(dá)式。稱為逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的普通方式為:逗號(hào)表達(dá)式

39、的普通方式為:表達(dá)式表達(dá)式11,表達(dá)式,表達(dá)式2 2 逗號(hào)表達(dá)式的求值過程是順序求解表達(dá)式逗號(hào)表達(dá)式的求值過程是順序求解表達(dá)式11、表達(dá)式表達(dá)式22的值,并以表達(dá)式的值,并以表達(dá)式22的值作為整個(gè)逗號(hào)的值作為整個(gè)逗號(hào)表達(dá)式的值。表達(dá)式的值。例例44.77mamain()() int at a=22,b b=44,c c=66,x,y; y=( (x=aa+b)b),(b(b+c)c); pr printf(tf(y=% %d,x=% %d,y,x) );程序運(yùn)轉(zhuǎn)結(jié)果為:程序運(yùn)轉(zhuǎn)結(jié)果為:y=66,x=6 6 本例中的本例中的y等于等于66,而逗號(hào)表達(dá)式的值,而逗號(hào)表達(dá)式的值y( (xaab)b)

40、,(b(bc)c)是是110。44.33.6 6 表達(dá)式小結(jié)表達(dá)式小結(jié) 判別表達(dá)式類型應(yīng)根據(jù)表達(dá)式中出現(xiàn)的運(yùn)算判別表達(dá)式類型應(yīng)根據(jù)表達(dá)式中出現(xiàn)的運(yùn)算符的優(yōu)先級(jí)來斷定。假設(shè)某一運(yùn)算符在整個(gè)表達(dá)符的優(yōu)先級(jí)來斷定。假設(shè)某一運(yùn)算符在整個(gè)表達(dá)式的運(yùn)算過程中優(yōu)先級(jí)是最低的,或者是最后運(yùn)式的運(yùn)算過程中優(yōu)先級(jí)是最低的,或者是最后運(yùn)算的運(yùn)算符,那么表達(dá)式的類型就是該運(yùn)算符所算的運(yùn)算符,那么表達(dá)式的類型就是該運(yùn)算符所從屬的類型。例如:從屬的類型。例如:x=(a(a=33,b b*3)3) 是賦值表達(dá)式;是賦值表達(dá)式;x=aa=33,66*aa 是逗號(hào)表達(dá)式;是逗號(hào)表達(dá)式;( (x=8)(8)(y=9) )+66

41、是關(guān)系表達(dá)式;是關(guān)系表達(dá)式;( (k=i+) )/33*aa 是算術(shù)表達(dá)式。是算術(shù)表達(dá)式。4.4 C4.4 C言語中的類型轉(zhuǎn)換言語中的類型轉(zhuǎn)換 C言語規(guī)定不同類型的數(shù)據(jù)不可以直接進(jìn)言語規(guī)定不同類型的數(shù)據(jù)不可以直接進(jìn)展運(yùn)算,只需一樣類型的數(shù)據(jù)才可以。但是展運(yùn)算,只需一樣類型的數(shù)據(jù)才可以。但是在描畫表達(dá)式時(shí),參與運(yùn)算的運(yùn)算對(duì)象卻可在描畫表達(dá)式時(shí),參與運(yùn)算的運(yùn)算對(duì)象卻可以是不同類型的數(shù)據(jù),于是在表達(dá)式進(jìn)展運(yùn)以是不同類型的數(shù)據(jù),于是在表達(dá)式進(jìn)展運(yùn)算的時(shí)候存在類型的轉(zhuǎn)換問題。算的時(shí)候存在類型的轉(zhuǎn)換問題。C言語中有兩言語中有兩種方式的類型轉(zhuǎn)換。種方式的類型轉(zhuǎn)換。44.44.1 1 類型的自動(dòng)轉(zhuǎn)換類型的自動(dòng)

42、轉(zhuǎn)換11賦值表達(dá)式中的類型轉(zhuǎn)換賦值表達(dá)式中的類型轉(zhuǎn)換 其轉(zhuǎn)換的根據(jù)是將賦值運(yùn)算符右側(cè)確實(shí)定其轉(zhuǎn)換的根據(jù)是將賦值運(yùn)算符右側(cè)確實(shí)定的值按照左側(cè)變量定義的類型存儲(chǔ),即要把確的值按照左側(cè)變量定義的類型存儲(chǔ),即要把確定的值轉(zhuǎn)換為變量定義的類型。定的值轉(zhuǎn)換為變量定義的類型。 為了方便描畫,以下一切的例如都假定有為了方便描畫,以下一切的例如都假定有如下的變量闡明:如下的變量闡明:int at a;lolong int bt b;u uns signed int ct c;float float x;char c1char c1;1浮點(diǎn)型數(shù)據(jù)賦給整型變量浮點(diǎn)型數(shù)據(jù)賦給整型變量 浮點(diǎn)型數(shù)據(jù)賦給整型變量轉(zhuǎn)換的方法

43、是舍浮點(diǎn)型數(shù)據(jù)賦給整型變量轉(zhuǎn)換的方法是舍去浮點(diǎn)型數(shù)據(jù)的小數(shù)部分,將整數(shù)部分賦給整去浮點(diǎn)型數(shù)據(jù)的小數(shù)部分,將整數(shù)部分賦給整型變量。型變量。2整型數(shù)據(jù)賦給浮點(diǎn)型變量整型數(shù)據(jù)賦給浮點(diǎn)型變量 整型數(shù)據(jù)賦給浮點(diǎn)型變量轉(zhuǎn)換的方法是數(shù)整型數(shù)據(jù)賦給浮點(diǎn)型變量轉(zhuǎn)換的方法是數(shù)值堅(jiān)持不變,只是將整型數(shù)據(jù)以浮點(diǎn)型數(shù)據(jù)的值堅(jiān)持不變,只是將整型數(shù)據(jù)以浮點(diǎn)型數(shù)據(jù)的存儲(chǔ)方式存儲(chǔ)到相應(yīng)的浮點(diǎn)變量中。存儲(chǔ)方式存儲(chǔ)到相應(yīng)的浮點(diǎn)變量中。3字符型數(shù)據(jù)賦給整型變量字符型數(shù)據(jù)賦給整型變量 詳細(xì)轉(zhuǎn)換的方法是將字符型數(shù)據(jù)的詳細(xì)轉(zhuǎn)換的方法是將字符型數(shù)據(jù)的ASCII碼碼存儲(chǔ)到整型變量的低字節(jié)中,整型變量的高字節(jié)存儲(chǔ)到整型變量的低字節(jié)中,整型變量的

44、高字節(jié)的一切位存儲(chǔ)的是低字節(jié)的的一切位存儲(chǔ)的是低字節(jié)的“高位擴(kuò)展。假設(shè)高位擴(kuò)展。假設(shè)低字節(jié)的最高位為低字節(jié)的最高位為0,那么高字節(jié)的一切位全部,那么高字節(jié)的一切位全部擴(kuò)展為;假設(shè)低字節(jié)的最高位為擴(kuò)展為;假設(shè)低字節(jié)的最高位為1,那么高字,那么高字節(jié)的一切位全部擴(kuò)展為。例如:節(jié)的一切位全部擴(kuò)展為。例如: c1=A,a=c1 整型變量整型變量a的值為的值為65。字符型數(shù)據(jù)。字符型數(shù)據(jù)c1和整型和整型變量變量a的存儲(chǔ)如圖的存儲(chǔ)如圖4.4所示。所示。圖4.4 變量c1,a的存儲(chǔ) c 1 : 0 1 0 0 0 0 0 1 a : 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 4整型數(shù)據(jù)

45、賦給字符型變量整型數(shù)據(jù)賦給字符型變量 整型數(shù)據(jù)賦給字符型變量時(shí)的詳細(xì)轉(zhuǎn)換方法整型數(shù)據(jù)賦給字符型變量時(shí)的詳細(xì)轉(zhuǎn)換方法是將整型數(shù)據(jù)的低字節(jié)存儲(chǔ)的內(nèi)容存儲(chǔ)到字符型是將整型數(shù)據(jù)的低字節(jié)存儲(chǔ)的內(nèi)容存儲(chǔ)到字符型變量中去,即變量中去,即“高位截?cái)?。例如:高位截?cái)唷@纾篶1=254 運(yùn)算后運(yùn)算后c1的的ASCII碼值為碼值為254。字符型變量。字符型變量c1,整型常量,整型常量254的存儲(chǔ)如圖的存儲(chǔ)如圖4.6所示。所示。 254: 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 c1: 1 1 1 1 1 1 1 0 圖4.6 變量c1,常量254的存儲(chǔ)5int型數(shù)據(jù)賦給型數(shù)據(jù)賦給long

46、int型變量型變量 int型數(shù)據(jù)賦給型數(shù)據(jù)賦給long int型變量時(shí),詳細(xì)轉(zhuǎn)換的型變量時(shí),詳細(xì)轉(zhuǎn)換的方法是將方法是將int型數(shù)據(jù)的值存儲(chǔ)到型數(shù)據(jù)的值存儲(chǔ)到long int變量的低字變量的低字中。中。圖4.8 變量a,b的存儲(chǔ) a: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 b: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 6long int型數(shù)據(jù)賦給型數(shù)據(jù)賦給int 型或型或unsigned int型型變量變量 詳細(xì)轉(zhuǎn)換的方法是將詳細(xì)轉(zhuǎn)換的方法是將long int型數(shù)據(jù)的低字型數(shù)據(jù)的低字

47、的內(nèi)容存儲(chǔ)到的內(nèi)容存儲(chǔ)到int型或型或unsigned int型變量中去。型變量中去。圖4.10 變量b, a和c的存儲(chǔ) b: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a或c: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7unsigned int型數(shù)據(jù)賦給型數(shù)據(jù)賦給long int型變量型變量 詳細(xì)轉(zhuǎn)換的方法是將詳細(xì)轉(zhuǎn)換的方法是將unsigned int型數(shù)據(jù)型數(shù)據(jù)的值存儲(chǔ)到的值存儲(chǔ)到long int型變量的低字中,型變量的低字中,long int型變量的高字的一切位存儲(chǔ)的是。型變量的高字的一切位存儲(chǔ)的是。 8一樣長(zhǎng)度的整型數(shù)據(jù)賦給一樣長(zhǎng)度的整一樣長(zhǎng)度的整型數(shù)據(jù)賦給一樣長(zhǎng)度的整型變量型變量 一樣長(zhǎng)度的整型數(shù)據(jù)賦給一樣長(zhǎng)度的整型一樣長(zhǎng)度的整型數(shù)據(jù)賦給一樣長(zhǎng)度的整型變量轉(zhuǎn)換的規(guī)那么是存儲(chǔ)方式不發(fā)生變化,但變量轉(zhuǎn)換的規(guī)那么是存儲(chǔ)方式不發(fā)生變化,但代表的真值不一定一樣。代表的真值不一定一樣。2不同類型數(shù)據(jù)的混合運(yùn)算不同類型數(shù)據(jù)的混合運(yùn)算 當(dāng)某一運(yùn)算符兩側(cè)的運(yùn)算對(duì)象類型不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論