武漢理工大學(xué)材料力學(xué)c2第二章-新_第1頁(yè)
武漢理工大學(xué)材料力學(xué)c2第二章-新_第2頁(yè)
武漢理工大學(xué)材料力學(xué)c2第二章-新_第3頁(yè)
武漢理工大學(xué)材料力學(xué)c2第二章-新_第4頁(yè)
武漢理工大學(xué)材料力學(xué)c2第二章-新_第5頁(yè)
已閱讀5頁(yè),還剩50頁(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、2022-6-121 程序由算法和數(shù)據(jù)構(gòu)成程序由算法和數(shù)據(jù)構(gòu)成 數(shù)據(jù)是算法的處理對(duì)象。 要學(xué)習(xí)程序設(shè)計(jì),首先要了解處理對(duì)象數(shù)據(jù)的特點(diǎn)。本章中我們討論C語(yǔ)言中基本數(shù)據(jù)及其類型和基本的運(yùn)算方法。 2022-6-1222.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 通過(guò)對(duì)上一章的學(xué)習(xí),我們知道不同的數(shù)據(jù)在計(jì)算機(jī)通過(guò)對(duì)上一章的學(xué)習(xí),我們知道不同的數(shù)據(jù)在計(jì)算機(jī)中的表示方法是不同的(如:定點(diǎn)數(shù)、浮點(diǎn)數(shù)、字符數(shù)據(jù)等不中的表示方法是不同的(如:定點(diǎn)數(shù)、浮點(diǎn)數(shù)、字符數(shù)據(jù)等不同類型),這是由計(jì)算機(jī)的二進(jìn)制存儲(chǔ)特性所決定的。在程序同類型),這是由計(jì)算機(jī)的二進(jìn)制存儲(chǔ)特性所決定的。在程序中要指定數(shù)據(jù)的類型,以便編譯系統(tǒng)能夠按指定類型

2、確定其表中要指定數(shù)據(jù)的類型,以便編譯系統(tǒng)能夠按指定類型確定其表示方法、字節(jié)個(gè)數(shù)、以及運(yùn)算方式。示方法、字節(jié)個(gè)數(shù)、以及運(yùn)算方式。 2022-6-123 在上述類型中,虛線框中的類型又稱為導(dǎo)出類型,在上述類型中,虛線框中的類型又稱為導(dǎo)出類型,定義這類數(shù)據(jù)時(shí)要用到基本類型。在定義這類數(shù)據(jù)時(shí)要用到基本類型。在C語(yǔ)言的程序中,對(duì)語(yǔ)言的程序中,對(duì)于所用到的數(shù)據(jù)必須事先進(jìn)行定義即于所用到的數(shù)據(jù)必須事先進(jìn)行定義即先定義,后使用先定義,后使用。2022-6-124表表2-1中,給出了中,給出了Turbo C的基本類型名和長(zhǎng)度以及取值范圍。的基本類型名和長(zhǎng)度以及取值范圍。需要指出的是:需要指出的是:(1)在)在T

3、urbo C中中: char與與signed char型型數(shù)據(jù)在長(zhǎng)度、取值范圍都一致,故數(shù)據(jù)在長(zhǎng)度、取值范圍都一致,故兩者是等價(jià)的。與此情況相同的還有兩者是等價(jià)的。與此情況相同的還有: short 與與 signed short型、型、 int 與與 signed int型、型、 long 與與 signed long型型。(2)在)在Turbo C中中int與與short型數(shù)據(jù)在長(zhǎng)度、取值范圍是一型數(shù)據(jù)在長(zhǎng)度、取值范圍是一致的。致的。(3)需要指出的是一般)需要指出的是一般: char型與型與signed char型或型或unsigned char型型二者之一相二者之一相同。同。 int型與

4、型與short型或型或long型型二者之一相同。二者之一相同。 具體如何,視不同編譯系統(tǒng)而定。具體如何,視不同編譯系統(tǒng)而定。(4)在)在C語(yǔ)言中,字符型數(shù)據(jù)存放的是字符的語(yǔ)言中,字符型數(shù)據(jù)存放的是字符的ASCII碼值碼值。有符字符型數(shù)據(jù)用一個(gè)字節(jié)的最高位作為符號(hào)位,低七。有符字符型數(shù)據(jù)用一個(gè)字節(jié)的最高位作為符號(hào)位,低七位表示字符的位表示字符的ASCII碼值。無(wú)符字符型用一字節(jié)的全部八碼值。無(wú)符字符型用一字節(jié)的全部八位表示字符的位表示字符的ASCII碼值。利用這個(gè)存儲(chǔ)特點(diǎn),碼值。利用這個(gè)存儲(chǔ)特點(diǎn),C語(yǔ)言允許語(yǔ)言允許字符型數(shù)據(jù)以其字符型數(shù)據(jù)以其ASCII碼值(整型數(shù))參加數(shù)值運(yùn)算碼值(整型數(shù))參加

5、數(shù)值運(yùn)算。 (5)在)在Turbo C中,中, float型型數(shù)據(jù)的存儲(chǔ)格式為:數(shù)據(jù)的存儲(chǔ)格式為: 階碼占階碼占8位,尾數(shù)占位,尾數(shù)占23位,一位符號(hào)位;位,一位符號(hào)位; double型型數(shù)據(jù)的存儲(chǔ)格式為:數(shù)據(jù)的存儲(chǔ)格式為: 階碼占階碼占11位,尾數(shù)占位,尾數(shù)占52位,一位符號(hào)位。位,一位符號(hào)位。Turbo C采用采用IEEE標(biāo)準(zhǔn)的浮點(diǎn)數(shù)據(jù)存貯格式。標(biāo)準(zhǔn)的浮點(diǎn)數(shù)據(jù)存貯格式。詳見(jiàn)(美國(guó))電子和電氣工程師協(xié)會(huì)網(wǎng)站詳見(jiàn)(美國(guó))電子和電氣工程師協(xié)會(huì)網(wǎng)站 The Institute of Electrical and Electronics Enginee

