版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第第 2 2 章章 C C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式 2.1 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型 2.2 常量和變量 2.3 運(yùn)算符與表達(dá)式 2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2 字符型(字符型(charchar) 整型(整型(short,int,long,unsignedshort,int,long,unsigned) 單精度型(單精度型(floatfloat) 實(shí)型實(shí)型 雙精度型(雙精度型(doubledouble) 枚舉類(lèi)型(枚舉類(lèi)型(enumenum) 數(shù)組類(lèi)型(數(shù)組類(lèi)型( ) 構(gòu)造類(lèi)型構(gòu)造類(lèi)型 結(jié)構(gòu)體類(lèi)型(結(jié)構(gòu)體類(lèi)型(structstruct) 共用體類(lèi)型(共用體類(lèi)型(unionun
2、ion) 指針類(lèi)型(指針類(lèi)型(* *) 空類(lèi)型(空類(lèi)型(voidvoid)基本類(lèi)型基本類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型2.1 C2.1 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型語(yǔ)言的基本數(shù)據(jù)類(lèi)型一、數(shù)據(jù)類(lèi)型概述第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式31.基本數(shù)據(jù)類(lèi)型:整型、實(shí)型和字符型。2.構(gòu)造類(lèi)型: 由若干個(gè)相關(guān)的基本數(shù)據(jù)類(lèi)型數(shù)據(jù)組合在一起形成的一種復(fù)雜的數(shù)據(jù)類(lèi)型,如數(shù)組型、結(jié)構(gòu)型和共用型。 3.指針型:一種簡(jiǎn)單的數(shù)據(jù)類(lèi)型,它是用來(lái)表示內(nèi)存地址的。指針類(lèi)型的數(shù)據(jù)可以表示基本類(lèi)型數(shù)據(jù)的地址,它可以表 示結(jié)構(gòu)類(lèi)型數(shù)據(jù)的首地址和其中某個(gè)具體數(shù)據(jù)的地址。4.枚舉型:某數(shù)據(jù)在程序運(yùn)行中,只取固定的幾個(gè)值。我們可以把這幾個(gè)值列出來(lái),以后
3、這個(gè)數(shù)據(jù)只能取這幾個(gè)值中的某一個(gè)。 5. 空類(lèi)型:沒(méi)有任何具體值的數(shù)據(jù)類(lèi)型。41 1、常量:常量: (1) (1) 十進(jìn)制形式十進(jìn)制形式: :與數(shù)學(xué)上的整數(shù)表示相同;與數(shù)學(xué)上的整數(shù)表示相同; 例如例如: 12, -100, 0: 12, -100, 0 (2) (2) 八進(jìn)制形式八進(jìn)制形式: :在數(shù)碼前加數(shù)字在數(shù)碼前加數(shù)字0 0; 例如例如: 012=1: 012=1* *8 81 1+2+2* *8 80 0=10(=10(十進(jìn)制)十進(jìn)制) (3) (3) 十六進(jìn)制形式十六進(jìn)制形式: :在數(shù)碼前加在數(shù)碼前加0X0X(數(shù)字?jǐn)?shù)字0和字母和字母x)。)。 例如例如: 0 x12=1: 0 x12=
4、1* *16161 1+2+2* *16160 0=18(=18(十進(jìn)制)十進(jìn)制) * 八進(jìn)制的數(shù)碼范圍為八進(jìn)制的數(shù)碼范圍為07; 018 * 十六進(jìn)制的十六進(jìn)制的數(shù)碼除了數(shù)字?jǐn)?shù)碼除了數(shù)字0 09 9外外, , 還使用英文字母還使用英文字母a f (或或A F)表示表示1015。 如:如:0 x1e 二、整型第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式5 2、分類(lèi):分類(lèi): 根據(jù)數(shù)據(jù)所占的二進(jìn)制位數(shù)分為根據(jù)數(shù)據(jù)所占的二進(jìn)制位數(shù)分為: :int、short、long; 同樣存儲(chǔ)長(zhǎng)度的數(shù)據(jù)又分同樣存儲(chǔ)長(zhǎng)度的數(shù)據(jù)又分unsigned、signed; 故可組合出六種類(lèi)型。故可組合出六種類(lèi)型。3、值域:值域: 由
5、機(jī)器中數(shù)據(jù)的存儲(chǔ)長(zhǎng)度決定。由機(jī)器中數(shù)據(jù)的存儲(chǔ)長(zhǎng)度決定。 如如Turbo C中,有中,有 short(2字節(jié)字節(jié))int(2字節(jié)字節(jié)) long(4字節(jié)字節(jié)) 關(guān)鍵字關(guān)鍵字 所占位數(shù)所占位數(shù) 取值范圍取值范圍 short 16 short 16 -32768-327683276732767 unsigned short 16 unsigned short 16 0 06553565535 int 16 int 16 -32768-327683276732767 unsigned 16 unsigned 16 0 06553565535 long 32 -2147483648 long 32 -2
6、14748364821474836472147483647 unsigned long 32 unsigned long 32 0 042949672954294967295第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式61 1、常量:常量:(1) (1) 十進(jìn)制小數(shù)形式:十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成;由數(shù)字和小數(shù)點(diǎn)組成; 例如例如: 3.4, 4., .3: 3.4, 4., .3。(2) (2) 指數(shù)形式:指數(shù)形式:“十進(jìn)制小數(shù)十進(jìn)制小數(shù)”+“ e(+“ e(或或E)”+“E)”+“十進(jìn)制數(shù)整十進(jìn)制數(shù)整數(shù)數(shù)”。 例如例如: 12.5e-6: 12.5e-6 表示表示12.512.51010-6
7、 。 小數(shù)點(diǎn)不能單獨(dú)出現(xiàn);小數(shù)點(diǎn)不能單獨(dú)出現(xiàn); 0.0. .0 .0 . . e e或或E E的兩邊必須有數(shù),且其后面必須為整數(shù);的兩邊必須有數(shù),且其后面必須為整數(shù); 如:如: 6E0.2 6E0.2 e5e5 2、分類(lèi):分類(lèi): 關(guān)鍵字關(guān)鍵字 字節(jié)數(shù)字節(jié)數(shù) 取值范圍取值范圍 精度精度( (位位) ) float 4 3.4 float 4 3.41010-38 3.43.4101038 7 7 double 8 1.7 double 8 1.71010-308 1.71.71010308 1515注意注意第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式三、實(shí)型71 1、常量:常量: (1) (1) 用單引
8、號(hào)括起來(lái)的一個(gè)字符;如:用單引號(hào)括起來(lái)的一個(gè)字符;如:A、 1、?等等。 (2) (2) 用單引號(hào)括起來(lái)的由反斜杠用單引號(hào)括起來(lái)的由反斜杠( ( ) )引導(dǎo)的轉(zhuǎn)義字符。引導(dǎo)的轉(zhuǎn)義字符。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式四、字符類(lèi)型 字符形式 含 義 ASC n換行,將當(dāng)前位置移到下一行開(kāi)頭 10 t水平制表(跳到下一個(gè)tab位置) 9 b退格,將當(dāng)前位置移到前一列 8 r回車(chē),將當(dāng)前位置移到本行開(kāi)頭 13 f換頁(yè), 將當(dāng)前位置移到下頁(yè)開(kāi)頭 12 反斜杠字符“” 92 單引號(hào)(撇號(hào))字符 39 “雙引號(hào)字符 34 ddd1到3位8進(jìn)制數(shù)所代表的字符 xhh1到2位16進(jìn)制數(shù)所代表的字符 8例如
9、例如: main( )main( ) printf(“ printf(“ababctctderftgn”);derftgn”); printf(“htibbj printf(“htibbjk”);k”); 該程序運(yùn)行時(shí)在打印機(jī)上得到的結(jié)果:該程序運(yùn)行時(shí)在打印機(jī)上得到的結(jié)果: f fababc cgdegde h hjijik k如果在顯示屏上的結(jié)果為:如果在顯示屏上的結(jié)果為: f fgdegde h hj jk k9例如:字符例如:字符A A的的ASCIIASCII碼為:碼為: 65D65D(十進(jìn)制)(十進(jìn)制)=41H=41H(十六進(jìn)制)(十六進(jìn)制)=101Q=101Q(八進(jìn)制)(八進(jìn)制) 字
10、符字符A A可以表示為可以表示為AA、x41x41、101101。2、分類(lèi):分類(lèi): char char 和和 unsigned charunsigned char;3 3、值域:值域: 每個(gè)字符型數(shù)據(jù)在內(nèi)存中占每個(gè)字符型數(shù)據(jù)在內(nèi)存中占一一個(gè)字節(jié);包括個(gè)字節(jié);包括ASCIIASCII字符字符表中的所有字符(可顯示字符和非顯示字符)。表中的所有字符(可顯示字符和非顯示字符)。4 4、字符串:字符串: 是用一對(duì)雙引號(hào)括起來(lái)的字符序列。是用一對(duì)雙引號(hào)括起來(lái)的字符序列。 如:如:“SHANGHAI”SHANGHAI”,“AbcdeFGHijk”AbcdeFGHijk”,“How are How are
11、you”you”。 注意注意第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式 a a 與與“a”a”的區(qū)別。的區(qū)別。10一、常量與符號(hào)常量 常量是指在程序運(yùn)行中常量是指在程序運(yùn)行中,其數(shù)值不能被改變的量。其數(shù)值不能被改變的量。 常量又可分為直接常量和符號(hào)常量。常量又可分為直接常量和符號(hào)常量。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式2.2 2.2 常量與變量常量與變量11 120 、 、 -100、 、 0; ; 0120、 、 072; ; 0 xFFFF、 、 0 x1e、 、0X28AF, ,0XED4 ; ; 120L, 200L ; ; 長(zhǎng)長(zhǎng)整型常量整型常量 3.14、 、 -3.1、 、 5.12E
12、-6 ; ; a 、 、#、 、n、 、101 ; ; 099、 、12f、 、 0 xg 、 、48EA ; ; 019.5 、 、1e-08; ; 實(shí)實(shí)型常量只能用十型常量只能用十進(jìn)進(jìn)制形式表示制形式表示 2.1E10.2、 、E-6、 、6.4E+4.8、 、E9 ; ; changsha 、 、+?ab ; ; 、 、p 、 、 、ab ; ;第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式1、直接常量:直接常量:是在程序中直接引用的數(shù)據(jù)。是在程序中直接引用的數(shù)據(jù)。請(qǐng)判斷這些常量正確與否:請(qǐng)判斷這些常量正確與否:122、符號(hào)常量符號(hào)常量 是是用標(biāo)用標(biāo)識(shí)符來(lái)表示一個(gè)數(shù)據(jù);識(shí)符來(lái)表示一個(gè)數(shù)據(jù);在程序不
13、能給它賦值。在程序不能給它賦值。 定義形式定義形式: #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量數(shù)據(jù)常量數(shù)據(jù) 例如例如: #define PI 3.14159 在程序預(yù)處理時(shí),凡是出現(xiàn)標(biāo)識(shí)符在程序預(yù)處理時(shí),凡是出現(xiàn)標(biāo)識(shí)符PI的地方都將用的地方都將用數(shù)據(jù)數(shù)據(jù)3.14159來(lái)替換。來(lái)替換。 如如: 2*2.3*PI 就就等價(jià)于等價(jià)于 2*2.3*3.14159。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式二、 變量 變量是指變量是指以標(biāo)識(shí)符為名字,其值可以改變的量。以標(biāo)識(shí)符為名字,其值可以改變的量。 變量代表計(jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間,該存儲(chǔ)空間變量代表計(jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間,該存儲(chǔ)空間 中存放中存放的數(shù)據(jù)就
14、是變量的值。的數(shù)據(jù)就是變量的值。 在同一程序塊中,在同一程序塊中,變量變量不能被重復(fù)定義。不能被重復(fù)定義。 使用變量時(shí)必須使用變量時(shí)必須“先定義,后使用先定義,后使用”。 131、定義形式:定義形式:類(lèi)型標(biāo)識(shí)符類(lèi)型標(biāo)識(shí)符: 變量名變量名1 ,變量名變量名2,變量名變量名3.; 例如例如:int a,b,c ; float x,y; char c1,c2; 或或 int c1,c2; 自己設(shè)定,滿(mǎn)足自己設(shè)定,滿(mǎn)足標(biāo)識(shí)符的規(guī)定。標(biāo)識(shí)符的規(guī)定。如:如:int,int,float,charfloat,char;不可??;不可省第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式2、變量初始化變量初始化 在說(shuō)明變量的同時(shí)
15、給變量一個(gè)初始值。在說(shuō)明變量的同時(shí)給變量一個(gè)初始值。 例如例如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; 14 mainmain( ) int x int x,y y,z z,w w; / /* *定義定義x x,y y,z z,w w為整型變量為整型變量* */ / unsigned int k unsigned int k; / /* *定義定義k k為無(wú)符號(hào)整型變量為無(wú)符號(hào)整型變量* */ / x=10 x=10;y=-20y=-20;k=30k
16、=30; z=x+kz=x+k;w=y+kw=y+k; printfprintf(“x+k=%dx+k=%d,y+k=%dn”y+k=%dn”,z z,w w); ; 第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式例例2.1:整形變量定義及賦初值:整形變量定義及賦初值程序運(yùn)行結(jié)果為:程序運(yùn)行結(jié)果為: x+k=40 x+k=40,y+k=10y+k=1015 mainmain( ) char c1,c2 char c1,c2; / /* *定義字符型變量定義字符型變量* */ / c1=a; c2=b; c1=a; c2=b; c1=c1-32;c2=c2-32; c1=c1-32;c2=c2-32; p
17、rintf(“%c %c”,c1,c2); 第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式例例2.2:字符形變量定義及賦初值:字符形變量定義及賦初值程序運(yùn)行結(jié)果為:程序運(yùn)行結(jié)果為: A BA B16 按操作功能運(yùn)算符大致可分為按操作功能運(yùn)算符大致可分為算術(shù)運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、按位運(yùn)算符以及其關(guān)系運(yùn)算符、邏輯運(yùn)算符、按位運(yùn)算符以及其它運(yùn)算符如賦值運(yùn)算符、它運(yùn)算符如賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)條件運(yùn)算符、逗號(hào)運(yùn)算符等。算符等。 表達(dá)式是由操作數(shù)和運(yùn)算符組成的序列。表達(dá)式是由操作數(shù)和運(yùn)算符組成的序列。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式2.3 2.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式17
18、C語(yǔ)言運(yùn)算符基本運(yùn)算符算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符(、*、/、)增1減1運(yùn)算符 (、)關(guān)系運(yùn)算符(、=、!)邏輯運(yùn)算符(!、&、?。┵x值運(yùn)算符基本賦值運(yùn)算符()算術(shù)自反賦值運(yùn)算符(、*、/、)逗號(hào)運(yùn)算符(,)條件運(yùn)算符(?:)數(shù)據(jù)長(zhǎng)度運(yùn)算符(sige of)位運(yùn)算符位邏輯運(yùn)算符(、&、|、)位位移運(yùn)算符(、,.)指針運(yùn)算符(&,*,)18注意!注意!少數(shù)運(yùn)算符號(hào)有雙重意義,主要有以下幾種少數(shù)運(yùn)算符號(hào)有雙重意義,主要有以下幾種: (1)“”號(hào),在算術(shù)運(yùn)算中即表示單目的取正運(yùn)算,號(hào),在算術(shù)運(yùn)算中即表示單目的取正運(yùn)算, 又可表示雙目的加法運(yùn)算。又可表示雙目的加法運(yùn)算。(2)“”號(hào)
19、,在算術(shù)運(yùn)算中即表示單目的取負(fù)運(yùn)算,號(hào),在算術(shù)運(yùn)算中即表示單目的取負(fù)運(yùn)算, 又可表示雙目的減法運(yùn)算又可表示雙目的減法運(yùn)算(3)“*”號(hào),在算術(shù)運(yùn)算中即表示雙目的乘法運(yùn)算,號(hào),在算術(shù)運(yùn)算中即表示雙目的乘法運(yùn)算, 在指針運(yùn)算中表示指針變量指向的變量。在指針運(yùn)算中表示指針變量指向的變量。(4)“&”號(hào),在位邏輯運(yùn)算中表示雙目號(hào),在位邏輯運(yùn)算中表示雙目“與與”運(yùn)算,運(yùn)算, 在指針運(yùn)算中表示取地址的運(yùn)算在指針運(yùn)算中表示取地址的運(yùn)算。19 一、 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 1 1、 運(yùn)算符運(yùn)算符 +(+(加加) ):3+43+4、 +3+3 -( -(減減) ):3-53-5、 -5-5 * *( (
20、乘乘) ):3 3* *5 5 /( /(除除) ):5/25/2的值為的值為2 2;5.0/25.0/2的值為的值為2.52.5; %(%(取余取余) ):5%35%3的值為的值為2 2; -5%3-5%3的值為的值為-2-2; 5%(-3)5%(-3)的值為的值為2 2; -5%(-3)-5%(-3)的值為的值為-2-2; 12.3%3 12.3%3 若若a a能被能被b b整除,則有:整除,則有:a%b=0 a%b=0 第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式20基本算術(shù)運(yùn)算符的運(yùn)算對(duì)象、運(yùn)算規(guī)則與結(jié)果、結(jié)合性如表所示 :對(duì)象數(shù)對(duì)象數(shù) 運(yùn)算符 名稱(chēng)運(yùn)算對(duì)象運(yùn)算結(jié)果結(jié)合性單單 目目雙雙 目目正
21、負(fù)整 型 或?qū)?型整 型 或?qū)?型自右向左自左向右 * /加減乘除整除取余整型整數(shù)21 2 2、算術(shù)表達(dá)式算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括符將操作數(shù)連接起來(lái)的式子。用算術(shù)運(yùn)算符和括符將操作數(shù)連接起來(lái)的式子。 優(yōu)先級(jí):()優(yōu)先級(jí):() * *、/ /、% +% +、- - 結(jié)合性:從左至右;結(jié)合性:從左至右; 表達(dá)式的值:表達(dá)式的值: 數(shù)值型數(shù)值型(int(int、longlong、unsignedunsigned、double)double);例如:例如: 已知:已知: float a=2.0;float a=2.0; int b=6,c=3; int b=6,c=3; 求解:求解: a a* *
22、b/c-1.5+a+fabs(-5)=b/c-1.5+a+fabs(-5)=?第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式22 double float long unsigned int char,short float a=2.0; int b =6,c =3;float a=2.0; int b =6,c =3; a a* *b/c -1.5 +a +fabs(-5)b/c -1.5 +a +fabs(-5)12.012.0/3/354.0 4.0 - 1.5- 1.52.5 2.5 + 97(int)+ 97(int)99.5 99.5 + 5+ 5104.5104.5(double)(dou
23、ble)第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式23對(duì)象數(shù)單目名稱(chēng)運(yùn)算符 運(yùn)算規(guī)則 運(yùn)算對(duì)象運(yùn)算結(jié)果 結(jié)合性增1(前綴)先加1后使用增1(后綴)減1(前綴)減1(后綴)先使用后加1先減1后使用先使用后減1整型、字符型、指針型變量或數(shù)組元素同運(yùn)算對(duì)象的類(lèi)型自右向左3 3、自增與自減運(yùn)算符自增與自減運(yùn)算符24 +i,-i+i,-i:使用之前使:使用之前使i i的值增的值增1 1(或減(或減1 1);); i+,i- i+,i-:使用之后使:使用之后使i i的值增的值增1 1(或減(或減1 1););等價(jià)于等價(jià)于 i=i+1;i=i+1;j=i;i+; j=i;i+; 所以所以i i的值為的值為4 4,
24、j j的值為的值為3 3。i+;j=i; i+;j=i; 所以所以i i的值為的值為4 4,j j的值為的值為4 4。例如:例如:(1) i+;(1) i+; +i; +i;(2) i=3;(2) i=3; j=i+; j=i+; (3) i=3;(3) i=3; j=+i; j=+i;第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式25 結(jié)合性:自右至左。結(jié)合性:自右至左。 如:如: i = 2;i = 2; j = -i+; j = -i+; 等價(jià)于:等價(jià)于:j=-(i+);j=-(i+); 即:即: j=-i;i+; j=-i;i+; “+”與與”- -“是同優(yōu)先級(jí)是同優(yōu)先級(jí) 所以所以i i的值為的
25、值為3 3,j j的值為的值為-2-2。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式 注意注意 “ “+”+”或或“-”-”自增與自減運(yùn)算符的使用。自增與自減運(yùn)算符的使用。 如:設(shè)如:設(shè)i=3i=3,k=(i+)+(i+)+(i+)k=(i+)+(i+)+(i+),k=k=? 如:設(shè)如:設(shè)i=3i=3,j=4j=4,k=i+jk=i+j,k=k=?26二、關(guān)系運(yùn)算符和關(guān)系表達(dá)式對(duì)象數(shù)名 稱(chēng)運(yùn)算符 運(yùn)算規(guī)則 運(yùn)算對(duì)象 結(jié)果結(jié)合性雙目小于小于等于大于大于等于等于不等于=!滿(mǎn)足則為真,結(jié)果為1,不滿(mǎn)足為假結(jié)果為0整型、實(shí)型、字符型等邏輯值(整數(shù)1或0)自左向右1.關(guān)系運(yùn)算符的運(yùn)算對(duì)象、規(guī)則與結(jié)果、結(jié)合性如下
26、表所示:關(guān)系運(yùn)算符的運(yùn)算對(duì)象、規(guī)則與結(jié)果、結(jié)合性如下表所示: 27 2 2、關(guān)系表達(dá)式:關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將表達(dá)式連接起來(lái)用關(guān)系運(yùn)算符將表達(dá)式連接起來(lái)的式子的式子 優(yōu)先級(jí):優(yōu)先級(jí): ( = )( = ) ( = != )( = != ) 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:表達(dá)式的值: 若為真,則結(jié)果為若為真,則結(jié)果為1 1; 若為假,則結(jié)果為若為假,則結(jié)果為0 0。35 35 的值為的值為 0 0;32 32 的值為的值為 0 0;3+(43)3+(43)* *4 4的值為的值為 3 3;3+43+43 & | 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:表
27、達(dá)式的值: 若為真,則結(jié)果為若為真,則結(jié)果為1 1; 若為假,則結(jié)果為若為假,則結(jié)果為0 0。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式31 int a=5; float b=3.5; !a (0) !(a b) (1) a & b (1) !a&b (0) !a&!b (0) !(a&b) (0) &:只要有一個(gè)為假,結(jié)果則為假;只要有一個(gè)為假,結(jié)果則為假; a b (1) !a|b (1) !a|!b (0) !(a|b) (0) |:只要有一個(gè)為真,結(jié)果則為真;只要有一個(gè)為真,結(jié)果則為真; (a 0) (0) (a 0) (1)例如例如第2章 C語(yǔ)言的基
28、本數(shù)據(jù)類(lèi)型與表達(dá)式32 ! ! 高高 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 &和和| | 賦值運(yùn)算符賦值運(yùn)算符 低低 4 - 04 - 01 & 21 & 28 48 3 & 2 | 8 3 & 2 | 8 4 - !5第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式33注意:注意: 在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。例如:例如: (1)a = 0; b
29、 = 1; (1)a = 0; b = 1; c = a+ & b-; c = a+ & b-; 結(jié)果結(jié)果: a: a為為1,b1,b為為1,c1,c為為0 0。 (2)a = 1; b = 1; c=0;(2)a = 1; b = 1; c=0; d = - -a d = - -a b- - b- - (c = b+3 ); (c = b+3 ); 結(jié)果結(jié)果: a: a為為0,b0,b為為0,c0,c為為0,d0,d為為1 1。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式34邏輯表達(dá)式一般用于控制語(yǔ)句中的條件:邏輯表達(dá)式一般用于控制語(yǔ)句中的條件:例如:例如: (1) n(1) n是小
30、于是小于m m的偶數(shù):的偶數(shù): nm&n%2=0nm&n%2=0 (2)year (2)year是閏年是閏年: : (能被(能被4 4整除但不能被整除但不能被100100整除或能被整除或能被400400整除)整除) year %4=0&year%100!=0|year%400=0第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式35四、賦值運(yùn)算符和賦值表達(dá)式 賦值運(yùn)算符是雙目運(yùn)算符,賦值運(yùn)算符的左邊必須是變量,賦值運(yùn)算符是雙目運(yùn)算符,賦值運(yùn)算符的左邊必須是變量,右邊是表達(dá)式。右邊是表達(dá)式。 1. 賦值運(yùn)算符的運(yùn)算對(duì)象及有關(guān)規(guī)則如下表賦值運(yùn)算符的運(yùn)算對(duì)象及有關(guān)規(guī)則如下表: 對(duì)象數(shù)名稱(chēng)
31、運(yùn)算符運(yùn)算規(guī)則運(yùn)算結(jié)果 結(jié)合性 雙目賦值 將表達(dá)式的值賦予變量 表達(dá)式的 類(lèi)型自右向左362 2、賦值表達(dá)式:賦值表達(dá)式:用賦值運(yùn)算符將變量和表達(dá)式連接起來(lái)的用賦值運(yùn)算符將變量和表達(dá)式連接起來(lái)的式子式子 形式形式: : = 求值規(guī)則求值規(guī)則: : 將將“=”=”右邊表達(dá)式的值賦給左邊的變右邊表達(dá)式的值賦給左邊的變量。量。 優(yōu)先級(jí):優(yōu)先級(jí): ! ! 算術(shù)算術(shù) 關(guān)系關(guān)系 &和和| 賦值賦值 結(jié)合性:自右至左;結(jié)合性:自右至左; 表達(dá)式的值:被賦值變量的值。表達(dá)式的值:被賦值變量的值。例如例如:(1) x=(y=12)/4 (1) x=(y=12)/4 y y值為值為1212,x x值為值為
32、3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (2) x=y=12/4 (2) x=y=12/4 y y值為值為3 3,x x值為值為3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (3) x=(y=12/4) (3) x=(y=12/4) y y值為值為3 3,x x值為值為3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (4) (x=y)=12/4 (4) (x=y)=12/4 第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式373 3、復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符對(duì)象數(shù) 名稱(chēng) 運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象 運(yùn)算結(jié)果結(jié)合性雙目加賦值減賦值乘賦值除賦值模賦值*/ =%=a+=b相當(dāng)于a=a+(b)a=b相當(dāng)于a=a(b)a*
33、=b相當(dāng)于a=a*(b)a/=b相當(dāng)于a=a/(b)a%=b相當(dāng)于a=a%(b)數(shù)值型數(shù)值型自右向左整型整型運(yùn)算規(guī)則運(yùn)算規(guī)則: : 38注意注意: : 復(fù)合運(yùn)算符是一個(gè)運(yùn)算符復(fù)合運(yùn)算符是一個(gè)運(yùn)算符, ,但功能上但功能上, ,是兩個(gè)運(yùn)算符功是兩個(gè)運(yùn)算符功能的組合。能的組合。例如例如: : (1) a+=b (1) a+=b 相當(dāng)于相當(dāng)于 a=a+ba=a+b a a* *=b =b 相當(dāng)于相當(dāng)于 a=aa=a* *b b a a* *=b+c =b+c 相當(dāng)于相當(dāng)于 a=a a=a* *(b+c) (b+c) 而不是而不是 a=a a=a* *b+cb+c (2) (2) 設(shè)設(shè)a=12a=12,
34、計(jì)算表達(dá)式,計(jì)算表達(dá)式a+=a-=aa+=a-=a* *1212和和a+=a-=aa+=a-=a* *=12=12 的值的值第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式39 1 1、條件運(yùn)算符條件運(yùn)算符 ? ?和和: : , ,它們與三個(gè)操作數(shù)組組成三元運(yùn)算。它們與三個(gè)操作數(shù)組組成三元運(yùn)算。 形式為形式為: : ? ? :3 求值規(guī)則和表達(dá)式的值求值規(guī)則和表達(dá)式的值: : 真真( (非非0),0),求解表達(dá)式求解表達(dá)式2 2 求解表達(dá)式求解表達(dá)式1 1 條件表達(dá)式的值條件表達(dá)式的值 假假(0),(0),求解表達(dá)式求解表達(dá)式3 3例如例如: : int max, int max,a=5;b=3;a=5;
35、b=3; max=ab?a:b max max=ab?a:b max及賦值表達(dá)式的值均為及賦值表達(dá)式的值均為5;5; ab?a:b+1 a 條件條件 賦值賦值 第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式41 結(jié)合性:自右至左;結(jié)合性:自右至左; y = x10 ? x/10 : x0 ? x: -xy = x10 ? x/10 : x0 ? x: -x; 等價(jià)于等價(jià)于: : y = x10 ? x/10 :(x0? x: -x) y = x10 ? x/10 :(x0? x: -x); 當(dāng)當(dāng)x x的值為的值為1515時(shí),表達(dá)式的結(jié)果為:時(shí),表達(dá)式的結(jié)果為:1 1 當(dāng)當(dāng)x x的值為的值為5 5時(shí),表達(dá)
36、式的結(jié)果為:時(shí),表達(dá)式的結(jié)果為: 5 52 2、逗號(hào)運(yùn)算符:逗號(hào)運(yùn)算符: , 形式形式: : 逗號(hào)表達(dá)式逗號(hào)表達(dá)式1 1,逗號(hào)表達(dá)式,逗號(hào)表達(dá)式2 2,逗號(hào)表達(dá)式,逗號(hào)表達(dá)式n n 求值規(guī)則求值規(guī)則: : 從左至右依次計(jì)算各表達(dá)式的值從左至右依次計(jì)算各表達(dá)式的值; 優(yōu)先級(jí):優(yōu)先級(jí): 最低;最低; 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:最后一個(gè)表達(dá)式的值。表達(dá)式的值:最后一個(gè)表達(dá)式的值。第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式42例如:例如: a b y a b y 表達(dá)式表達(dá)式 y=a=4,b=5,a+b; 4 5 4 9y=a=4,b=5,a+b; 4 5 4 9 y=(a=4,b=
37、5,a+b); 4 5 9 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; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10 y=a=(4,b=5),a+b; 5 5 5 10注意注意: : C C語(yǔ)言常用逗號(hào)作為分隔符語(yǔ)言常用逗號(hào)作為分隔符, , 例如例如: : int a=3,b=4,c=5; int a=3,b=4,c=5; printf(“%d,%d,%d”,(a,b,c); printf(“%d,%d,%d”,(a,b,c); printf(“%d,%d,%d”,a,(a,b,
38、c),c); printf(“%d,%d,%d”,a,(a,b,c),c); 結(jié)果為結(jié)果為3 3,5 5,5 5第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式43 形式有兩種:形式有兩種: sizeof 變量名變量名 sizeof (類(lèi)型名類(lèi)型名) 結(jié)果為整型數(shù)。結(jié)果為整型數(shù)。 int a int a; float xfloat x; printf(“%d,%d”,sizeof a,sizeof x);printf(“%d,%d”,sizeof a,sizeof x); printf(“%d,%d”,sizeof(int),sizeof(float); printf(“%d,%d”,sizeof(int
39、),sizeof(float); 以上兩個(gè)以上兩個(gè)printfprintf語(yǔ)句結(jié)果均為語(yǔ)句結(jié)果均為2 2,4 4。例如例如第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式3 3、求求字節(jié)運(yùn)算符:字節(jié)運(yùn)算符: sizeof 作用:求得變量或某種數(shù)據(jù)類(lèi)型所需的字節(jié)數(shù)。作用:求得變量或某種數(shù)據(jù)類(lèi)型所需的字節(jié)數(shù)。44 C C語(yǔ)言允許整型、實(shí)型、字符型數(shù)據(jù)進(jìn)行混合運(yùn)算。語(yǔ)言允許整型、實(shí)型、字符型數(shù)據(jù)進(jìn)行混合運(yùn)算。 有有3 3種轉(zhuǎn)換方式:自動(dòng)轉(zhuǎn)換、賦值轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換。種轉(zhuǎn)換方式:自動(dòng)轉(zhuǎn)換、賦值轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換。 一、類(lèi)型自動(dòng)轉(zhuǎn)換 double float long unsigned int char,short第2章 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式2.4 2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換數(shù)據(jù)類(lèi)型轉(zhuǎn)換 45 int x=2;float y=1.6;char c=A;int x=2;float y=1.6;char c=A; 則:則:c+xc+x* *y = c + x y = c + x * * y y 65(int)+ 2(int) 65(int)+ 2(int) * * 1.6(double) 1.6(double) = 68.2(double) = 68.2(double)二、 賦值轉(zhuǎn)換 在賦值時(shí)將賦值符右邊值的類(lèi)型轉(zhuǎn)換成與其左邊變量類(lèi)在賦值時(shí)將賦值符右邊值的類(lèi)型轉(zhuǎn)換成與
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年領(lǐng)導(dǎo)力考試題及答案解析
- 廣告行業(yè)服務(wù)規(guī)范指南(標(biāo)準(zhǔn)版)
- 健身場(chǎng)所運(yùn)營(yíng)管理手冊(cè)(標(biāo)準(zhǔn)版)
- 2025年市場(chǎng)競(jìng)爭(zhēng)情報(bào)搜集與分析指南
- 公共交通設(shè)施維修與養(yǎng)護(hù)指南(標(biāo)準(zhǔn)版)
- 裝飾公司培訓(xùn)制度
- 餐飲服務(wù)業(yè)衛(wèi)生操作與質(zhì)量管理手冊(cè)
- 幼兒園安全管理培訓(xùn)制度
- 雪具租賃培訓(xùn)制度
- 咨詢(xún)師督導(dǎo)培訓(xùn)制度
- 東風(fēng)7電路圖解析
- 數(shù)字填圖系統(tǒng)新版(RgMap2.0)操作手冊(cè)
- YY/T 1778.1-2021醫(yī)療應(yīng)用中呼吸氣體通路生物相容性評(píng)價(jià)第1部分:風(fēng)險(xiǎn)管理過(guò)程中的評(píng)價(jià)與試驗(yàn)
- GB/T 17213.4-2015工業(yè)過(guò)程控制閥第4部分:檢驗(yàn)和例行試驗(yàn)
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- GB∕T 5900.2-2022 機(jī)床 主軸端部與卡盤(pán)連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊(cè)wdl
- DFMEA編制作業(yè)指導(dǎo)書(shū)新版
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測(cè)技術(shù)規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
評(píng)論
0/150
提交評(píng)論