第二章C語(yǔ)言基本數(shù)據(jù)類(lèi)型與表達(dá)式34_第1頁(yè)
第二章C語(yǔ)言基本數(shù)據(jù)類(lèi)型與表達(dá)式34_第2頁(yè)
第二章C語(yǔ)言基本數(shù)據(jù)類(lèi)型與表達(dá)式34_第3頁(yè)
第二章C語(yǔ)言基本數(shù)據(jù)類(lèi)型與表達(dá)式34_第4頁(yè)
第二章C語(yǔ)言基本數(shù)據(jù)類(lèi)型與表達(dá)式34_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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、c語(yǔ)言與程序設(shè)計(jì)虛擬地理環(huán)境教育部重點(diǎn)實(shí)驗(yàn)室(南京師范大學(xué))虛擬地理環(huán)境教育部重點(diǎn)實(shí)驗(yàn)室(南京師范大學(xué))20102010年年2 2月月-6-6月月主講教師主講教師: 張雪英張雪英 tel tel+86-25-85891561(o+86-25-85891561(o)第第1章章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式2.1 c2.1 c語(yǔ)言的語(yǔ)法基礎(chǔ)語(yǔ)言的語(yǔ)法基礎(chǔ)2.2 c2.2 c語(yǔ)言的基本數(shù)據(jù)類(lèi)型語(yǔ)言的基本數(shù)據(jù)類(lèi)型2.3 2.3 常量和變量常量和變量2.4 2.4 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.5 2.5 數(shù)據(jù)類(lèi)型轉(zhuǎn)換數(shù)據(jù)類(lèi)型轉(zhuǎn)換

2、數(shù)據(jù):對(duì)數(shù)據(jù)的描述,即數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù):對(duì)數(shù)據(jù)的描述,即數(shù)據(jù)結(jié)構(gòu)。 在在c c語(yǔ)言中,系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類(lèi)語(yǔ)言中,系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類(lèi)型的形式出現(xiàn)的。型的形式出現(xiàn)的。執(zhí)行操作:執(zhí)行操作:對(duì)數(shù)據(jù)處理的描述,即計(jì)算機(jī)算法。對(duì)數(shù)據(jù)處理的描述,即計(jì)算機(jī)算法。 算法是為解決一個(gè)問(wèn)題而采取的方法和步驟,是算法是為解決一個(gè)問(wèn)題而采取的方法和步驟,是程序的靈魂。程序的靈魂。 著名計(jì)算機(jī)科學(xué)家沃思(著名計(jì)算機(jī)科學(xué)家沃思(nikiklausnikiklaus wirth wirth)提出)提出一個(gè)公式:一個(gè)公式: 程序設(shè)計(jì)方法程序設(shè)計(jì)方法+ +語(yǔ)言工具和環(huán)境語(yǔ)言工具和環(huán)境+ +數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)

3、+ + 算法算法 = = 程序程序 程序的組成程序的組成1.1. 算法是靈魂,數(shù)據(jù)結(jié)構(gòu)是加工對(duì)象,語(yǔ)言是工具,算法是靈魂,數(shù)據(jù)結(jié)構(gòu)是加工對(duì)象,語(yǔ)言是工具,編程需要采用合適的方法。編程需要采用合適的方法。2.2.算法是解決算法是解決“做什么做什么”和和“怎么做怎么做”的問(wèn)題。程的問(wèn)題。程序中的操作語(yǔ)句,實(shí)際上就是算法的體現(xiàn)。序中的操作語(yǔ)句,實(shí)際上就是算法的體現(xiàn)。3.3.算法處理的對(duì)象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的算法處理的對(duì)象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式存在的形式存在的( (例如整數(shù)、實(shí)數(shù)、字符等形式例如整數(shù)、實(shí)數(shù)、字符等形式) )。4.4.不同的數(shù)據(jù)之間往往還存在某些聯(lián)系不同的數(shù)據(jù)之間往往還