6、rs2022-6-125 從表中可以看出:從表中可以看出:C語(yǔ)言中基本數(shù)據(jù)類型很多,語(yǔ)言中基本數(shù)據(jù)類型很多,短的、長(zhǎng)的、有符的、無(wú)符的,變化豐富。初學(xué)者短的、長(zhǎng)的、有符的、無(wú)符的,變化豐富。初學(xué)者可能感到比較困難,其實(shí)從數(shù)據(jù)的存儲(chǔ)形式上來(lái)看,可能感到比較困難,其實(shí)從數(shù)據(jù)的存儲(chǔ)形式上來(lái)看,歸納起來(lái)實(shí)質(zhì)上只有歸納起來(lái)實(shí)質(zhì)上只有兩大類型的數(shù)據(jù)兩大類型的數(shù)據(jù) 整型整型數(shù)據(jù)數(shù)據(jù)和和實(shí)型實(shí)型數(shù)據(jù),即數(shù)據(jù),即定點(diǎn)整數(shù)定點(diǎn)整數(shù)和和浮點(diǎn)數(shù)浮點(diǎn)數(shù)。2022-6-1262.2 常量與變量常量與變量2.2.1 常量常量 所謂所謂“常量常量”是指在程序運(yùn)行過(guò)程中,是指在程序運(yùn)行過(guò)程中,其值不能被其值不能被改變的量。改變

7、的量。 C語(yǔ)言中常量有語(yǔ)言中常量有整型常量整型常量、實(shí)型常量實(shí)型常量、字符型常量字符型常量、字符串常量字符串常量、符號(hào)常量符號(hào)常量和枚舉常量和枚舉常量。 本節(jié)將介紹上述除本節(jié)將介紹上述除枚舉常量枚舉常量外的所有常量,枚舉常量外的所有常量,枚舉常量在第九章中介紹。在第九章中介紹。 2022-6-127 1. 整型常量整型常量 整型常量又簡(jiǎn)稱整數(shù),它又三種形式:十進(jìn)制整整型常量又簡(jiǎn)稱整數(shù),它又三種形式:十進(jìn)制整數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)。數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)。十進(jìn)制整數(shù)十進(jìn)制整數(shù) 十進(jìn)制整數(shù)由09十個(gè)數(shù)字、正號(hào)、負(fù)號(hào)組成,正負(fù)號(hào)只能出現(xiàn)在最左邊,表示一個(gè)整數(shù)時(shí),正號(hào)可以省略,多位數(shù)時(shí),最

8、左邊的數(shù)字不能為0。例如: 123 597 425 0 0是合法的整數(shù)。而0932是非法的整數(shù)表示方法。 2022-6-128八進(jìn)制整數(shù)八進(jìn)制整數(shù) 八進(jìn)制整數(shù)必須以0(零)開(kāi)頭并由07八個(gè)數(shù)字、正號(hào)、負(fù)號(hào)組成,正負(fù)號(hào)只能出現(xiàn)在最左邊。例如:0123 0404045300是合法的八進(jìn)制整數(shù),而0128是非法的。2022-6-129十六進(jìn)制整數(shù)十六進(jìn)制整數(shù) 十六進(jìn)制整數(shù)十六進(jìn)制整數(shù)必須以必須以0 x(0X)開(kāi)頭)開(kāi)頭,由由09, a,b,c,d,e,f(或(或A,B,C,D,E,F)這十六個(gè)符號(hào)和正負(fù)號(hào)組)這十六個(gè)符號(hào)和正負(fù)號(hào)組成,正負(fù)號(hào)只能出現(xiàn)在最左邊。例如:成,正負(fù)號(hào)只能出現(xiàn)在最左邊。例如:0

9、 x123 0Xfa10 x9a120 x0是合法的十六進(jìn)制數(shù)。是合法的十六進(jìn)制數(shù)。0 x12g x897a25b是非法的十六進(jìn)制數(shù)是非法的十六進(jìn)制數(shù)。2022-6-1210整型常量的后綴整型常量的后綴U和和L U和和L分別是分別是unsigned 和和long的第一個(gè)字母,可以跟在整型常量的第一個(gè)字母,可以跟在整型常量的后面,以指明該整數(shù)為長(zhǎng)整型常數(shù)(的后面,以指明該整數(shù)為長(zhǎng)整型常數(shù)(long型)、無(wú)符整型常數(shù)型)、無(wú)符整型常數(shù)(unsigned型)以及無(wú)符長(zhǎng)整型整數(shù)(型)以及無(wú)符長(zhǎng)整型整數(shù)(unsigned long型)。使用時(shí)型)。使用時(shí)U和和L可以小寫。例如:可以小寫。例如:長(zhǎng)整型數(shù):

10、長(zhǎng)整型數(shù): 32768l 0761L 0 xd1dL無(wú)符整型數(shù):無(wú)符整型數(shù): 32768u 0 x2a7U 0277U無(wú)符長(zhǎng)整型數(shù):無(wú)符長(zhǎng)整型數(shù): 555ul0 xabcLU0722ul 當(dāng)一個(gè)整型常數(shù)的值是在當(dāng)一個(gè)整型常數(shù)的值是在3276832767之間,則該整型常量之間,則該整型常量為為int型,當(dāng)它的值超過(guò)型,當(dāng)它的值超過(guò)3276832767而在而在21億億21億之間時(shí),億之間時(shí),則該整型常量為則該整型常量為long 型。通過(guò)使用型。通過(guò)使用L和和U后綴,可以使在后綴,可以使在3276832767之間的之間的int型常量成為型常量成為long型常量或使有符常量成為無(wú)符常量。型常量或使有符

11、常量成為無(wú)符常量。2022-6-12112. 實(shí)型常量實(shí)型常量 實(shí)型常量又稱浮點(diǎn)型常量,它有兩種實(shí)型常量又稱浮點(diǎn)型常量,它有兩種表示方法:十進(jìn)制小數(shù)形式和指數(shù)形式。表示方法:十進(jìn)制小數(shù)形式和指數(shù)形式。十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式 十進(jìn)制小數(shù)由十進(jìn)制小數(shù)由09十個(gè)數(shù)字、小數(shù)點(diǎn)、十個(gè)數(shù)字、小數(shù)點(diǎn)、正號(hào)、負(fù)號(hào)組成,正負(fù)號(hào)只能出現(xiàn)在最左正號(hào)、負(fù)號(hào)組成,正負(fù)號(hào)只能出現(xiàn)在最左邊。例如:邊。例如:123.5032.45 .0 0.是合法的實(shí)型常量。是合法的實(shí)型常量。2022-6-1212指數(shù)形式指數(shù)形式指數(shù)的一般形式如下:指數(shù)的一般形式如下:整數(shù)部分整數(shù)部分 .小數(shù)部分小數(shù)部分en其中其中 中內(nèi)容為可選,但

