C語(yǔ)言從入門到精通非常不錯(cuò)的課件第2章.ppt_第1頁(yè)
C語(yǔ)言從入門到精通非常不錯(cuò)的課件第2章.ppt_第2頁(yè)
C語(yǔ)言從入門到精通非常不錯(cuò)的課件第2章.ppt_第3頁(yè)
C語(yǔ)言從入門到精通非常不錯(cuò)的課件第2章.ppt_第4頁(yè)
C語(yǔ)言從入門到精通非常不錯(cuò)的課件第2章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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、第 2 章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,2.1 C語(yǔ)言的基本數(shù)據(jù)類型,2.2 常量和變量,2.3 運(yùn)算符與表達(dá)式,2.4 數(shù)據(jù)類型轉(zhuǎn)換,返回,C語(yǔ)言程序設(shè)計(jì)教程,字符類型(char) 整型(short,int,long,unsigned) 單精度型(float) 實(shí)型(浮點(diǎn)型) 雙精度型(double) 枚舉類型(enum) 數(shù)組類型( ) 構(gòu)造類型 結(jié)構(gòu)體類型(struct) 共用體類型(union) 指針類型(*) 空類型(void),2.1 C語(yǔ)言的基本數(shù)據(jù)類型,一、數(shù)據(jù)類型概述,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),* 八進(jìn)制的數(shù)碼范圍為07; 018 * 十六進(jìn)制的數(shù)碼除了

2、數(shù)字09外, 還使用英文字母a f (或A F)表示1015。 如:0 x1e ,二、整型,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),1、常量: (1) 十進(jìn)制形式:與數(shù)學(xué)上的整數(shù)表示相同; 例如: 12, -100, 0 (2) 八進(jìn)制形式:在數(shù)碼前加數(shù)字0; 例如: 012=1*81+2*80=10(十進(jìn)制) (3) 十六進(jìn)制形式:在數(shù)碼前加0X(數(shù)字0和字母X)。 例如: 0 x12=1*161+2*160=18(十進(jìn)制),注意,2、分類: 根據(jù)數(shù)據(jù)所占的二進(jìn)制位數(shù)分為:int、short、long; 同樣存儲(chǔ)長(zhǎng)度的數(shù)據(jù)又分unsigned、signed; 故可組合出六種類型。 3、

3、值域: 由機(jī)器中數(shù)據(jù)的存儲(chǔ)長(zhǎng)度決定。 如Turbo C中,有 short(2字節(jié))int(2字節(jié)) long(4字節(jié)),第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),Turbo C所支持的整型數(shù)據(jù)請(qǐng),點(diǎn)擊,1、常量: (1) 十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成; 例如: 3.4, 4., .3。 (2) 指數(shù)形式:“十進(jìn)制小數(shù)”+“ e(或E)”+“十進(jìn)制數(shù)整數(shù)”。 例如: 12.5e-6 表示12.510-6 。,注意,三、實(shí)型,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),2、分類: 關(guān)鍵字 字節(jié)數(shù) 取值范圍 精度(位) float 4 3.410-38 3.41038 7 double

4、8 1.710-308 1.710308 15, 小數(shù)點(diǎn)不能單獨(dú)出現(xiàn); 0. .0 . e或E的兩邊必須有數(shù),且其后面必須為整數(shù); 如: 6E0.2 e5 ,1、常量: (1) 用單引號(hào)括起來(lái)的一個(gè)字符;如:A、 1、?等。 (2) 用單引號(hào)括起來(lái)的由反斜杠()引導(dǎo)的轉(zhuǎn)義字符。 字符形式 功能 n 換行 t 橫向跳格 b 退格 r 回車 反斜杠字符 單引號(hào)字符 ddd 8進(jìn)制數(shù)表示的ASCII碼對(duì)應(yīng)的字符 xhh 16進(jìn)制數(shù)表示的ASCII碼對(duì)應(yīng)的字符,四、字符類型,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),2、分類: char 和 unsigned char; 3、值域: 每個(gè)字符型數(shù)據(jù)

5、在內(nèi)存中占一個(gè)字節(jié);包括ASCII字符表中的所有字符(可顯示字符和非顯示字符)。 4、字符串: 是用一對(duì)雙引號(hào)括起來(lái)的字符序列。 如:“SHANGHAI”,“AbcdeFGHijk”,“How are you”。,注意, a與“a”的區(qū)別。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,例如:字符A的ASCII碼為: 65D(十進(jìn)制)=41H(十六進(jìn)制)=101Q(八進(jìn)制) 字符A可以表示為A、x41、101。,返回,一、常量與符號(hào)常量 常量是指在程序運(yùn)行中,其數(shù)值不能被改變的量。 常量又可分為直接常量和符號(hào)常量。,2.2 常量與變量,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),120 、 -100

