基本數(shù)據(jù)類(lèi)型和表達(dá)式_第1頁(yè)
基本數(shù)據(jù)類(lèi)型和表達(dá)式_第2頁(yè)
基本數(shù)據(jù)類(lèi)型和表達(dá)式_第3頁(yè)
基本數(shù)據(jù)類(lèi)型和表達(dá)式_第4頁(yè)
基本數(shù)據(jù)類(lèi)型和表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 基本數(shù)據(jù)類(lèi)型和表達(dá)式預(yù)備知識(shí)數(shù)據(jù)類(lèi)型常量與變量不同類(lèi)型數(shù)據(jù)間的轉(zhuǎn)換運(yùn)算符和表達(dá)式2.0 預(yù)備知識(shí)計(jì)算機(jī)中數(shù)的表示及進(jìn)制轉(zhuǎn)換v數(shù)碼、基與權(quán)l(xiāng)數(shù)碼:表示數(shù)的符號(hào)l基:數(shù)碼的個(gè)數(shù)l權(quán):每一位所具有的值v數(shù)制語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv各種進(jìn)制之間的轉(zhuǎn)換l二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制u方法:按權(quán)相加10012345259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AF語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv各種進(jìn)制之間的轉(zhuǎn)換(整數(shù))l二進(jìn)制、八進(jìn)制、十六進(jìn)

2、制轉(zhuǎn)換成十進(jìn)制u方法:按權(quán)相加l十進(jìn)制轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制u原理:的余數(shù)是2)2.22(222.22).(00012110011112011NaaaaaaaaaaaaaNnnnnnnnnnnu方法:連續(xù)除以基,從低到高記錄余數(shù),直至商為0例 把十進(jìn)制數(shù)59轉(zhuǎn)換成二進(jìn)制數(shù)5922921427232120(59)10=(111011)21101111 1 1 0 1 1余余余余余余例 把十進(jìn)制數(shù)159轉(zhuǎn)換成八進(jìn)制數(shù)1598198280(159)10=(237)82 3 7 余 7余 3余 2例 把十進(jìn)制數(shù)459轉(zhuǎn)換成十六進(jìn)制數(shù)4591628161160(459)10=(1CB)161 C

3、 B 余11余12余 1語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cl二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換u二進(jìn)制轉(zhuǎn)換成八進(jìn)制:從右向左,每3位一組(不足3位左補(bǔ)0),轉(zhuǎn)換成八進(jìn)制u八進(jìn)制轉(zhuǎn)換成二進(jìn)制:用3位二進(jìn)制數(shù)代替每一位八進(jìn)制數(shù)例 (1101001)2=(001,101,001)2=(151)8例 (246)8=(010,100,110)2=(10100110)2000 0001 1010 2011 3100 4101 5110 6111 7語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cl二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換u二進(jìn)制轉(zhuǎn)換成十六進(jìn)制:從右向左,每4位一組(不足4位左補(bǔ)0),轉(zhuǎn)換成十六進(jìn)制u十六進(jìn)制轉(zhuǎn)換

4、成二進(jìn)制:用4位二進(jìn)制數(shù)代替每一位十六進(jìn)制數(shù)例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C字節(jié)和位v內(nèi)存以字節(jié)為單元組成v每個(gè)字節(jié)有一個(gè)地址v一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成v每個(gè)二進(jìn)位的值是0或101234

5、567語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C數(shù)值的表示方法原碼、反碼和補(bǔ)碼v原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值v反碼:l正數(shù):反碼與原碼相同l負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反v補(bǔ)碼:l正數(shù):原碼、反碼、補(bǔ)碼相同l負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)加1語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000數(shù)的范圍0111111111111111(-127+12

6、7)0111111110000000(-127+127)0111111110000000(-128+127)(用一字節(jié)表示數(shù))v負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1例 補(bǔ)碼:11111001 取反:10000110 加1: 10000111=-7語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C2.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型總表C數(shù)據(jù)類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型空類(lèi)型void定義類(lèi)型typedef字符類(lèi)型char枚舉類(lèi)型enum整 型實(shí)型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體struct共用體union短整型short長(zhǎng)整型long整型int數(shù)據(jù)類(lèi)型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.