4、存在某些聯(lián)系( (例如由若干例如由若干個(gè)整數(shù)組成一個(gè)整數(shù)數(shù)組個(gè)整數(shù)組成一個(gè)整數(shù)數(shù)組) )。 數(shù)據(jù)結(jié)構(gòu)指的是數(shù)據(jù)的組織形式。數(shù)據(jù)結(jié)構(gòu)指的是數(shù)據(jù)的組織形式。 程序的組成程序的組成2.1 2.1 語(yǔ)言的語(yǔ)法基礎(chǔ)語(yǔ)言的語(yǔ)法基礎(chǔ) (4) (4)特殊符號(hào):通常由特殊符號(hào):通常由1 12 2個(gè)符號(hào)組成,主要用個(gè)符號(hào)組成,主要用 來(lái)表示運(yùn)算符。來(lái)表示運(yùn)算符。2.1.12.1.1、c c語(yǔ)言字符集語(yǔ)言字符集 (參見(jiàn)教材(參見(jiàn)教材p19p19)c c語(yǔ)言的基本符號(hào)可分語(yǔ)言的基本符號(hào)可分4 4個(gè)類(lèi),歸納如下:個(gè)類(lèi),歸納如下:(1)(1)英文字母:大小寫(xiě)各英文字母:大小寫(xiě)各2626個(gè),共計(jì)個(gè),共計(jì)5252個(gè);個(gè);(2

5、)(2)阿拉伯?dāng)?shù):阿拉伯?dāng)?shù):0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9 共共1010個(gè)數(shù)字;個(gè)數(shù)字;(3)(3)下劃線:下劃線:_ _;第二章第二章 2.1 c2.1 c語(yǔ)言數(shù)據(jù)類(lèi)型語(yǔ)言數(shù)據(jù)類(lèi)型 例如:例如:算術(shù)運(yùn)算符:算術(shù)運(yùn)算符:+ - + - * * / % + - / % + -關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = 條件運(yùn)算符條件運(yùn)算符: ?: 和賦值運(yùn)算符:和賦值運(yùn)算符:= 其他分隔符其他分隔符: ( ) . , ;第二章第二章 2.2 c2.2 c語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介2.1.2 2.1.2 標(biāo)識(shí)符標(biāo)識(shí)符( (* *) )概念:就是用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、概

6、念:就是用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、類(lèi)型名、文件名等的有效字符序列。函數(shù)名、類(lèi)型名、文件名等的有效字符序列。(1)(1)標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線組成,且第一個(gè)字符必須為字母或下劃線。 定義規(guī)則:定義規(guī)則:第二章第二章 2.2 c2.2 c語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介如:如:_1 year month student_name sum0 _1 year month student_name sum0 m.d.jones $123 #a 3b ?c a=b m.d.jones $123 #a 3b ?c a=b(2

7、)(2)在在c c語(yǔ)言中,大小寫(xiě)字母不等效。因此,語(yǔ)言中,大小寫(xiě)字母不等效。因此,a a和和a a,i i和和i i,sumsum和和sumsum,分別是兩個(gè)不同的標(biāo)識(shí)符。,分別是兩個(gè)不同的標(biāo)識(shí)符。(3)(3)用戶自定義的標(biāo)識(shí)符不能與保留字用戶自定義的標(biāo)識(shí)符不能與保留字( (關(guān)鍵字關(guān)鍵字) )同名。同名。保留保留字字第二章第二章 2.2 c2.2 c語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介2.1.3 2.1.3 關(guān)鍵字關(guān)鍵字概念:就是概念:就是具有特定含義具有特定含義的標(biāo)識(shí)符,用戶不的標(biāo)識(shí)符,用戶不能用來(lái)作自定義標(biāo)識(shí)符。能用來(lái)作自定義標(biāo)識(shí)符。c c語(yǔ)言中的關(guān)鍵字較少,由語(yǔ)言中的關(guān)鍵字較少,由ansiansi標(biāo)準(zhǔn)推薦的