6、、 0; 0120、 072; 0 xFFFF、 0 x1e、0X28AF,0XED4 ; 120L, 200L ; 長(zhǎng)整型常量 3.14、 -3.1、 5.12E-6 ; a 、#、n、101 ; 099、12f、 0 xg 、48EA ; 019.5 、1e-08; 實(shí)型常量只能用十進(jìn)制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; changsha 、+?ab ; 、p 、ab ;,1、直接常量:是在程序中直接引用的數(shù)據(jù)。,請(qǐng)判斷這些常量正確與否:,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),2、符號(hào)常量 是用標(biāo)識(shí)符來(lái)表示一個(gè)數(shù)據(jù);在程序不能給它賦值。 定義形式: #d

7、efine 標(biāo)識(shí)符 常量數(shù)據(jù) 例如: #define PI 3.14159 在程序預(yù)處理時(shí),凡是出現(xiàn)標(biāo)識(shí)符PI的地方都將用 數(shù)據(jù)3.14159來(lái)替換。 如: 2*2.3*PI 就等價(jià)于 2*2.3*3.14159。,二、變量 變量是指以標(biāo)識(shí)符為名字,其值可以改變的量。 變量代表計(jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間,該存儲(chǔ)空間中存放的數(shù)據(jù)就是變量的值。 在同一程序塊中,變量不能被重復(fù)定義。 使用變量時(shí)必須“先定義,后使用”。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),1、定義形式:類型標(biāo)識(shí)符: 變量名1 ,變量名2,變量名3.;,自己設(shè)定,滿足標(biāo)識(shí)符的規(guī)定。,如:int, float,char,;不可

8、省,2、變量初始化 在說(shuō)明變量的同時(shí)給變量一個(gè)初始值。,例如,int a=5, b=3; int a=b=c=3; int a,b,c; a=b=c=3; ,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),例如:int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;,main( ) int x,y,z,w;/*定義x,y,z,w為整型變量*/ unsigned int k; /*定義k為無(wú)符號(hào)整型變量*/ x=10;y=-20;k=30; z=x+k;w=y+k; printf(“x+k=%d,y+k=%dn”,z,w); ,例2-1:,程序運(yùn)行結(jié)果為:

9、x+k=40,y+k=10,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),3、局部變量 C語(yǔ)言程序是由函數(shù)組成的,且有且只能有一個(gè)main函數(shù)。 變量定義可以出現(xiàn)在函數(shù)內(nèi),亦可出現(xiàn)在函數(shù)外或者是函數(shù)的參數(shù)中。,按照變量定義語(yǔ)句出現(xiàn)的位置,可以分為:,局部變量:在函數(shù)內(nèi)定義;只在該函數(shù)中才能使用。 全局變量:在函數(shù)外定義;從它被定義的位置起,在 之后的所有函數(shù)中有效。 形式參數(shù):定義為函數(shù)的參數(shù);只在該函數(shù)中才能 使用。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),在函數(shù)內(nèi)部說(shuō)明的變量或者在復(fù)合語(yǔ)句中定義的變量稱為局部變量。其作用范圍是其所在的函數(shù)或復(fù)合語(yǔ)句。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表

10、達(dá)式,下一頁(yè),void float(int a) int b, c; M void f2(int x,int y) int i,j; M ,又稱全程變量或外部變量,在函數(shù)外部說(shuō)明。其作用范圍從它被定義的位置起,在之后的程序段中都是起作用的。,4、全局變量,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),如果在全局變量定義之前的函數(shù)想引用該外部變量,則應(yīng)該在該函數(shù)中用關(guān)鍵字extern作“外部變量說(shuō)明”。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),int a, b; void swap( ) int t; t = a; a = b; b = t; printf(“swap:a=%d,b=%dn

11、”,a,b); main() printf(“ Enter a,b:”); scanf(“%d,%d”, ,Enter a,b:5,3 swap:a=3,b=5 main:a=3,b=5,運(yùn)行結(jié)果,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),例如,int a, b; void swap( ) int t; t = a; a = b; b = t; printf(“swap:a=%d,b=%dn”,a,b); main() printf(“ Enter a,b:”); scanf(“%d,%d”, ,int a,b;,程序在編譯時(shí),屏幕將提示有錯(cuò)誤: Undefine symbol a Und

12、efine symbol b,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),例如,運(yùn)行結(jié)果,int a, b; void swap( ) int t; t = a; a = b; b = t; printf(“swap:a=%d,b=%dn”,a,b); main() printf(“ Enter a,b:”); scanf(“%d,%d”, ,int a=5,b=3;,Enter a,b:5,3 swap:a=3,b=5 main:a=5,b=3,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,返回,int a,b;,例如,運(yùn)行結(jié)果,按操作功能運(yùn)算符大致可分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、按位運(yùn)

13、算符以及其它運(yùn)算符如賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符等。 表達(dá)式是由操作數(shù)和運(yùn)算符組成的序列。,2.3 運(yùn)算符與表達(dá)式,算術(shù)運(yùn)算符 + - * / % 關(guān)系運(yùn)算符 = = = != 邏輯運(yùn)算符 ! int b=6,c=3; 求解: a*b/c-1.5+a+fabs(-5)=?,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),例如,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),解:,等價(jià)于 i=i+1;,j=i;i+; 所以i的值為4,j的值為3.,i+;j=i; 所以i的值為4,j的值為4.,例如:,(3) i=3; j=+i;,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),3、自增與自減運(yùn)算