7、數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C基本數(shù)據(jù)類(lèi)型類(lèi)型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127無(wú)unsigned char80255

8、說(shuō)明:數(shù)據(jù)類(lèi)型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C2.2 常量與變量標(biāo)識(shí)符v定義:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的字符序列v組成:l只能由字母、數(shù)字、下劃線(xiàn)組成,且第一個(gè)字母必須是字母或下劃線(xiàn)l大小寫(xiě)敏感l(wèi)不能使用關(guān)鍵字v長(zhǎng)度:最長(zhǎng)32個(gè)字符v命名原則:l見(jiàn)名知意l不宜混淆 如l與I, o與0例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab語(yǔ)言程序

9、設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cu一般用大寫(xiě)字母u是宏定義預(yù)處理命令,不是C語(yǔ)句l直接常量:u整型常量 u實(shí)型常量 u字符常量 u字符串常量如 #define PRICE 30常量v定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))v分類(lèi):l符號(hào)常量:用標(biāo)識(shí)符代表常量u定義格式: #define 符號(hào)常量 常量例 符號(hào)常量舉例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=300語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C&整型常量

10、(整常數(shù))v三種形式:l十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號(hào)表示.如 123,-456,0l八進(jìn)制整數(shù):由數(shù)字0開(kāi)頭,后跟數(shù)字07表示.如0123,011l十六進(jìn)制整數(shù):由0 x開(kāi)頭,后跟09,af,AF表示. 如0 x123,0Xff例 12 與 12L例 30000 為int型 65536 為long int 型v整型常量的類(lèi)型l根據(jù)其值所在范圍確定其數(shù)據(jù)類(lèi)型l在整常量后加字母l或L,認(rèn)為它是long int 型常量問(wèn)題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問(wèn)題:0123 = ( )100 x123 = ( )100Xff = ( )10語(yǔ)

11、言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C&實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))v表示形式:l十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)) 如0.123, .123, 123.0, 0.0, 123.l指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 v實(shí)型常量的類(lèi)型l默認(rèn)double型l在實(shí)型常量后加字母f或F,認(rèn)為它是float 型語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C&字符常量v定義:用單引號(hào)括起來(lái)的單個(gè)普通字符或轉(zhuǎn)義字符. v字符常量的值:該字符的ASCII碼值轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvradddtbf“x

12、hh轉(zhuǎn)義字符含義換行垂直制表回車(chē)響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁(yè)反斜線(xiàn)雙引號(hào)2位16進(jìn)制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101v轉(zhuǎn)義字符:反斜線(xiàn)后面跟一個(gè)字符或一個(gè)代碼值表示例 轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c) main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);運(yùn)行結(jié)果:(

13、屏幕顯示)A B CIsay:”How are you?”C ProgramTurbo C例 main() printf(“Yb=n”); 運(yùn)行結(jié)果:屏幕顯示:=v字符常量與字符串常量不同&字符串常量v定義:用雙引號(hào)(“”)括起來(lái)的字符序列v存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志h e l l o 0例 字符串“hello”在內(nèi)存中a a 0例 a“a”例 空串 “”0例: char ch; ch=“A”; 例: char ch; ch=A; 語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元.地址int a=1, b=-3,c;ab

14、c2字節(jié)2字節(jié)2字節(jié)地址地址.內(nèi)存1-3隨機(jī)數(shù)變量v概念:其值可以改變的量v變量名與變量值v變量定義的一般格式: 數(shù)據(jù)類(lèi)型 變量1,變量2,變量n;v變量初始化:定義時(shí)賦初值 例: int a,b,c; float data;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;v變量的使用:先定義,后使用例1 int student; stadent=19; /Undefined symbol statent in function main 例2 float

15、 a,b,c; c=a%b; /Illegal use of floating point in function main v變量定義位置:一般放在函數(shù)開(kāi)頭main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義可執(zhí)行語(yǔ)句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);Ch2_005.c語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C&整型變量v占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個(gè)機(jī)器字v