8、關(guān)鍵標(biāo)準(zhǔn)推薦的關(guān)鍵字有字有3232個(gè)。個(gè)。常用的有:常用的有:(1)(1)與數(shù)據(jù)類(lèi)型有關(guān)的(與數(shù)據(jù)類(lèi)型有關(guān)的(1414):):char int float double signed unsigned char int float double signed unsigned short long void struct union typedef short long void struct union typedef enum sizeofenum sizeof第二章第二章 2.2 c2.2 c語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介(3)(3) 與程序控制結(jié)構(gòu)有關(guān)的(與程序控制結(jié)構(gòu)有關(guān)的(1212):): do

9、 while for if else switch case do while for if else switch case default goto continuedefault goto continue break returnbreak return(2)(2)與存儲(chǔ)類(lèi)別有關(guān)的:與存儲(chǔ)類(lèi)別有關(guān)的: auto extern register staticauto extern register static第二章第二章 2.2 c2.2 c語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介 2.2 2.2 基本基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 第二章第二章 2.2 2.2 基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型5 5整型數(shù)據(jù)整型數(shù)據(jù)值為值為5

10、 5算術(shù)運(yùn)算算術(shù)運(yùn)算0.50.5實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)值為值為0.50.5算術(shù)運(yùn)算算術(shù)運(yùn)算原始數(shù)據(jù)原始數(shù)據(jù)相同的特性相同的特性同一數(shù)據(jù)類(lèi)型同一數(shù)據(jù)類(lèi)型數(shù)據(jù)分類(lèi)、數(shù)據(jù)分類(lèi)、處理處理12基本數(shù)據(jù)類(lèi)型數(shù)據(jù)屬于不同類(lèi)別數(shù)據(jù)屬于不同類(lèi)別africathe quick brown foxtrue數(shù)據(jù)數(shù)據(jù) 非數(shù)值非數(shù)值數(shù)值數(shù)值整型整型非整型非整型9002.129999/12/20032.175123jackie chanchar數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型非數(shù)值非數(shù)值數(shù)值數(shù)值整型整型intshort intlong intdoublefloat非整型非整型c數(shù)據(jù)類(lèi)型基本類(lèi)型(簡(jiǎn)單類(lèi)型)數(shù)值類(lèi)型整型短整型(short)整型(i

11、nt)長(zhǎng)整型(long)實(shí)型浮點(diǎn)型單精度型(float)雙精度型(double)字符類(lèi)型(char)枚舉類(lèi)型(enum)構(gòu)造類(lèi)型(組合類(lèi)型)數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型(struct)共用體類(lèi)型(union)文件類(lèi)型(file)指針類(lèi)型空類(lèi)型(void)2.2.1 數(shù)據(jù)類(lèi)型概述數(shù)據(jù)類(lèi)型概述三種三種表現(xiàn)表現(xiàn)形式形式十進(jìn)制形式十進(jìn)制形式: :與數(shù)學(xué)上的整數(shù)表示相同與數(shù)學(xué)上的整數(shù)表示相同。 例如例如: 12, -100, 0: 12, -100, 0八進(jìn)制形式八進(jìn)制形式: :在數(shù)碼前加數(shù)字在數(shù)碼前加數(shù)字0 0 。例如例如: : 0 012=112=1* *81+281+2* *80=10(80=10(十進(jìn)制)

12、十進(jìn)制)十六進(jìn)制形式十六進(jìn)制形式: :在數(shù)碼前加在數(shù)碼前加0x0x(數(shù)字(數(shù)字0 0和字和字母母x x,大小寫(xiě)均可)。,大小寫(xiě)均可)。 例如例如: : 0 x0 x12=112=1* *161+2161+2* *160=18(160=18(十進(jìn)制)十進(jìn)制)第二章第二章 2.2 2.2 常量和變量常量和變量2.2.2 整型 數(shù)據(jù)類(lèi)型(關(guān)鍵字)字節(jié)個(gè)數(shù)取值范圍short2-32768+32767unsignedshort20+65535int2-32768+32767unsigned20+65535long4-21474836482147483647unsignedlong404294967295