12、中內(nèi)容為可選,但“整數(shù)部分整數(shù)部分”和和“小數(shù)部分小數(shù)部分”二者至少選其一,不可全無(wú)。二者至少選其一,不可全無(wú)。en為指數(shù)部分,為指數(shù)部分,e可可大寫,大寫,n是一個(gè)是一個(gè)13位位的十進(jìn)制整數(shù)(第一位可為的十進(jìn)制整數(shù)(第一位可為0),),2e2表示表示2102,。例如:。例如: 123.5E30.45e4 1E0120e5是合法的指數(shù)形式。是合法的指數(shù)形式。-E5-1E2.05.e50.8Ek是非法的指數(shù)形式是非法的指數(shù)形式。2022-6-1213實(shí)型常量的后綴實(shí)型常量的后綴F和和L 因?yàn)閷?shí)型常量缺省的類型為雙精度實(shí)型,為因?yàn)閷?shí)型常量缺省的類型為雙精度實(shí)型,為了達(dá)到存儲(chǔ)、精度、類型轉(zhuǎn)換的需要,

13、可用后綴了達(dá)到存儲(chǔ)、精度、類型轉(zhuǎn)換的需要,可用后綴F和和L。F和和L分別是分別是float 和和long double的第一個(gè)的第一個(gè)字母,可以跟在實(shí)型常量的后面,以指明該實(shí)數(shù)字母,可以跟在實(shí)型常量的后面,以指明該實(shí)數(shù)為單精度實(shí)數(shù)(為單精度實(shí)數(shù)(float型)或長(zhǎng)雙精度實(shí)數(shù)(型)或長(zhǎng)雙精度實(shí)數(shù)(long double型)。使用時(shí)型)。使用時(shí)F和和L可以小寫。例如:可以小寫。例如:?jiǎn)尉葘?shí)數(shù):?jiǎn)尉葘?shí)數(shù): 32.768f1F1.2e3F長(zhǎng)雙精度實(shí)數(shù):長(zhǎng)雙精度實(shí)數(shù): 1.2e309l0.1L5L2022-6-12143. 字符型常量字符型常量 字符字符常量是用常量是用一對(duì)單引號(hào)一對(duì)單引號(hào)括起來(lái)的一

14、個(gè)字符,括起來(lái)的一個(gè)字符,如:如: a , A , $ ,等??兆址彩亲址?,等??兆址彩亲址?,它包含包含0個(gè)字符,它的值是個(gè)字符,它的值是0,可以表示為,可以表示為 ,也可,也可以表示為以表示為 0 ,程序中總是用,程序中總是用 0 表示空字符。表示空字符。 在在C語(yǔ)言中還有另外一種字符常量,稱為語(yǔ)言中還有另外一種字符常量,稱為轉(zhuǎn)義轉(zhuǎn)義字符字符,它是以反斜線(它是以反斜線()開(kāi)頭的字符串)開(kāi)頭的字符串,通常也把,通常也把它們稱為控制字符,因?yàn)樗鼈冎械拇蠖鄶?shù)具有控制它們稱為控制字符,因?yàn)樗鼈冎械拇蠖鄶?shù)具有控制功能,如功能,如 n 代表?yè)Q行符,在代表?yè)Q行符,在printf函數(shù)中使用它函數(shù)中

15、使用它可以實(shí)現(xiàn)換行的功能??梢詫?shí)現(xiàn)換行的功能。C語(yǔ)言中的轉(zhuǎn)義字符見(jiàn)表語(yǔ)言中的轉(zhuǎn)義字符見(jiàn)表2-2。2022-6-1215 轉(zhuǎn)義字符轉(zhuǎn)義字符 含含 義義 十進(jìn)制十進(jìn)制 八進(jìn)制八進(jìn)制 十六進(jìn)制十六進(jìn)制 0 空字符空字符 0 0 0 x00 a 響鈴響鈴 7 7 0 x07 b 退格,從當(dāng)前位置向前移動(dòng)一格退格,從當(dāng)前位置向前移動(dòng)一格 8 10 0 x08 f 換頁(yè),從當(dāng)前位置換到下一頁(yè)開(kāi)頭換頁(yè),從當(dāng)前位置換到下一頁(yè)開(kāi)頭 12 014 0 x0c n 換行,從當(dāng)前位置換到下一行開(kāi)頭換行,從當(dāng)前位置換到下一行開(kāi)頭 10 012 0 x0a r 回車,從當(dāng)前位置換到本行的開(kāi)頭回車,從當(dāng)前位置換到本行的開(kāi)頭

16、 13 015 0 x0d t 水平制表,水平換到下一水平制表,水平換到下一tab位置位置 9 011 0 x09 反斜線字符反斜線字符 92 134 0 x5c 單引號(hào)字符單引號(hào)字符 39 047 0 x27 雙引號(hào)字符雙引號(hào)字符 34 042 0 x22 ddd1到到3位八進(jìn)制數(shù)對(duì)應(yīng)的字符位八進(jìn)制數(shù)對(duì)應(yīng)的字符 0255 255 000377 377 0 x000 xff0 xff xhh1到到2十六進(jìn)制數(shù)對(duì)應(yīng)的字符十六進(jìn)制數(shù)對(duì)應(yīng)的字符 0255 255 000377 377 0 x000 xff0 xff 表表2- 2 在在C語(yǔ)言中,字符常量是一個(gè)整數(shù),其語(yǔ)言中,字符常量是一個(gè)整數(shù),其值是

17、它所對(duì)應(yīng)的值是它所對(duì)應(yīng)的ASCII碼的值碼的值(見(jiàn)附錄見(jiàn)附錄), 字符型數(shù)據(jù)可以與數(shù)值型數(shù)據(jù)通用,即字符型數(shù)據(jù)可以與數(shù)值型數(shù)據(jù)通用,即可以進(jìn)行算術(shù)運(yùn)算可以進(jìn)行算術(shù)運(yùn)算。 如:如: a 的值是的值是97, A 的值是的值是65, 的值是的值是39等。等。也可以用也可以用ddd或或xhh來(lái)表示一個(gè)字符。以下都是表示水平來(lái)表示一個(gè)字符。以下都是表示水平制表符:制表符: t 011 11 x09 x9 而而 a 也可以寫成以下形式:也可以寫成以下形式: 141 x61 例2.12022-6-1216main() printf(Hello,Cn); printf(11014515415415754103

18、12); printf(12/4=3tis a stringn); 運(yùn)行結(jié)果:運(yùn)行結(jié)果: Hello,C Hello,C 12/4=3 is a string2022-6-12174. 字符串常量字符串常量 字符串常量是由雙引號(hào)括起來(lái)的一串字符。如字符串常量是由雙引號(hào)括起來(lái)的一串字符。如: 1234 、中國(guó),北京中國(guó),北京 等。等。 值得注意的是:值得注意的是:字符是用單引號(hào)括起來(lái)的,而字符字符是用單引號(hào)括起來(lái)的,而字符串是用雙引號(hào)括起來(lái)的。串是用雙引號(hào)括起來(lái)的。a 是字符,而是字符,而a是字符串是字符串。字符串可以為空串即包含字符串可以為空串即包含0個(gè)字符的串,表示為個(gè)字符的串,表示為 。C