16、shortintlongv可用sizeof(類(lèi)型標(biāo)識(shí)符)測(cè)量&實(shí)型變量vfloat:占4字節(jié),提供7位有效數(shù)字vdouble:占8字節(jié),提供1516位有效數(shù)字&字符型變量v字符變量存放字符ASCII碼vchar與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */沒(méi)有字符串變量,用字符數(shù)組存放Ch2_006.c語(yǔ)言程序設(shè)計(jì) 第二章

17、基本數(shù)據(jù)類(lèi)型和表達(dá)式C例 /*ch2_003.c*/ #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); 宏定義變量定義輸出結(jié)果運(yùn)行結(jié)果:total=37.500000, ch1=d語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C2.3不同類(lèi)型數(shù)據(jù)間的轉(zhuǎn)換隱式轉(zhuǎn)換v什么情況下發(fā)生l運(yùn)算轉(zhuǎn)換-不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí)l賦值轉(zhuǎn)換-把一個(gè)值賦給與其類(lèi)型不同的變量時(shí)l輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸

18、出格式l函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類(lèi)型不一致時(shí)轉(zhuǎn)換v運(yùn)算轉(zhuǎn)換規(guī)則:不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類(lèi)型語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cdoublefloatlongunsignedintchar,short低高說(shuō)明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類(lèi)型不同時(shí)轉(zhuǎn)換例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f;

19、double d; long l;顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)v一般形式:(類(lèi)型名)(表達(dá)式)例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 v說(shuō)明:強(qiáng)制轉(zhuǎn)換得到所需類(lèi)型的中間變量,原變量類(lèi)型不變 例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 結(jié)果:x=3.600000,i=3精度損失問(wèn)題較高類(lèi)型向較低類(lèi)型轉(zhuǎn)換時(shí)可能發(fā)生Ch2_007.cCh2_008.c語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C2.4 運(yùn)算符和表達(dá)式C運(yùn)算符算術(shù)運(yùn)算符:(+ - * / % + -)關(guān)系運(yùn)

20、算符:( = !=)邏輯運(yùn)算符:(! & |)位運(yùn)算符 :( | &)賦值運(yùn)算符:(= 及其擴(kuò)展)條件運(yùn)算符:(?:)逗號(hào)運(yùn)算符:(,)指針運(yùn)算符:(* &)求字節(jié)數(shù) :(sizeof)強(qiáng)制類(lèi)型轉(zhuǎn)換:(類(lèi)型)分量運(yùn)算符:(. -)下標(biāo)運(yùn)算符:()其它 :(( ) -)語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C學(xué)習(xí)運(yùn)算符應(yīng)注意:v運(yùn)算符功能v與運(yùn)算量關(guān)系l要求運(yùn)算量個(gè)數(shù)l要求運(yùn)算量類(lèi)型v運(yùn)算符優(yōu)先級(jí)別v結(jié)合方向v結(jié)果的類(lèi)型語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C算術(shù)運(yùn)算符和表達(dá)式v基本算術(shù)運(yùn)算符: + - * / %l結(jié)合方向:從左向右l優(yōu)先級(jí): - -* / % -

21、+ - (2) (3) (4)說(shuō)明:l“-”可為單目運(yùn)算符時(shí),右結(jié)合性l兩整數(shù)相除,結(jié)果為整數(shù)l%要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv自增、自減運(yùn)算符+ -l作用:使變量值加1或減1l種類(lèi):u前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值)u后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1)例 j=3; k=+j; j=3;

22、 k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv自增、自減運(yùn)算符+ -l作用:使變量值加1或減1l種類(lèi):u前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值)u后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1)l說(shuō)明:u+ - 不能用于常量和表達(dá)式,如5+,(a+b)+u+ -結(jié)合方向: 自右向左u優(yōu)先級(jí):- + - -* / % -+ - (

23、2) (3) (4)例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3 例 j+k; (j+)+k;例 -i+ i=3; printf(“%d”,-i+); Ch2_009.c語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C賦值運(yùn)算符和表達(dá)式v簡(jiǎn)單賦值運(yùn)算符l符號(hào): =l格式: 變量標(biāo)識(shí)符=表達(dá)式l作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量v復(fù)合賦值運(yùn)算符l種類(lèi):+= -= *= /= %= = = &= = |=l含義: exp1 op= exp2 exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3