13、 十六進(jìn)制的數(shù)碼除了數(shù)字十六進(jìn)制的數(shù)碼除了數(shù)字0-90-9外外, , 還使用英文字母還使用英文字母a-f (a-f (或或a-f)a-f)表示表示10-1510-15。 如:如:0 x1e0 x1e、0xabcdef0xabcdef、0 x10000 x1000 但:但:0x2defg0x2defg、0 x100l0 x100l都是錯(cuò)誤的。都是錯(cuò)誤的。注意事項(xiàng):注意事項(xiàng): 八進(jìn)制的數(shù)碼范圍為八進(jìn)制的數(shù)碼范圍為0-70-7; 則:則:01018 8、0 09 91 1、0 0a a2 2 都是錯(cuò)誤的數(shù)據(jù)表示方法。都是錯(cuò)誤的數(shù)據(jù)表示方法。第二章第二章 2.2 2.2 常量和變量常量和變量2.2.3

14、 實(shí)型實(shí)型 數(shù)據(jù)類(lèi)型(關(guān)鍵字)字節(jié)個(gè)數(shù)取值范圍精度(位)float4約-3.410-38+3.410387double8約-1.710-308+1.71030815二種表現(xiàn)形式:二種表現(xiàn)形式:十進(jìn)制形式十進(jìn)制形式: :由數(shù)字和小數(shù)點(diǎn)組成;由數(shù)字和小數(shù)點(diǎn)組成;指數(shù)形式:由指數(shù)形式:由“十進(jìn)制小數(shù)十進(jìn)制小數(shù)” + + “ e( e(或或e)e)” + + “十進(jìn)制數(shù)整數(shù)十進(jìn)制數(shù)整數(shù)” 三部分組成。三部分組成。 第二章第二章 2.2 2.2 常量和變量常量和變量例如例如: 12.5e-6 : 12.5e-6 表示表示12.512.51010-6-6十進(jìn)制小數(shù)十進(jìn)制小數(shù)e(e(或或e)e)十進(jìn)制數(shù)整數(shù)

15、十進(jìn)制數(shù)整數(shù)注意事項(xiàng):注意事項(xiàng): 小數(shù)點(diǎn)不能單獨(dú)出現(xiàn);小數(shù)點(diǎn)不能單獨(dú)出現(xiàn); e e或或e e的兩邊必須有數(shù),且其后面必須為整數(shù);的兩邊必須有數(shù),且其后面必須為整數(shù); 如:如:0. = .0 = 0 = 0.0 . 0. = .0 = 0 = 0.0 . 如:如: 6e0.2 6e0.2 e5 e5 6e 6e 第二章第二章 2.2 2.2 常量和變量常量和變量二種表現(xiàn)形式:二種表現(xiàn)形式:用單引號(hào)括起來(lái)的一個(gè)字符;用單引號(hào)括起來(lái)的一個(gè)字符;用單引號(hào)括起來(lái)的由反斜杠用單引號(hào)括起來(lái)的由反斜杠()()引導(dǎo)的轉(zhuǎn)引導(dǎo)的轉(zhuǎn)義字符。義字符。如:如:aa、 11、? ? 等。等。如:如: n n 101 101

16、 x41 x41在統(tǒng)計(jì)字符個(gè)數(shù)在統(tǒng)計(jì)字符個(gè)數(shù)時(shí),只能記為一時(shí),只能記為一個(gè)字符個(gè)字符第二章第二章 2.2 2.2 常量和變量常量和變量只能是英文只能是英文的單引號(hào)的單引號(hào)2.2.3 字符型字符型轉(zhuǎn)義字符表轉(zhuǎn)義字符表字符形式字符形式功能功能 n n換行換行t t 、vv橫向跳格、橫向跳格、b b 、rr豎向跳格豎向跳格退格、退格、ff回車(chē)回車(chē)、8 8進(jìn)制數(shù)表示的進(jìn)制數(shù)表示的asciiascii碼對(duì)應(yīng)的字符碼對(duì)應(yīng)的字符反斜杠、單引號(hào)、雙引號(hào)反斜杠、單引號(hào)、雙引號(hào)第二章第二章 2.2 2.2 常量和變量常量和變量dddddd換頁(yè)換頁(yè) xhh xhh1616進(jìn)制數(shù)表示的進(jìn)制數(shù)表示的asciiascii