19、語(yǔ)言規(guī)定:在每一個(gè)字符串后,系統(tǒng)自動(dòng)加一個(gè)語(yǔ)言規(guī)定:在每一個(gè)字符串后,系統(tǒng)自動(dòng)加一個(gè) 0,作為字符串的結(jié)束標(biāo)志符,以便判字符串的長(zhǎng)度。由于作為字符串的結(jié)束標(biāo)志符,以便判字符串的長(zhǎng)度。由于這個(gè)原因,字符串的長(zhǎng)度比實(shí)際長(zhǎng)度大這個(gè)原因,字符串的長(zhǎng)度比實(shí)際長(zhǎng)度大1??沾拈L(zhǎng)度??沾拈L(zhǎng)度為為1,而不是,而不是0。2022-6-1218在使用字符串時(shí),應(yīng)當(dāng)注意以下情況:在使用字符串時(shí),應(yīng)當(dāng)注意以下情況: (1) 單引號(hào)作為字符串的組成字符時(shí),可以直接使用。單引號(hào)作為字符串的組成字符時(shí),可以直接使用。例如:例如: printf( It s my book n );執(zhí)行后輸出為:執(zhí)行后輸出為:It s my

20、 book (2)一個(gè)字符串不能分寫在兩行或多行上,如果非要寫在兩)一個(gè)字符串不能分寫在兩行或多行上,如果非要寫在兩行上,則可在前一行的字符串尾部加一個(gè)反斜線行上,則可在前一行的字符串尾部加一個(gè)反斜線 或者把不同或者把不同行上的字符串分別用雙引號(hào)括起來(lái)。行上的字符串分別用雙引號(hào)括起來(lái)。例如:例如: printf( C programming language is powerfuln );或者:或者: printf( C programming language is powerfuln );(twice.c;rev.c)2022-6-1219 5. 符號(hào)常量符號(hào)常量 符號(hào)常量是代表一個(gè)字符序

21、列的標(biāo)識(shí)符(又稱宏符號(hào)常量是代表一個(gè)字符序列的標(biāo)識(shí)符(又稱宏名)。一旦定義了一個(gè)符號(hào)常量,則它就與該字符序列名)。一旦定義了一個(gè)符號(hào)常量,則它就與該字符序列是等價(jià)的。是等價(jià)的。 在在C語(yǔ)言中,定義符號(hào)常量的方法有三種:語(yǔ)言中,定義符號(hào)常量的方法有三種: 一是使用編譯預(yù)處理的宏替換功能一是使用編譯預(yù)處理的宏替換功能 #define ; 二是使用類型限定符二是使用類型限定符 const 說(shuō)明并初始化。說(shuō)明并初始化。 三是使用枚舉類型來(lái)定義。三是使用枚舉類型來(lái)定義。 在此只介紹在此只介紹 #define 定義一個(gè)符號(hào)常量,格式如下:定義一個(gè)符號(hào)常量,格式如下: #define 標(biāo)識(shí)符標(biāo)識(shí)符 字符序列

22、字符序列2022-6-1220 #define 標(biāo)識(shí)符標(biāo)識(shí)符 字符序列字符序列 其中:字符序列可以由任意字符組成,還可以是已經(jīng)定義過(guò)的符號(hào)常量。 符號(hào)常量應(yīng)先定義后使用,可以出現(xiàn)在程序中的任何位置,習(xí)慣上盡量放在程序的前面且符號(hào)常量(宏名)用大寫字母書寫,以示與其它標(biāo)識(shí)符的區(qū)別。 需要指出的是:當(dāng)一個(gè)標(biāo)識(shí)符被定義成符號(hào)常量,則在編譯時(shí),編譯預(yù)處理首先將程序中所有該標(biāo)識(shí)符用相應(yīng)的字符序列來(lái)替換,然后再進(jìn)行后續(xù)處理。例如: #define PI 3.14159 #define SPACE 等。 例2.2 2022-6-1221 #define STR1 This is a main() #defi

23、ne STR2 joke #define M STR1 STR2 printf(M); /* 或者或者 printf(STR1 STR2); */ 運(yùn)行結(jié)果:運(yùn)行結(jié)果: This is a joke2022-6-1222 另外,需要時(shí)還可使用 #undef 來(lái)取消已經(jīng)定義了的符號(hào)常量。例如:#undef M 取消定義后,該符號(hào)常量(宏名)還可再定義并使用。2022-6-12232.2.2 變量變量 所謂所謂“變量變量”是指在程序運(yùn)行過(guò)程中,其值是指在程序運(yùn)行過(guò)程中,其值可以被可以被改變改變的量。的量。 變量用變量用變量名變量名來(lái)表示,當(dāng)程序運(yùn)行時(shí),系來(lái)表示,當(dāng)程序運(yùn)行時(shí),系統(tǒng)為每一個(gè)變量分配一

24、個(gè)內(nèi)存單元并在變量名和該內(nèi)統(tǒng)為每一個(gè)變量分配一個(gè)內(nèi)存單元并在變量名和該內(nèi)存單元地址間建立一一對(duì)應(yīng)的關(guān)系,引用該變量名時(shí),存單元地址間建立一一對(duì)應(yīng)的關(guān)系,引用該變量名時(shí),實(shí)際上就是引用該實(shí)際上就是引用該變量名所對(duì)應(yīng)地址單元的內(nèi)容變量名所對(duì)應(yīng)地址單元的內(nèi)容。如圖如圖2-2所示:所示:2022-6-1224 數(shù)據(jù)數(shù)據(jù)是有不同類型的,它們的長(zhǎng)度、表示方是有不同類型的,它們的長(zhǎng)度、表示方法也各不相同,因此變量也應(yīng)有不同的類型,用法也各不相同,因此變量也應(yīng)有不同的類型,用以存放各種類型的數(shù)據(jù)。以存放各種類型的數(shù)據(jù)。 常量的類型常量的類型是通過(guò)書寫形式確定的即是隱含是通過(guò)書寫形式確定的即是隱含說(shuō)明的。說(shuō)明的