24、; d=func(); c=d+2;語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv說(shuō)明:l結(jié)合方向:自右向左l優(yōu)先級(jí): 14l左側(cè)必須是變量,不能是常量或表達(dá)式l賦值表達(dá)式的值與變量值相等,且可嵌套l賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類(lèi)型例 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;則 f=10.0例 int i; i=2.56; /結(jié)果i=2;例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達(dá)式值為5,a,b,c值為5/ b=5;a=5/表達(dá)式值11,c=6,

25、a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=10,c=2語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cv說(shuō)明:l結(jié)合方向:自右向左l優(yōu)先級(jí): 12l左側(cè)必須是變量,不能是常量或表達(dá)式l賦值表達(dá)式的值與變量值相等,且可嵌套l賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類(lèi)型例: a=12; a+=a-=a*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價(jià)于a=a+(a=a-(a*a)/a=0 等價(jià)于a=a+(a=a*(a=a-(a=a*3)語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C逗號(hào)運(yùn)算符和表達(dá)式v形式:表達(dá)式1,

26、表達(dá)式2,表達(dá)式nv結(jié)合性:從左向右v優(yōu)先級(jí): 15v逗號(hào)表達(dá)式的值:等于表達(dá)式n的值v用途:常用于循環(huán)for語(yǔ)句中例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表達(dá)式值60/a=15,表達(dá)式值20/賦值表達(dá)式,表達(dá)式值18,x=18/逗號(hào)表達(dá)式,表達(dá)式值18,x=3/1,2,3/3,2,3語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C逗號(hào)運(yùn)算符和表達(dá)式v形式:表達(dá)式1,表達(dá)式2,表達(dá)式nv結(jié)

27、合性:從左向右v優(yōu)先級(jí): 15v逗號(hào)表達(dá)式的值:等于表達(dá)式n的值v用途:常用于循環(huán)for語(yǔ)句中例:/*ch2_6.c*/#include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);運(yùn)行結(jié)果:x=3語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C關(guān)系運(yùn)算符和表達(dá)式v關(guān)系運(yùn)算符l種類(lèi): = !=l結(jié)合方向:自左向右l優(yōu)先級(jí)別:=!=優(yōu)先級(jí)6(高)優(yōu)先級(jí)7(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)l關(guān)系表達(dá)式的值:是邏輯值“真”或“假”,用1和0表示例 int a=3

28、,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表達(dá)式值1/表達(dá)式值1/表達(dá)式值0/d=1/f=0語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cl關(guān)系運(yùn)算注意:例 若a=0; b=0.5; x=0.3; 則 a=x278在C中是允許的, 值為0例 int i=1, j=7,a; a=i+(j%4!=0); 則a=2例 a0 結(jié)果為 A100 結(jié)果為10語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cl關(guān)系運(yùn)算注意:例 注意區(qū)分“=”與“=” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal t

29、o b”);例 應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷如 1.0/3.0*3.0=1.0 結(jié)果為可改寫(xiě)為:fabs(1.0/3.0*3.0-1.0)1e-60語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式Cab!a!ba&ba|b真假真假假假真真邏輯運(yùn)算符和表達(dá)式v邏輯運(yùn)算符l種類(lèi): ! & |l邏輯運(yùn)算真值表lC語(yǔ)言中,運(yùn)算量: 0表示“假”, 非0表示“真”, 運(yùn)算結(jié)果: 0表示“假”, 1表示“真”,真假假假假假真真假假真真真假真真語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C! (2)& (11)| (12)高低例 a=x & xb&xy a=b|x=y !a|a

30、bl優(yōu)先級(jí):l結(jié)合方向:! :從右向左& :從左向右| :從左向右/ (a=x) & (xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C! (2)& (11)| (12)高低l優(yōu)先級(jí):l結(jié)合方向:! :從右向左& :從左向右| :從左向右例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|84-!0 c&d值為1值為0值為1值為1值為1值為1/(53)&2|(8(4-(!0) 值為1語(yǔ)言程序設(shè)計(jì) 第二章基本數(shù)據(jù)類(lèi)型和表達(dá)式C! (2)& (11)| (12)高低l優(yōu)先級(jí):l結(jié)合方向:! :從右向左&a

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論