17、碼對(duì)應(yīng)的字符碼對(duì)應(yīng)的字符第二章第二章 2.2 2.2 常量和變量常量和變量一個(gè)字符的多種表示方法:一個(gè)字符的多種表示方法:65d65d(十進(jìn)制)(十進(jìn)制)=41h=41h(十六進(jìn)制)(十六進(jìn)制)=101q=101q(八進(jìn)制)(八進(jìn)制)字符字符a a可以表示為可以表示為aa、x41x41、101101、6565、0 x410 x41、01010101。要避免的錯(cuò)誤:要避免的錯(cuò)誤:表示單引號(hào):表示單引號(hào): 表示雙引號(hào):表示雙引號(hào):表示斜線:表示斜線: 例例2-1:main( )main( )printf(printf(”abc abc tde tde rf rf tg tg n); n);prin

18、tf(h printf(h ti ti b b bjk); bjk); / /* * 注注 代表空格代表空格* */ /設(shè)一個(gè)輸出區(qū)占設(shè)一個(gè)輸出區(qū)占8 8列,試分析輸出結(jié)果。列,試分析輸出結(jié)果。第二章第二章 2.2 2.2 常量和變量常量和變量abcdefabcgdehjihjk1234567812345678第二章第二章 2.2 2.2 常量和變量常量和變量字符的值域:字符的值域:即字符的取值范圍。即字符的取值范圍。0-1270-127或或0-2550-255asciiascii字符表中的所有字符,字符表中的所有字符,每個(gè)字符型數(shù)據(jù)在內(nèi)存中占一個(gè)字節(jié),每個(gè)字符型數(shù)據(jù)在內(nèi)存中占一個(gè)字節(jié),包括可

19、顯示字符和非顯示字符。包括可顯示字符和非顯示字符。2.3 2.3 常量與變量常量與變量2.3.1 常量與符號(hào)常量常量與符號(hào)常量概念:在程序運(yùn)行中概念:在程序運(yùn)行中, ,其數(shù)值不能被改變的其數(shù)值不能被改變的量。量。分類(lèi):分類(lèi):直接常量和符號(hào)常量直接常量和符號(hào)常量1.1.直接常量:是在程序中直接常量:是在程序中直接引用直接引用的數(shù)據(jù)。的數(shù)據(jù)。分為:整型、實(shí)型、字符型、字符串分為:整型、實(shí)型、字符型、字符串以數(shù)據(jù)的以數(shù)據(jù)的原形出現(xiàn)原形出現(xiàn)!第二章第二章 2.2 2.2 常量和變量常量和變量26程序程序內(nèi)存內(nèi)存編寫(xiě)程序時(shí),常常需要將數(shù)據(jù)存儲(chǔ)在編寫(xiě)程序時(shí),常常需要將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,方便后面使用這個(gè)數(shù)據(jù)

20、或者內(nèi)存中,方便后面使用這個(gè)數(shù)據(jù)或者修改這個(gè)數(shù)據(jù)的值。修改這個(gè)數(shù)據(jù)的值。通常使用變量來(lái)存儲(chǔ)數(shù)據(jù)。使用變量通常使用變量來(lái)存儲(chǔ)數(shù)據(jù)。使用變量可以引用存儲(chǔ)在內(nèi)存中的數(shù)據(jù),并隨可以引用存儲(chǔ)在內(nèi)存中的數(shù)據(jù),并隨時(shí)根據(jù)需要顯示數(shù)據(jù)或執(zhí)行數(shù)據(jù)操縱。時(shí)根據(jù)需要顯示數(shù)據(jù)或執(zhí)行數(shù)據(jù)操縱。存儲(chǔ)存儲(chǔ) rateraterate rate * * 5% 5%將值存儲(chǔ)為將值存儲(chǔ)為discamtdiscamtrate-discamtrate-discamt10100.50.5將值存儲(chǔ)為將值存儲(chǔ)為resultresult9.59.5變量與常量變量與常量在在 c c 語(yǔ)言中,變量命名需要遵循一定的規(guī)則語(yǔ)言中,變量命名需要遵循一定