14、符 +i,-i:使用之前使i的值增1(或減1); i+,i-:使用之后使i的值增1(或減1);,(1) i+; +i;,(2) i=3; j=i+;, 結(jié)合性:自右至左。 如: i = 2; j = -i+; 等價(jià)于:j=-(i+); 即: j=-i;i+; “+”與”-“是同優(yōu)先級(jí) 所以i的值為3,j的值為-2。,“+”或“-”自增與自減運(yùn)算符的使用。 如:設(shè)i=3,k=(i+)+(i+)+(i+),k=? 如:設(shè)i=3,j=4,k=i+j,k=?,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),注意,1、6種關(guān)系運(yùn)算符:= = != 2、關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將表達(dá)式連接起來(lái)的式子 優(yōu)先級(jí)

15、: (= )( = != ) 結(jié)合性:自左至右; 表達(dá)式的值: 若為真,則結(jié)果為1; 若為假,則結(jié)果為0。,35 的值為 0; 32 的值為 0; 3+(43)*4的值為 3; 3+43*4 的值為 1; 算術(shù)運(yùn)算符優(yōu)先級(jí)高于關(guān)系運(yùn)算符,例如,二、關(guān)系運(yùn)算符和關(guān)系表達(dá)式,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),2、邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連接起來(lái)的式子 優(yōu)先級(jí): ! float b=3.5; !a (0) !(a 0) (0) (a 0) (1),例如,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式

16、,下一頁(yè),注意,在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。,例如,(1)a = 0; b = 1; c = a+ 結(jié)果: a為0,b為0,c為0,d為1。,(1) n是小于m的偶數(shù): nmb=3 max=ab?a:b max及賦值表達(dá)式的 值均為5; ab?a:b+1 條件表達(dá)式的值為4。,例如,-a = = b+ ? a+ : b+ (a=a-1;)4 = = 3(b=b+1;)?a+:b+ a為4 b為4 0 4(b=b+1;) 表達(dá)式值為4 b為5 a值為4,b值為5,條件表達(dá)式的值為4。 優(yōu)先級(jí): 邏輯條件

17、賦值,又例如:,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),2、逗號(hào)運(yùn)算符: , 形式: 逗號(hào)表達(dá)式1,逗號(hào)表達(dá)式2,逗號(hào)表達(dá)式n 求值規(guī)則: 從左至右依次計(jì)算各表達(dá)式的值; 優(yōu)先級(jí): 最低; 結(jié)合性:自左至右; 表達(dá)式的值:最后一個(gè)表達(dá)式的值。,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè), 結(jié)合性:自右至左; y = x10 ? x/10 : x0 ? x: -x; 等價(jià)于: y = x10 ? x/10 :(x0? x: -x); 當(dāng)x的值為15時(shí),表達(dá)式的結(jié)果為:1 當(dāng)x的值為5時(shí),表達(dá)式的結(jié)果為:-5,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,下一頁(yè),a b y 表達(dá)式 y=a=4,b

18、=5,a+b; 4 5 4 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5),a+b; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10,例如,注意,C語(yǔ)言常用逗號(hào)作為分隔符, 例如: int a=3,b=4,c=5; printf(“%d,%d,%d”,(a,b,c); printf(“%d,%d,%d”,a,(a,b,c),c); 結(jié)果為3,5,5, 作用:求得變量或某種數(shù)據(jù)類型所需的字節(jié)數(shù)。 形式有兩種:sizeof 變量名 sizeof (類型名) 結(jié)果為整型數(shù)。,int a; float x; printf(“%d,%d”,sizeof a,sizeof x); printf(“%d,%d”,sizeof(int),sizeof(float); 以上兩個(gè)printf語(yǔ)句結(jié)果均為2,4。,3、求字節(jié)運(yùn)算符: sizeof,第2章 C語(yǔ)言的基本數(shù)據(jù)類型與表達(dá)式,例如,返回, C語(yǔ)言允許整型、實(shí)型、字符型數(shù)據(jù)進(jìn)行混合運(yùn) 算。 有3種轉(zhuǎn)換方式:自動(dòng)轉(zhuǎn)換、賦值轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換。,2.4 數(shù)據(jù)類型轉(zhuǎn)換,第2

溫馨提示

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