25、。 變量的類型變量的類型則需要預(yù)先定義。則需要預(yù)先定義。 在程序執(zhí)行時(shí),系統(tǒng)為已經(jīng)定義的不同類型在程序執(zhí)行時(shí),系統(tǒng)為已經(jīng)定義的不同類型的變量分配單元,如為一個(gè)的變量分配單元,如為一個(gè)int型變量分配一個(gè)兩型變量分配一個(gè)兩字節(jié)的存儲(chǔ)單元,為一個(gè)字節(jié)的存儲(chǔ)單元,為一個(gè)float型變量分配一個(gè)四型變量分配一個(gè)四字節(jié)的存儲(chǔ)單元等,并確定了數(shù)據(jù)在其中的存儲(chǔ)字節(jié)的存儲(chǔ)單元等,并確定了數(shù)據(jù)在其中的存儲(chǔ)形式。形式。 2022-6-1225變量定義的格式如下:變量定義的格式如下:類型定義符類型定義符 變量名表;變量名表;例如:例如:int student_num ; /* number of student *

26、/ float student_score , aver ; /* score and average score */ 其中,類型定義符(見(jiàn)表其中,類型定義符(見(jiàn)表2-1)定義變量名表中所列)定義變量名表中所列變量的類型,變量名表由一個(gè)或多個(gè)變量名組成,其間變量的類型,變量名表由一個(gè)或多個(gè)變量名組成,其間用逗號(hào)用逗號(hào)“,”分隔,變量名的命名應(yīng)符合分隔,變量名的命名應(yīng)符合C語(yǔ)言標(biāo)識(shí)符語(yǔ)言標(biāo)識(shí)符的規(guī)定。的規(guī)定。2022-6-1226 定義變量時(shí),還可以在定義的同時(shí)對(duì)變量進(jìn)行初定義變量時(shí),還可以在定義的同時(shí)對(duì)變量進(jìn)行初始化(賦初值),其格式如下:始化(賦初值),其格式如下: 類型定義符類型定義符

27、變量名變量名=表達(dá)式,表達(dá)式,;例如:例如:long distance=700000 , height;double area=9.6e7 ;float s=3*distance; 其中,變量名其中,變量名=表達(dá)式中的表達(dá)式中的“=”稱為賦值號(hào),其含稱為賦值號(hào),其含義是將義是將“=”右邊表達(dá)式的值賦給其左邊的變量。右邊表達(dá)式的值賦給其左邊的變量。2022-6-1227 在定義變量時(shí),應(yīng)注意以下幾點(diǎn):在定義變量時(shí),應(yīng)注意以下幾點(diǎn): (1)在使用變量時(shí),應(yīng)注意)在使用變量時(shí),應(yīng)注意“先定義,后使用先定義,后使用”的的原則。原則。C語(yǔ)言程序中,使用的任何變量必須在使用前已語(yǔ)言程序中,使用的任何變量必

28、須在使用前已經(jīng)定義過(guò),否則,就會(huì)出現(xiàn)錯(cuò)誤。經(jīng)定義過(guò),否則,就會(huì)出現(xiàn)錯(cuò)誤。 (2)一般在)一般在一個(gè)函數(shù)中,變量名不能重復(fù)定義一個(gè)函數(shù)中,變量名不能重復(fù)定義,如,如果重復(fù)定義,則編譯會(huì)給出錯(cuò)誤信息。果重復(fù)定義,則編譯會(huì)給出錯(cuò)誤信息。 (3)除非有特定的需要,)除非有特定的需要,通常把定義變量的語(yǔ)句集通常把定義變量的語(yǔ)句集中放在函數(shù)的開(kāi)始處中放在函數(shù)的開(kāi)始處,在,在C語(yǔ)言程序中,將變量定義語(yǔ)語(yǔ)言程序中,將變量定義語(yǔ)句放在不同的位置,其含義有所不同,隨意放置可能引句放在不同的位置,其含義有所不同,隨意放置可能引起不必要的錯(cuò)誤。起不必要的錯(cuò)誤。 2022-6-1228建議: 初學(xué)者加強(qiáng)對(duì)不同類型數(shù)據(jù)之

29、表示方初學(xué)者加強(qiáng)對(duì)不同類型數(shù)據(jù)之表示方法以及存儲(chǔ)方式的理解法以及存儲(chǔ)方式的理解 。 如: int a; 語(yǔ)句定義了一個(gè)什么類型的變量,變量名是什么?該變量所對(duì)應(yīng)的內(nèi)存單元有幾個(gè)字節(jié)?是有符還是無(wú)符的?數(shù)據(jù)范圍是多少? float a; 或 double a; 或 long a; 呢?2022-6-12292.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 C語(yǔ)言的的特點(diǎn)之一就是運(yùn)算符(Operator)多,涉及的運(yùn)算范圍廣,使用時(shí)變化非常豐富。可以根據(jù)運(yùn)算符的功能進(jìn)行分類(見(jiàn)表2-3),也可以根據(jù)運(yùn)算符所需操作對(duì)象操作數(shù)(Operand)的個(gè)數(shù)分類。如:?jiǎn)文窟\(yùn)算符(一個(gè)操作數(shù))、雙目運(yùn)算符(兩個(gè)操作數(shù))、三

30、目運(yùn)算符(三個(gè)操作數(shù))等。 用運(yùn)算符將若干個(gè)操作數(shù)連接起來(lái)構(gòu)成的式子稱為用運(yùn)算符將若干個(gè)操作數(shù)連接起來(lái)構(gòu)成的式子稱為表達(dá)式表達(dá)式。 單個(gè)的常量、變量、有返回值的函數(shù)調(diào)用也是表達(dá)式(單個(gè)的常量、變量、有返回值的函數(shù)調(diào)用也是表達(dá)式(簡(jiǎn)簡(jiǎn)單表達(dá)式單表達(dá)式)。 表達(dá)式運(yùn)算的結(jié)果是一個(gè)值,稱為表達(dá)式運(yùn)算的結(jié)果是一個(gè)值,稱為表達(dá)式的值表達(dá)式的值。 表達(dá)式結(jié)果值的類型稱為表達(dá)式結(jié)果值的類型稱為表達(dá)式的類型表達(dá)式的類型。 (simple.c;term.c)2022-6-1230注意注意 : (1)運(yùn)算符對(duì))運(yùn)算符對(duì)操作數(shù)操作數(shù)有什么要求(有什么要求(類型、個(gè)數(shù)類型、個(gè)數(shù)等等)以及運(yùn)算結(jié)果的數(shù)據(jù)類型。)以及運(yùn)算