21、的規(guī)則有效名稱(chēng)有效名稱(chēng)principalprincipalcost_pricecost_pricemarks_3marks_3lastnamelastnamecitycity無(wú)效名稱(chēng)無(wú)效名稱(chēng)123rate123ratecurrency$currency$discount%discount%zip codezip code 變量的命名規(guī)則: 變量名可以由字母、數(shù)字和_(下劃線)組合而成 變量名不能包含除_以外的任何特殊字符,如:%、#、逗號(hào)、空格等 變量名必須以字母或_(下劃線)開(kāi)頭 變量名不能包含空白字符(換行符、空格和制表符稱(chēng)為空白字符) c語(yǔ)言中的某些詞(例如int和float等)稱(chēng)為保留

22、字,具有特殊意義,不能用作變量名 c語(yǔ)言區(qū)分大小寫(xiě),因此變量price與變量price是兩個(gè)不同的變量2字符串字符串常量常量 字符串常量在機(jī)器內(nèi)存儲(chǔ)時(shí),系統(tǒng)會(huì)字符串常量在機(jī)器內(nèi)存儲(chǔ)時(shí),系統(tǒng)會(huì)自動(dòng)在字符串的未尾加一個(gè)自動(dòng)在字符串的未尾加一個(gè)“字符串結(jié)字符串結(jié)束標(biāo)志束標(biāo)志”,它是轉(zhuǎn)義字符,它是轉(zhuǎn)義字符0。該結(jié)束。該結(jié)束標(biāo)志在內(nèi)存中占用一個(gè)字節(jié),但不記入標(biāo)志在內(nèi)存中占用一個(gè)字節(jié),但不記入字符串長(zhǎng)度字符串長(zhǎng)度 。在在c語(yǔ)言中,用一對(duì)雙引號(hào)括起來(lái)的零語(yǔ)言中,用一對(duì)雙引號(hào)括起來(lái)的零個(gè)或多個(gè)字符序列稱(chēng)為字符串。例如:個(gè)或多個(gè)字符序列稱(chēng)為字符串。例如:”liming”、”hello”。 字符串的長(zhǎng)度是指該字符

23、串的字符個(gè)數(shù)字符串的長(zhǎng)度是指該字符串的字符個(gè)數(shù),不包括雙引號(hào)。例如以上兩個(gè)字符串的,不包括雙引號(hào)。例如以上兩個(gè)字符串的長(zhǎng)度分別為長(zhǎng)度分別為6和和5。第二章第二章 2.2 2.2 常量和變量常量和變量 特點(diǎn):特點(diǎn):在程序中不能給它賦值在程序中不能給它賦值。 概念:是用標(biāo)識(shí)符來(lái)表示一個(gè)數(shù)據(jù)。概念:是用標(biāo)識(shí)符來(lái)表示一個(gè)數(shù)據(jù)。 定義形式定義形式: :#define #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量數(shù)據(jù)常量數(shù)據(jù)例如例如: #define pi 3.14159: #define pi 3.14159在程序預(yù)處理時(shí),凡是出現(xiàn)標(biāo)識(shí)符在程序預(yù)處理時(shí),凡是出現(xiàn)標(biāo)識(shí)符pipi的地方的地方都將用數(shù)據(jù)都將用數(shù)據(jù)3.1

24、41593.14159來(lái)替換。來(lái)替換。如如:2:2* *2.32.3* *pi pi 就等價(jià)于就等價(jià)于 2 2* *2.32.3* *3.141593.14159。第二章第二章 2.2 2.2 常量和變量常量和變量2.3.2 變量變量變量是指在程序運(yùn)行中變量是指在程序運(yùn)行中, , 其值可以被改變的量。其值可以被改變的量?;靖拍睿夯靖拍睿鹤兞看碛?jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間變量代表計(jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間, ,該存儲(chǔ)該存儲(chǔ)空間中存空間中存 放的數(shù)據(jù)就是變量的值。放的數(shù)據(jù)就是變量的值。在同一程序塊中,每個(gè)變量都有唯一的名字,在同一程序塊中,每個(gè)變量都有唯一的名字,不能被重復(fù)定義。不能被重復(fù)定義

25、。使用變量時(shí)必須使用變量時(shí)必須“先定義,后使用先定義,后使用”。 int a,b,c ; int a,b,c ; float x,y; float x,y; char c1,c2; char c1,c2; 或或 int c1,c2;int c1,c2; 自己設(shè)定,滿足自己設(shè)定,滿足標(biāo)識(shí)符的規(guī)定。標(biāo)識(shí)符的規(guī)定。如:如:int,int,float,charfloat,char;不可省第二章第二章 2.2 2.2 常量和變量常量和變量1.1.定義形式定義形式:類(lèi)型標(biāo)識(shí)符類(lèi)型標(biāo)識(shí)符 變量名變量名1 ,1 ,變量名變量名2,2,變量名變量名3 3,.;例如:例如:2.2.整型變量整型變量(1)(1)整型

26、變量的分類(lèi)整型變量的分類(lèi)基本型,以基本型,以intint表示。表示。短整型,以短整型,以short intshort int表示,或以表示,或以shortshort表示。表示。長(zhǎng)整型,以長(zhǎng)整型,以long intlong int表示,或以表示,或以longlong表示。表示。無(wú)符號(hào)型,其中無(wú)符號(hào)型又分為無(wú)符號(hào)整型,無(wú)無(wú)符號(hào)型,其中無(wú)符號(hào)型又分為無(wú)符號(hào)整型,無(wú)符號(hào)短整型和無(wú)符號(hào)長(zhǎng)整型,分別以符號(hào)短整型和無(wú)符號(hào)長(zhǎng)整型,分別以u(píng)nsigned int unsigned int unsigned shortunsigned shortunsigned longunsigned long表示。表示。in

27、t x;int x;long y;long y;20002000200120012002200220052005x xy y內(nèi)存內(nèi)存內(nèi)存地址內(nèi)存地址2003200320042004第二章第二章 2.2 2.2 常量和變量常量和變量(2)(2)整型常量的類(lèi)型整型常量的類(lèi)型 在將一個(gè)整型常量賦給一個(gè)整型變量時(shí)如何進(jìn)行在將一個(gè)整型常量賦給一個(gè)整型變量時(shí)如何進(jìn)行類(lèi)型匹配?類(lèi)型匹配?第二章第二章 2.2 2.2 常量和變量常量和變量短整型常量:短整型常量:長(zhǎng)整型常量:長(zhǎng)整型常量:第二章第二章 2.2 2.2 常量和變量常量和變量. .如果某一計(jì)算機(jī)系統(tǒng)的如果某一計(jì)算機(jī)系統(tǒng)的c c版本確定的版本確定的sh

28、ort intshort int 與與 intint型數(shù)據(jù)在內(nèi)存中占據(jù)的長(zhǎng)度相同,型數(shù)據(jù)在內(nèi)存中占據(jù)的長(zhǎng)度相同,. .常量中無(wú)常量中無(wú)unsigned unsigned 型型. .第二章第二章 2.2 2.2 常量和變量常量和變量 . .長(zhǎng)整型常量的表示:長(zhǎng)整型常量的表示:例如例如:1231 , 432:1231 , 432l, 0ll, 0l等等。等等。 main()int x; x =10*9*8*7*6*5*4*3*2*1; printf(%d,x);例例2-22-2,看看下面程序的輸出是什么,看看下面程序的輸出是什么? ?運(yùn)行結(jié)果:運(yùn)行結(jié)果:-3036long int x;%ld第二章

29、第二章 2.2 2.2 常量和變量常量和變量%ld %ld 輸出的字節(jié)要長(zhǎng)點(diǎn)輸出的字節(jié)要長(zhǎng)點(diǎn) %d %d 的要短點(diǎn)。比的要短點(diǎn)。比如,一個(gè)數(shù)大于如,一個(gè)數(shù)大于32767 32767 用用%d %d 就要溢出。假就要溢出。假如你想輸出如你想輸出32768.32768.用用%d %d 就會(huì)輸出就會(huì)輸出-1.-1.這就這就是溢出。但是用是溢出。但是用%ld %ld 就不會(huì)。就不會(huì)。輸出輸出-3276832767-3276832767以?xún)?nèi)的數(shù)都一樣!以?xún)?nèi)的數(shù)都一樣!第二章第二章 2.2 2.2 常量和變量常量和變量3 3、實(shí)型變量的分類(lèi)、實(shí)型變量的分類(lèi)(1)(1)整型變量的分類(lèi)整型變量的分類(lèi)單精度(單

30、精度(floatfloat)型)型雙精度(雙精度(doubledouble)型)型 (2)(2)實(shí)例實(shí)例float x;float x;double y;double y;20002000200320032004200420112011x xy y內(nèi)存內(nèi)存內(nèi)存地址內(nèi)存地址第二章第二章 2.2 2.2 常量和變量常量和變量例如例如: char c;: char c; c= c= a a; c= ; c= 034034; c= ; c= nn; ; c= c= x65x65; ; c=65;c=0101;c=0 x41;c=65;c=0101;c=0 x41; 第二章第二章 2.2 2.2 常量和