31、結(jié)果的數(shù)據(jù)類型。 (2)運(yùn)算符的)運(yùn)算符的優(yōu)先級(jí)別優(yōu)先級(jí)別和運(yùn)算符的和運(yùn)算符的結(jié)合方向結(jié)合方向,它是決定表達(dá)式的運(yùn)算規(guī)則的重要因素。運(yùn)算符的它是決定表達(dá)式的運(yùn)算規(guī)則的重要因素。運(yùn)算符的優(yōu)先級(jí)別與結(jié)合型見(jiàn)附錄優(yōu)先級(jí)別與結(jié)合型見(jiàn)附錄。2022-6-1231運(yùn)算符運(yùn)算符 名名 稱稱 表達(dá)式表達(dá)式 結(jié)果及類型結(jié)果及類型 + 加法運(yùn)算符或正值運(yùn)算符(雙目)加法運(yùn)算符或正值運(yùn)算符(雙目) 1+2.6 3.6 實(shí)型實(shí)型 減法運(yùn)算符或負(fù)值運(yùn)算符(雙目)減法運(yùn)算符或負(fù)值運(yùn)算符(雙目) 31 2 整型整型 * 乘法運(yùn)算符(雙目)乘法運(yùn)算符(雙目) 4*3 12 整型整型 / 除法運(yùn)算符(雙目)除法運(yùn)算符(雙目)

32、4/3 1 整型整型 % 模運(yùn)算符或稱求余運(yùn)算符(雙目)模運(yùn)算符或稱求余運(yùn)算符(雙目) 8%5 3 整型整型 + 正號(hào)運(yùn)算符(單目)正號(hào)運(yùn)算符(單目) +2.6 +2.6 實(shí)型實(shí)型 負(fù)號(hào)運(yùn)算符(單目)負(fù)號(hào)運(yùn)算符(單目) 3 3 整型整型 表表2-42.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符如表2-4所示:2022-6-12321. 說(shuō)明: (1)算術(shù)運(yùn)算符是雙目運(yùn)算符,要求有兩個(gè)運(yùn)算對(duì)象,其中,+ 和 運(yùn)算符還可作單目運(yùn)算符。用算術(shù)運(yùn)算符將運(yùn)算對(duì)象(操作數(shù))連接起來(lái)的式子稱為算術(shù)表達(dá)式。 (2)算術(shù)運(yùn)算符優(yōu)先級(jí)別的由高到低的順序是:?jiǎn)文窟\(yùn)算符 + 和 、 *、/、% 、

33、雙目運(yùn)算符 + 和 。同級(jí)運(yùn)算符的運(yùn)算順序是從左至右。 2022-6-1233(3)單目運(yùn)算符)單目運(yùn)算符 + 和和 的結(jié)合方向?yàn)閺挠抑磷?,其它雙目運(yùn)算符的結(jié)合方向?yàn)閺挠抑磷?,其它雙目運(yùn)算符的結(jié)合方向是從左至右。的結(jié)合方向是從左至右。例如例如(3)(4)求余運(yùn)算符)求余運(yùn)算符 % 只能用于整型量之間,且以只能用于整型量之間,且以被除數(shù)的符號(hào)被除數(shù)的符號(hào)作為作為余數(shù)的符號(hào)。余數(shù)的符號(hào)。 例如例如(4) (5)Turbo C提供了豐富的包括數(shù)學(xué)函數(shù)在內(nèi)的庫(kù)函數(shù)(見(jiàn)附錄提供了豐富的包括數(shù)學(xué)函數(shù)在內(nèi)的庫(kù)函數(shù)(見(jiàn)附錄),以供編程使用。使用數(shù)學(xué)庫(kù)函數(shù)時(shí)應(yīng)在程序中加上編譯預(yù)處),以供編程使用。使用數(shù)學(xué)庫(kù)函數(shù)

34、時(shí)應(yīng)在程序中加上編譯預(yù)處理命令理命令#include。在使用庫(kù)函數(shù)時(shí),應(yīng)遵守函數(shù)對(duì)參數(shù)的。在使用庫(kù)函數(shù)時(shí),應(yīng)遵守函數(shù)對(duì)參數(shù)的要求,如:參數(shù)個(gè)數(shù),參數(shù)類型以及參數(shù)的單位等。要求,如:參數(shù)個(gè)數(shù),參數(shù)類型以及參數(shù)的單位等。例如例如(5)另外,可以使用一對(duì)或多對(duì)(另外,可以使用一對(duì)或多對(duì)( )運(yùn)算符,()的優(yōu)先級(jí)別最高,其)運(yùn)算符,()的優(yōu)先級(jí)別最高,其中的表達(dá)式優(yōu)先運(yùn)算。中的表達(dá)式優(yōu)先運(yùn)算。思考:思考:5*2+8/2+2 與與 5*2+8/(2+2)的值各為多少?)的值各為多少? go2022-6-1234例如例如(3) 表達(dá)式表達(dá)式5*2+8/2的值為的值為6,先算,先算5(右結(jié)合,負(fù)號(hào)運(yùn)(右結(jié)合

35、,負(fù)號(hào)運(yùn)算),再乘以算),再乘以2,然后處理,然后處理8除以除以2,最后完成加法。,最后完成加法。例如例如(4) 表達(dá)式表達(dá)式5 % 2的值為的值為1,而表達(dá)式,而表達(dá)式5 % 2的值為的值為1。例如例如(5) #include 運(yùn)行后結(jié)果為:運(yùn)行后結(jié)果為: main() 3.000000 float r=9.0; printf(“%fn”,sqrt(r); 2022-6-12352. 算術(shù)表達(dá)式的類型轉(zhuǎn)換規(guī)則如下:算術(shù)表達(dá)式的類型轉(zhuǎn)換規(guī)則如下: (1) 算術(shù)表達(dá)式中,當(dāng)操作數(shù)的類型相同時(shí),其結(jié)算術(shù)表達(dá)式中,當(dāng)操作數(shù)的類型相同時(shí),其結(jié)果類型不變。果類型不變。 例如例如(1) (2)在)在C語(yǔ)言

36、中,字符型操作數(shù)可以以其語(yǔ)言中,字符型操作數(shù)可以以其ASCII碼碼值參加算術(shù)運(yùn)算。值參加算術(shù)運(yùn)算。 例如例如(2) (3)在)在C語(yǔ)言中,不同類型的操作數(shù)是可以進(jìn)行混語(yǔ)言中,不同類型的操作數(shù)是可以進(jìn)行混合運(yùn)算的,其結(jié)果類型將按照規(guī)則發(fā)生變化。具體規(guī)合運(yùn)算的,其結(jié)果類型將按照規(guī)則發(fā)生變化。具體規(guī)則參見(jiàn)則參見(jiàn)2.3.7節(jié)。節(jié)。 go2022-6-1236例如例如(1) 5/2的結(jié)果不是的結(jié)果不是2.5而是而是2,就是因?yàn)檫@個(gè)原因。就是因?yàn)檫@個(gè)原因。例如例如(2) a +3的結(jié)果是整型數(shù)的結(jié)果是整型數(shù)100,因?yàn)?,因?yàn)?a 的的ASCII碼值為碼值為97。2022-6-12372.3.2 賦值運(yùn)算符

37、和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符賦值運(yùn)算符以及以及復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符如表如表2-5所示:所示:運(yùn)算符運(yùn)算符 名名 稱稱 表達(dá)式表達(dá)式 等等 價(jià)價(jià) 于于 = 賦值運(yùn)算符(雙目)賦值運(yùn)算符(雙目) a=6+2 += 加賦值運(yùn)算符(雙目)加賦值運(yùn)算符(雙目) a+=3 a=a+3 = 減賦值運(yùn)算符(雙目)減賦值運(yùn)算符(雙目) a=4 a=a4 *= 乘賦值運(yùn)算符(雙目)乘賦值運(yùn)算符(雙目) a*=9 a=a*9 /= 除賦值運(yùn)算符(雙目)除賦值運(yùn)算符(雙目) a/=5 a=a/5 %= 運(yùn)算符(雙目)運(yùn)算符(雙目) a%=6 a=a%6 表表2-52022-6-12381. 說(shuō)

38、明:說(shuō)明: (1)賦值運(yùn)算符)賦值運(yùn)算符“=”的作用是將其右邊表達(dá)式的值賦給其左邊的作用是將其右邊表達(dá)式的值賦給其左邊的一個(gè)變量,用賦值運(yùn)算符將變量和表達(dá)式連接起來(lái)組成賦值表達(dá)的一個(gè)變量,用賦值運(yùn)算符將變量和表達(dá)式連接起來(lái)組成賦值表達(dá)式。式。例如例如(1) (2)一個(gè)變量可以被多次賦值,)一個(gè)變量可以被多次賦值,變量?jī)H保存最后一次賦給的值變量?jī)H保存最后一次賦給的值。賦值運(yùn)算符賦值運(yùn)算符“=”的右邊可以是表達(dá)式,而左邊只能是變量。的右邊可以是表達(dá)式,而左邊只能是變量。 (3)賦值運(yùn)算符不同于數(shù)學(xué)上的)賦值運(yùn)算符不同于數(shù)學(xué)上的“等號(hào)等號(hào)”,a=b和和b=a再數(shù)學(xué)上再數(shù)學(xué)上是等價(jià)的,但在是等價(jià)的,但

39、在C語(yǔ)言中,前者表示將變量語(yǔ)言中,前者表示將變量b的值賦給變量的值賦給變量a,而后,而后者正好相反。者正好相反。 (4)賦值表達(dá)式的值是賦給變量的值。)賦值表達(dá)式的值是賦給變量的值。 (5)賦值運(yùn)算符是雙目運(yùn)算符,賦值運(yùn)算符的優(yōu)先級(jí)別相同,其)賦值運(yùn)算符是雙目運(yùn)算符,賦值運(yùn)算符的優(yōu)先級(jí)別相同,其結(jié)合方向?yàn)閺挠抑磷蠼Y(jié)合方向?yàn)閺挠抑磷?。算術(shù)運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符。算術(shù)運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符。 例如例如(5) go2022-6-1239例如例如(1) a=5 是一個(gè)賦值表達(dá)式,它表示將是一個(gè)賦值表達(dá)式,它表示將5賦給變量賦給變量a。例如例如(5) a=3+2 先算先算+,因?yàn)?,因?yàn)?的優(yōu)

40、先級(jí)高。然后將的優(yōu)先級(jí)高。然后將5賦給賦給a。運(yùn)算。運(yùn)算完成后,變量完成后,變量a的值為的值為5,表達(dá)式的值為,表達(dá)式的值為5。 a=b=7 先算先算b=7,因?yàn)?,因?yàn)?的結(jié)合方向?yàn)橛医Y(jié)合。賦值表達(dá)的結(jié)合方向?yàn)橛医Y(jié)合。賦值表達(dá)式式b=7的值為的值為7,再將,再將7賦給賦給a。運(yùn)算完成后,變量。運(yùn)算完成后,變量a和和b的的值為值為7,整個(gè)表達(dá)式的值為,整個(gè)表達(dá)式的值為7。 a=(b=5)/(c=2) 先算先算b=5,再算再算c=2,然后進(jìn)行除法運(yùn)算結(jié),然后進(jìn)行除法運(yùn)算結(jié)果為果為2,最終將,最終將2賦給賦給a。運(yùn)算完成后,。運(yùn)算完成后,b的值為的值為5,c的值為的值為2,a的值為的值為2,整個(gè)表達(dá)

41、式的值為,整個(gè)表達(dá)式的值為2。2022-6-1240思考:思考:若變量若變量a已經(jīng)有值且為已經(jīng)有值且為9,那么表達(dá)式,那么表達(dá)式b=(a=4)/(b=a)的值是的值是1還是還是0?回答是?回答是1,為什么?,為什么? 2. 賦值表達(dá)式的類型轉(zhuǎn)換規(guī)則如下:賦值表達(dá)式的類型轉(zhuǎn)換規(guī)則如下: (1)將)將整型數(shù)據(jù)賦給實(shí)型變量整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)據(jù)以浮點(diǎn)數(shù)形式時(shí),數(shù)據(jù)以浮點(diǎn)數(shù)形式存 儲(chǔ) 到 實(shí) 型 變 量 中 去 , 但 值 的 大 小 不 變 。存 儲(chǔ) 到 實(shí) 型 變 量 中 去 , 但 值 的 大 小 不 變 。例如:若已經(jīng)定義例如:若已經(jīng)定義float a,如果,如果a=19,則將則將19轉(zhuǎn)