31、變量常量和變量4.4.字符變量字符變量字符變量用來(lái)存放字符常量字符變量用來(lái)存放字符常量, ,注意一個(gè)字符變注意一個(gè)字符變量只能存放一個(gè)字符量只能存放一個(gè)字符。一般以一個(gè)字節(jié)來(lái)存放一個(gè)字符,或者說(shuō)一一般以一個(gè)字節(jié)來(lái)存放一個(gè)字符,或者說(shuō)一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)。個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)。占占 8 8 位內(nèi)存位內(nèi)存signed或或 unsignedsigned-128 至至 +127 unsigned 0 至至 255 char gender;gender=m;char gender=m;第二章第二章 2.2 2.2 常量和變量常量和變量5.5.變量初始化變量初始化在說(shuō)明變量的同時(shí)給變量一

32、個(gè)初始值。在說(shuō)明變量的同時(shí)給變量一個(gè)初始值。變量定義變量定義分配存儲(chǔ)空間分配存儲(chǔ)空間變量初始化變量初始化分配存儲(chǔ)空間的同時(shí)存入數(shù)據(jù)分配存儲(chǔ)空間的同時(shí)存入數(shù)據(jù)int a,b; int a,b; a ab b? ? ?int a=1,b=2; int a=1,b=2; a ab b1 12 2不確定不確定例例2-32-3:看一看,下列的定義哪些是正確的?:看一看,下列的定義哪些是正確的?int a=5, b=3;int a=5, b=3;int a=b=c=3; int a=b=c=3; int a,b,c; a=b=c=3;int a,b,c; a=b=c=3;第二章第二章 2.2 2.2 常量

33、和變量常量和變量例例2-4: #define pi 3.14159#define pi 3.14159main( )main( ) float s, r; float s, r; scanf( scanf( %f%f , &r); /, &r); /* * 輸入數(shù)據(jù)給變量輸入數(shù)據(jù)給變量r(r(半徑半徑) ) * */ / s = r s = r * * r r * * pi pi; /; /* * 計(jì)算計(jì)算第一個(gè)第一個(gè)圓的面積圓的面積, ,存入變量存入變量s s * */ / printf( printf( s=%6.2fns=%6.2fn , s); /, s); /* * 輸出變量輸出變量s s 的值的值( (面積面積) ) * */ / scanf( scanf( %f%f ,&r); /,&r); /* * 輸入第二數(shù)據(jù)給變量輸入第二數(shù)據(jù)給變量r(r(半徑半徑) ) * */ / s = r s = r * * r r * * pi pi; /; /* * 計(jì)算計(jì)算第二個(gè)圓第二個(gè)圓的面積的面積, ,存入變量存入變量s s * */ / printf( printf( s=%8.4fs=%8.

溫馨提示

  • 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)論