42、換成轉(zhuǎn)換成19.00000(單精度實(shí)型有單精度實(shí)型有7位有效數(shù)字)位有效數(shù)字),然后賦給變量然后賦給變量a。 若已經(jīng)定義若已經(jīng)定義double b,如果,如果b=19,則賦給,則賦給b的值是的值是19.00000000000000(雙精度實(shí)型有雙精度實(shí)型有16位有效數(shù)字位有效數(shù)字)。)。2022-6-1241 (2)將)將實(shí)型數(shù)據(jù)賦給整型變量實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍去小數(shù)時(shí),舍去小數(shù)部分后,再賦給整型變量。這里要注意變量的類部分后,再賦給整型變量。這里要注意變量的類型(型(short、int、long)以及相應(yīng)的數(shù)值范圍,避)以及相應(yīng)的數(shù)值范圍,避免賦值后數(shù)據(jù)的溢出。例如:若已經(jīng)定義免賦值后

43、數(shù)據(jù)的溢出。例如:若已經(jīng)定義 float f=65538.0和和int i,如果,如果i=f,那么就會(huì)出現(xiàn),那么就會(huì)出現(xiàn)數(shù)據(jù)溢出的錯(cuò)誤。數(shù)據(jù)溢出的錯(cuò)誤。 (3)將)將float型數(shù)據(jù)賦給型數(shù)據(jù)賦給double型變量型變量時(shí),數(shù)時(shí),數(shù)值不變,有效位數(shù)擴(kuò)展至值不變,有效位數(shù)擴(kuò)展至16位(小數(shù)點(diǎn)后補(bǔ)位(小數(shù)點(diǎn)后補(bǔ)0)。)。反之,將反之,將double型數(shù)據(jù)賦給型數(shù)據(jù)賦給float型變量型變量時(shí),則截時(shí),則截取取double型數(shù)據(jù)的前型數(shù)據(jù)的前7位有效數(shù)字,再賦給位有效數(shù)字,再賦給float型型變量。這里,同樣要注意數(shù)據(jù)溢出問(wèn)題。變量。這里,同樣要注意數(shù)據(jù)溢出問(wèn)題。2022-6-1242(4)將)將整

44、型數(shù)據(jù)賦給整型變量整型數(shù)據(jù)賦給整型變量時(shí),要格外關(guān)注時(shí),要格外關(guān)注兩者間兩者間長(zhǎng)度長(zhǎng)度(char、short、int、long)和)和符號(hào)類符號(hào)類型型(singned、unsigned)上的差異,正是由于這)上的差異,正是由于這些差異使得賦值完成后,變量里的值有所變化。些差異使得賦值完成后,變量里的值有所變化。具體如下:具體如下: 將將“長(zhǎng)的長(zhǎng)的”(字節(jié)數(shù)多的)整型數(shù)據(jù)賦給(字節(jié)數(shù)多的)整型數(shù)據(jù)賦給“短短的的”(字節(jié)數(shù)少的)整型變量時(shí),采取截?cái)嗟姆剑ㄗ止?jié)數(shù)少的)整型變量時(shí),采取截?cái)嗟姆椒窗凑辗窗凑铡岸痰亩痰摹弊止?jié)數(shù)字節(jié)數(shù)截取截取“長(zhǎng)的長(zhǎng)的”數(shù)據(jù)相應(yīng)數(shù)據(jù)相應(yīng)的的低字節(jié)低字節(jié)并按位賦給短的整型

45、變量,截?cái)鄷r(shí)不考并按位賦給短的整型變量,截?cái)鄷r(shí)不考慮符號(hào)類型(慮符號(hào)類型(見(jiàn)圖見(jiàn)圖2-3)。)。 to 2022-6-1243 例如:例如: int i=345; char c=a; c=i; printf(%dn,c); 運(yùn)行后,輸出:運(yùn)行后,輸出: 892022-6-1244將將“短的短的”(字節(jié)數(shù)少的)整型數(shù)據(jù)賦給(字節(jié)數(shù)少的)整型數(shù)據(jù)賦給“長(zhǎng)長(zhǎng)的的”(字節(jié)數(shù)多的)整型變量時(shí),存在著(字節(jié)數(shù)多的)整型變量時(shí),存在著“符號(hào)符號(hào)擴(kuò)展擴(kuò)展”的問(wèn)題,具體分兩種情況即算術(shù)擴(kuò)展和邏的問(wèn)題,具體分兩種情況即算術(shù)擴(kuò)展和邏輯擴(kuò)展。輯擴(kuò)展。有符有符“短的短的”整型數(shù)據(jù)(整型數(shù)據(jù)(signed)賦給)賦給“長(zhǎng)

46、的長(zhǎng)的”整型變整型變量量 在在Turbo C中,采用中,采用算術(shù)擴(kuò)展方式,算術(shù)擴(kuò)展方式,在將有符數(shù)據(jù)在將有符數(shù)據(jù)按位賦給按位賦給“長(zhǎng)的長(zhǎng)的”整型變量的低字節(jié)的同時(shí),將其符整型變量的低字節(jié)的同時(shí),將其符號(hào)位的值填充高字節(jié)所有的二進(jìn)制位(其目的是保持號(hào)位的值填充高字節(jié)所有的二進(jìn)制位(其目的是保持?jǐn)?shù)據(jù)值不變)。數(shù)據(jù)值不變)。 (見(jiàn)(見(jiàn)圖圖2-4、圖圖2-5) 2022-6-1245例如: 運(yùn)行后,輸出:97char c=a; 注意:在Turbo C中,char int i=123; 型與signed char型等i=c; 價(jià)printf(%dn,i); ( Turbo C 采用算術(shù)擴(kuò)展)采用算術(shù)擴(kuò)展)2022-6-1246又如:又如: 運(yùn)行后,輸出:運(yùn)行后,輸出:234int i= 234; 注意:在注意:在Turbo C中,中, int 型與型與long lt; signed int 型等價(jià)。型等價(jià)。 lt=i (Turbo C 采用算術(shù)擴(kuò)展)采用算術(shù)擴(kuò)展)printf(%ldn,lt); 2022-6-1247思考:思考:char c=66;int i;i=c;試寫出試寫出i的值,并畫出示意圖。的值,并畫出示意圖。 無(wú)符無(wú)符“短的短的”整型數(shù)據(jù)整型數(shù)據(jù)(unsigned)賦給賦給“長(zhǎng)的長(zhǎng)的”整型整型變量變量 在在Turbo

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論