C語言基礎(chǔ)知識(shí) 考研復(fù)習(xí)篇_第1頁
C語言基礎(chǔ)知識(shí) 考研復(fù)習(xí)篇_第2頁
C語言基礎(chǔ)知識(shí) 考研復(fù)習(xí)篇_第3頁
C語言基礎(chǔ)知識(shí) 考研復(fù)習(xí)篇_第4頁
C語言基礎(chǔ)知識(shí) 考研復(fù)習(xí)篇_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、整理ppt1整理ppt2熱身練習(xí):熱身練習(xí):1.1.已知各變量的類型說明如下,則以下不符合已知各變量的類型說明如下,則以下不符合C C語言語法的表達(dá)式是語言語法的表達(dá)式是。int kint k,a a,b;b;unsigned long w=5;unsigned long w=5;double x=1.42;double x=1.42;A) x%(-3) A) x%(-3) B) w+=-2 B) w+=-2 C) k=(a=2 C) k=(a=2,b=3b=3,a+b)a+b) D) a+=a-=(b=4) D) a+=a-=(b=4)* *(a=3)(a=3) 整理ppt3熱身練習(xí):熱身練

2、習(xí):2.2.設(shè)設(shè)x x、y y、t t均為均為intint型變量型變量,則執(zhí)行語句則執(zhí)行語句:x=y=3;t=+x|+y;x=y=3;t=+x|+y;后后,x x 的值為的值為 , ,y y的值為的值為 。 A) A)不定值不定值 B) 4 B) 4 C) 3 C) 3 D) 8 D) 8整理ppt4熱身練習(xí):熱身練習(xí):3.3.有如下定義,若要求有如下定義,若要求a1a1,a2a2,c1c1,c2c2的值分別為的值分別為1010,2020,A A和和B B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是確的數(shù)據(jù)輸入方式是。int a1int a1,a2; char

3、 c1a2; char c1,c2;c2;scanf(“%d%d”scanf(“%d%d”,&a1&a1,&a2);&a2);scanf(“%c%c”scanf(“%c%c”,&c1&c1,&c2);&c2);A) 1020ABA) 1020AB B) 10 20 B) 10 20 AB ABC) 10 20AB D) 10 20 AB C) 10 20AB D) 10 20 AB 整理ppt5一、語言的特點(diǎn)一、語言的特點(diǎn)、語言簡(jiǎn)潔、緊湊,使用方便、靈活;一共有、語言簡(jiǎn)潔、緊湊,使用方便、靈活;一共有3232個(gè)關(guān)鍵字,個(gè)關(guān)鍵字,9

4、 9種控制語句種控制語句,主要用小寫字母表示。,主要用小寫字母表示。autobreakcasecharconstcontinuedefaultdo double else enum extern float for goto if int long register return short signed static sizeof struct switch typedef union unsigned void volatilewhile整理ppt6一、語言的特點(diǎn)一、語言的特點(diǎn)九種控制語句:九種控制語句:if()elsefor()while()dowhile()cotinuebreaksw

5、itchgotoreturn整理ppt7一、語言的特點(diǎn)一、語言的特點(diǎn)2 2、運(yùn)算符豐富:共有、運(yùn)算符豐富:共有3434種運(yùn)算符種運(yùn)算符。 算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位操作運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)操作運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符、指針運(yùn)算符、求字節(jié)數(shù)運(yùn)算符、特殊運(yùn)算符、指針運(yùn)算符、求字節(jié)數(shù)運(yùn)算符、特殊運(yùn)算符等。運(yùn)算符等。3 3、數(shù)據(jù)結(jié)構(gòu)豐富:、數(shù)據(jù)結(jié)構(gòu)豐富: 的數(shù)據(jù)類型有:的數(shù)據(jù)類型有:整型、實(shí)型、字符型、整型、實(shí)型、字符型、數(shù)數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、組類型、結(jié)構(gòu)體類型、共用體類型、指針類型、指針類型、空類型空類

6、型等。等。整理ppt8一、語言的特點(diǎn)一、語言的特點(diǎn)4 4、具有結(jié)構(gòu)化的控制語句;、具有結(jié)構(gòu)化的控制語句;5 5、語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;、語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;6 6、C C語言能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部語言能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對(duì)硬件進(jìn)行操作;分功能,可以直接對(duì)硬件進(jìn)行操作;7 7、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;8 8、用、用C C語言編寫的程序可移植性好。語言編寫的程序可移植性好。整理ppt9二、語言的詞匯二、語言的詞匯在語言中使用的詞匯分為六類:在語言中使用的詞匯分為六類: 標(biāo)識(shí)符:

7、標(biāo)識(shí)符:變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符 標(biāo)識(shí)符只能是字母、數(shù)字、下劃線組成的字符串,并且第標(biāo)識(shí)符只能是字母、數(shù)字、下劃線組成的字符串,并且第一個(gè)字符必須是字母或下劃線,用戶定義的標(biāo)識(shí)符不應(yīng)一個(gè)字符必須是字母或下劃線,用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同。與關(guān)鍵字相同。 關(guān)鍵字:關(guān)鍵字:由語言規(guī)定的具有特定意義的字符串由語言規(guī)定的具有特定意義的字符串 運(yùn)算符:運(yùn)算符:與變量、函數(shù)一起組成表達(dá)式,實(shí)現(xiàn)運(yùn)算功能與變量、函數(shù)一起組成表達(dá)式,實(shí)現(xiàn)運(yùn)算功能 分隔符:分隔符:逗號(hào)和空格逗號(hào)和空格 常量:常量:數(shù)字常量、字符常量、字符串常量、符號(hào)常量、數(shù)字常量、字符常量、字符

8、串常量、符號(hào)常量、轉(zhuǎn)義字符轉(zhuǎn)義字符 注釋符:注釋符:“/ /* *”開頭并以開頭并以“* */”/”結(jié)尾的串結(jié)尾的串 整理ppt10三、數(shù)據(jù)類型三、數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型整型整型實(shí)型(浮點(diǎn)型)實(shí)型(浮點(diǎn)型)字符型字符型枚舉類型枚舉類型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型共用體類型共用體類型單精度實(shí)型單精度實(shí)型雙精度實(shí)型雙精度實(shí)型基本整型基本整型長整型長整型短整型短整型無符號(hào)整型無符號(hào)整型整理ppt11(一)基本類型的分類及特點(diǎn)(一)基本類型的分類及特點(diǎn) 【注注】帶帶* *號(hào)表示的數(shù)據(jù)類型與機(jī)器硬件有關(guān)號(hào)表示的數(shù)據(jù)類型與機(jī)器硬件有關(guān)整

9、理ppt12(二)變量在內(nèi)存中的存放形式(二)變量在內(nèi)存中的存放形式 1 1、整型數(shù)據(jù)在內(nèi)存中以、整型數(shù)據(jù)在內(nèi)存中以補(bǔ)碼補(bǔ)碼形式存放形式存放 正數(shù):原碼即為補(bǔ)碼(該數(shù)的二進(jìn)制數(shù))正數(shù):原碼即為補(bǔ)碼(該數(shù)的二進(jìn)制數(shù)) 負(fù)數(shù)負(fù)數(shù):(:(1 1)取絕對(duì)值)取絕對(duì)值 (2 2)求絕對(duì)值的二進(jìn)制形式)求絕對(duì)值的二進(jìn)制形式 (3 3)將二進(jìn)制按位取反)將二進(jìn)制按位取反 (4 4)再加上)再加上1 1,可得補(bǔ)碼,可得補(bǔ)碼注意:若給出一個(gè)數(shù)在內(nèi)存中的存放形式,先看最高位來注意:若給出一個(gè)數(shù)在內(nèi)存中的存放形式,先看最高位來判斷是正負(fù)數(shù)。判斷是正負(fù)數(shù)。1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

10、 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0-10-10在機(jī)器內(nèi)存中的存放形式在機(jī)器內(nèi)存中的存放形式整理ppt13(二)變量在內(nèi)存中的存放形式(二)變量在內(nèi)存中的存放形式 求求-10-10的補(bǔ)碼過程:的補(bǔ)碼過程:1010的原碼:的原碼:01010 01010 按位取反:按位取反:11111111111101011111111111110101再加再加1 1,得,得-10-10的補(bǔ)碼:的補(bǔ)碼:11111111111101101111111111110110整理ppt14(二)變量在內(nèi)存中的存放形式(二)變量在內(nèi)存中的存放形式 有符號(hào)整型變量:有符號(hào)整型變量:最大表示最大表示3

11、276732767 無符號(hào)整型變量:無符號(hào)整型變量:最大表示最大表示65535 65535 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1整理ppt15(二)變量在內(nèi)存中的存放形式(二)變量在內(nèi)存中的存放形式 解決整型數(shù)據(jù)的溢出問題解決整型數(shù)據(jù)的溢出問題 如:如:int a=32767,b;int a=32767,b; b=a+1;printf(“%d”,b); b=a+1;printf(“

12、%d”,b);0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b= -32768b= -32768整理ppt16(二)變量在內(nèi)存中的存放形式(二)變量在內(nèi)存中的存放形式 2 2、實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式、實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 實(shí)型數(shù)據(jù)一般占實(shí)型數(shù)據(jù)一般占4 4個(gè)字節(jié)(個(gè)字節(jié)(3232位)內(nèi)存空間。位)內(nèi)存空間。按按指數(shù)形式指數(shù)形式存儲(chǔ)。實(shí)數(shù)存儲(chǔ)。實(shí)數(shù)3.141593.14159在內(nèi)存中

13、的存在內(nèi)存中的存放形式如下:放形式如下:+ +.314159.3141591 1類型說明符類型說明符比特?cái)?shù)(字節(jié)數(shù))比特?cái)?shù)(字節(jié)數(shù))有效數(shù)字有效數(shù)字?jǐn)?shù)的范圍數(shù)的范圍floatfloat3232(4 4)67671010-38-3810103838 doubledouble64(8)64(8)151615161010-308-3081010308308 long double long double 128(16)128(16)181918191010-4932-4932101049324932 整理ppt17三、數(shù)據(jù)類型三、數(shù)據(jù)類型變量變量main()main() float a; float

14、 a; double b; double b; a=3 a=333333333. .333333333;3; b=3b=333333333.3333.333333333333333333333333; ; printf(%fn%fn,a,b); printf(%fn%fn,a,b); 由于由于a a 是單精度浮點(diǎn)型,有效位數(shù)只有七位。而整數(shù)是單精度浮點(diǎn)型,有效位數(shù)只有七位。而整數(shù)已占五位,故小數(shù)二位后之后均為無效數(shù)字。已占五位,故小數(shù)二位后之后均為無效數(shù)字。 b b 是雙精度型,有效位為十六位。但是雙精度型,有效位為十六位。但Turbo C Turbo C 規(guī)定小規(guī)定小數(shù)后最多保留六位,其余部

15、分四舍五入。數(shù)后最多保留六位,其余部分四舍五入。 double d=12.3456789;printf(“%lf”,d);double d=12.3456789;printf(“%lf”,d);整理ppt18三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量1 1、整數(shù)常量、整數(shù)常量l十進(jìn)制整數(shù):帶符號(hào),十進(jìn)制整數(shù):帶符號(hào),0 09 9組成,第一位數(shù)字為非組成,第一位數(shù)字為非零(除零外)零(除零外) -456-456l八進(jìn)制整數(shù):八進(jìn)制整數(shù):0 07 7組成,最高位用組成,最高位用0 0引導(dǎo)引導(dǎo) 0123=(123)0123=(123)8 8=(83)=(83)1010l十六進(jìn)制整數(shù):十六進(jìn)制整數(shù):0 09 9

16、及及a af f 或或 A AF F組成組成, ,最高位最高位用用0 x0 x或或0X0X引導(dǎo),引導(dǎo), 0 x123=(123)0 x123=(123)1616=(291)=(291)1010l整數(shù)常量后加字母整數(shù)常量后加字母u u或或U U表示該數(shù)為無符號(hào)型,加字表示該數(shù)為無符號(hào)型,加字母母l l或或L L表示該數(shù)為長整型表示該數(shù)為長整型 12345u 123L12345u 123L整理ppt19三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量2 2、實(shí)型常量、實(shí)型常量 在在C C中有兩種表示方法:中有兩種表示方法:十進(jìn)制小數(shù)形式:十進(jìn)制小數(shù)形式:0.00.0、25.025.0、300.300.、-267.

17、8230-267.8230等。等。 注意,必須有小數(shù)點(diǎn)。注意,必須有小數(shù)點(diǎn)。 指數(shù)形式:指數(shù)形式:meme n(n(或或mEmE n)n)表示表示 m m* *1010 n n ( (這里這里m m為非為非0 0實(shí)數(shù),實(shí)數(shù),n n為整數(shù)為整數(shù)) )。如:。如:12.312.3E-2E-2表示表示12.312.3* *1010-2-2 在在C C編譯系統(tǒng)中,將浮點(diǎn)型常量編譯系統(tǒng)中,將浮點(diǎn)型常量 作為作為雙精度雙精度來處理來處理 以下不是合法的實(shí)數(shù),請(qǐng)說明理由:以下不是合法的實(shí)數(shù),請(qǐng)說明理由:345 E7 -5 53.-E3 2.7E 345 E7 -5 53.-E3 2.7E 整理ppt20三、

18、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量3 3、字符常量、字符常量- -轉(zhuǎn)義字符轉(zhuǎn)義字符整理ppt21三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量3 3、字符常量、字符常量- -轉(zhuǎn)義字符轉(zhuǎn)義字符ddd ddd 輸出一到三位八進(jìn)制數(shù)所對(duì)應(yīng)的字符輸出一到三位八進(jìn)制數(shù)所對(duì)應(yīng)的字符 xhh xhh 輸出一到兩位輸出一到兩位1616進(jìn)制數(shù)所對(duì)應(yīng)的字符進(jìn)制數(shù)所對(duì)應(yīng)的字符例如:例如:char a=101, b=x41;putchar(a); putchar(b);答案:答案:A AA A整理ppt22三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量 字符常量就是一個(gè)普通整數(shù),也可參與各種字符常量就是一個(gè)普通整數(shù),也可參與各種數(shù)學(xué)運(yùn)算數(shù)學(xué)運(yùn)算 每個(gè)

19、字符具有一個(gè)每個(gè)字符具有一個(gè)0255之間的數(shù)值,可之間的數(shù)值,可從從ASCII表查出表查出 注意:注意:5和整數(shù)和整數(shù)5的區(qū)別的區(qū)別 5的的ASCII碼值是碼值是53 思考:思考: 6 2的值是多少?的值是多少?整理ppt23例題:小寫字母轉(zhuǎn)換為大寫字母例題:小寫字母轉(zhuǎn)換為大寫字母 #include main()char ch = b; printf(%c, %dn, ch, ch);ch = b - 32; printf(%c, %dn, ch, ch);#include main()char ch = b; printf(%c, %dn, ch, ch); ch = b - (a - A)

20、 ; printf(%c, %dn, ch, ch);b, 98B, 66b, 98B, 66整理ppt24三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量4 4、字符串常量、字符串常量 用雙引號(hào)括住的由用雙引號(hào)括住的由0 0個(gè)或多個(gè)字符組成的字符序列個(gè)或多個(gè)字符組成的字符序列 I am a stringI am a string 表示空字符串表示空字符串 除注釋外,是唯一可以出現(xiàn)中文的地方除注釋外,是唯一可以出現(xiàn)中文的地方 C C語言內(nèi)部用語言內(nèi)部用00表示字符串的結(jié)束表示字符串的結(jié)束 xx和和xx是不同的是不同的 里定義了一系列專門的字符串處理函數(shù)里定義了一系列專門的字符串處理函數(shù) 轉(zhuǎn)義字符也可在字符串中

21、使用轉(zhuǎn)義字符也可在字符串中使用整理ppt25實(shí)踐挑戰(zhàn):實(shí)踐挑戰(zhàn):1 1、設(shè):、設(shè):char char * *s=“ta017bc”;s=“ta017bc”;則則strlen(s)strlen(s)的值為(的值為( )。)。(0404南師大)南師大)2 2、在一個(gè)、在一個(gè)3232位系統(tǒng)中(如位系統(tǒng)中(如Windows XPWindows XP),),若定義若定義char char * *s=010010010n;s=010010010n;則則sizeof(s)sizeof(s)的值為(的值為( ),),strlen(s)strlen(s)的值為(的值為( )答案:答案:1 1、5 52 2、2

22、29 9整理ppt26sizeof sizeof 到底是什么?到底是什么? C C語言的關(guān)鍵字,語言的關(guān)鍵字,并非函數(shù)并非函數(shù) 計(jì)算計(jì)算類型類型占用的占用的字節(jié)數(shù)字節(jié)數(shù) 兩種語法形式兩種語法形式 sizeof( sizeof(類型類型) ) 結(jié)果為結(jié)果為類型類型占用的字節(jié)數(shù)占用的字節(jié)數(shù) sizeof( sizeof(表達(dá)式表達(dá)式) ) 結(jié)果為結(jié)果為表達(dá)式值所屬類型表達(dá)式值所屬類型占用的字節(jié)數(shù)占用的字節(jié)數(shù) 一般都使用一般都使用sizeofsizeof( (變量名變量名) ) 整理ppt27strlen( )到底是什么? strlen( )strlen( )是函數(shù),返回字符串中所包是函數(shù),返回字符

23、串中所包含的字符個(gè)數(shù)。含的字符個(gè)數(shù)。 注:統(tǒng)計(jì)時(shí)不包括注:統(tǒng)計(jì)時(shí)不包括00 兩種語法形式兩種語法形式 strlen( strlen(字符串字符串) ) 如:如:strlen(“abcd”);strlen(“abcd”); strlen( strlen(字符指針變量字符指針變量) ); char char * *s=“abc; stelen(s);s=“abc; stelen(s);整理ppt28三、數(shù)據(jù)類型三、數(shù)據(jù)類型常量常量宏常量宏常量 也稱符號(hào)常量也稱符號(hào)常量 一般采用全大寫字母表示一般采用全大寫字母表示 宏定義不是語句,而是一種編譯預(yù)處理命令宏定義不是語句,而是一種編譯預(yù)處理命令 格式如

24、下:格式如下: #define #define 標(biāo)識(shí)符標(biāo)識(shí)符 字符串字符串使用時(shí),將使用時(shí),將標(biāo)識(shí)符標(biāo)識(shí)符用用字符串字符串完全替換完全替換整理ppt29正確的實(shí)例:計(jì)算圓的周長和面積正確的實(shí)例:計(jì)算圓的周長和面積 #include #define PI 3.14159#define R 5.3main()printf(area = %fn, PI * R * R);printf(circumference = %fn, 2 * PI * R);area = 88.247263circumference = 33.300854相當(dāng)于執(zhí)行相當(dāng)于執(zhí)行#include main()printf(are

25、a = %fn, 3.14159 * 5.3 * 5.3);printf(circumference = %fn, 2 * 3.14159 * 5.3);整理ppt30錯(cuò)誤實(shí)例錯(cuò)誤實(shí)例 :計(jì)算圓的周長和面積:計(jì)算圓的周長和面積 #include #define PI 3.14159;#define R 5.3;main()printf(area = %fn, PI * R * R);printf(circumference = %fn, 2 * PI * R);相當(dāng)于執(zhí)行相當(dāng)于執(zhí)行#include main()printf(area = %fn, 3.14159;*5.3;*5.3;);pri

26、ntf(circumference = %fn, 2*3.14159;*5.3;);整理ppt31實(shí)踐挑戰(zhàn):實(shí)踐挑戰(zhàn):3 3、在、在C C語言中,宏定義語言中,宏定義#define PI 3.14159#define PI 3.14159中,用宏名中,用宏名PIPI代替了一個(gè)()(南師大代替了一個(gè)()(南師大0606)A.A.單精度數(shù)單精度數(shù)B.B.雙精度數(shù)雙精度數(shù)C.C.字符序列字符序列D.D.常量常量答案:答案:C C整理ppt32枚舉(枚舉(Enumeration)常量)常量 enum weeks SUN, MON, TUE, WED, THU, FRI, SAT;/*聲明了一個(gè)枚舉類型

27、聲明了一個(gè)枚舉類型*/ enum weeks today; /*用上面類型定義變量用上面類型定義變量*/ today = TUE; /*變量變量today只能在上面定義的范只能在上面定義的范圍內(nèi)取值圍內(nèi)取值*/ enum response no, yes, none; enum response answer; answer = yes; enum response no = -1, yes = 1, none = 0; 整理ppt33四、運(yùn)算符四、運(yùn)算符 常見的運(yùn)算符常見的運(yùn)算符 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 賦值運(yùn)算符賦值運(yùn)算符 類型強(qiáng)轉(zhuǎn)(強(qiáng)制類型轉(zhuǎn)換)類型強(qiáng)轉(zhuǎn)(強(qiáng)制類型轉(zhuǎn)換) 關(guān)系運(yùn)算符關(guān)系運(yùn)算

28、符 邏輯運(yùn)算符邏輯運(yùn)算符 增和減增和減 位運(yùn)算符位運(yùn)算符整理ppt34四、運(yùn)算符四、運(yùn)算符 運(yùn)算符有三個(gè)屬性:運(yùn)算符有三個(gè)屬性: 運(yùn)算元數(shù):最少運(yùn)算元數(shù):最少1 1個(gè),最多個(gè),最多3 3個(gè)個(gè) - -1; 31; 3 2 2? ?3 3: :2 2 優(yōu)先級(jí):優(yōu)先級(jí): 結(jié)合性:結(jié)合性:即指運(yùn)算符與運(yùn)算元的結(jié)即指運(yùn)算符與運(yùn)算元的結(jié)合方向合方向, ,用于指導(dǎo)同級(jí)的運(yùn)算用于指導(dǎo)同級(jí)的運(yùn)算 表達(dá)式:表達(dá)式:運(yùn)算元與運(yùn)算符的組合式運(yùn)算元與運(yùn)算符的組合式 a a* *b b/ /c c- -2.22.2+ +AA簡(jiǎn)化后的優(yōu)先級(jí):簡(jiǎn)化后的優(yōu)先級(jí):1一級(jí)運(yùn)算符一級(jí)運(yùn)算符 2單變量運(yùn)算符單變量運(yùn)算符 3算術(shù)運(yùn)算符算

29、術(shù)運(yùn)算符 4位運(yùn)算符位運(yùn)算符 5關(guān)系運(yùn)算符關(guān)系運(yùn)算符 6位邏輯運(yùn)算符位邏輯運(yùn)算符 7邏輯運(yùn)算符邏輯運(yùn)算符 8條件運(yùn)算符條件運(yùn)算符 9賦值運(yùn)算符賦值運(yùn)算符 10逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符高低整理ppt35四、運(yùn)算符四、運(yùn)算符基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符操作符操作符作用作用舉例舉例- -減、單目取負(fù)減、單目取負(fù)3-2,-43-2,-4+ +加、單目取正加、單目取正3+2,+43+2,+4* *乘乘3 3* *2 2/ /除除3/23/2% %求余或取模(求余或取模(兩側(cè)均應(yīng)為整型數(shù)兩側(cè)均應(yīng)為整型數(shù))6%46%4+加加1 1+a,a+a,a+-減減1 1-a,a-a,a-v當(dāng)兩個(gè)整數(shù)相除時(shí),其結(jié)果為整

30、數(shù),即舍去小數(shù)部分。當(dāng)兩個(gè)整數(shù)相除時(shí),其結(jié)果為整數(shù),即舍去小數(shù)部分。如:如:10/3=310/3=3;整理ppt36四、運(yùn)算符四、運(yùn)算符 賦值運(yùn)算符及賦值表達(dá)式賦值運(yùn)算符及賦值表達(dá)式簡(jiǎn)單的賦值運(yùn)算符用簡(jiǎn)單的賦值運(yùn)算符用“=”=”表示表示 屬于雙目運(yùn)算符屬于雙目運(yùn)算符 優(yōu)先級(jí)較低,僅高于逗號(hào)優(yōu)先級(jí)較低,僅高于逗號(hào) 具有右結(jié)合性具有右結(jié)合性由由“= ”= ”連接的式子稱為賦值表達(dá)式連接的式子稱為賦值表達(dá)式 功能功能是計(jì)算表達(dá)式的值再賦予左邊的變量是計(jì)算表達(dá)式的值再賦予左邊的變量 a=b=c=5a=b=c=5可理解為可理解為 a=(b=(c=5)a=(b=(c=5) 賦值表達(dá)式的值賦值表達(dá)式的值就是

31、就是“=”=”號(hào)右側(cè)的值號(hào)右側(cè)的值 x=(a=5)+(b=8)x=(a=5)+(b=8) 整理ppt37四、運(yùn)算符四、運(yùn)算符 復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符 在賦值符在賦值符“=”=”之前加上其它二目運(yùn)算符可構(gòu)成復(fù)之前加上其它二目運(yùn)算符可構(gòu)成復(fù)合賦值符。如合賦值符。如+=,-=,+=,-=,* *=,=,=,%=,=,&=,=,|=,%=,=,&=,=,|= 例如:例如: a+=5 a+=5 等價(jià)于等價(jià)于a=a+5a=a+5 x x* *=y+7 =y+7 等價(jià)于等價(jià)于x=xx=x* *(y+7)(y+7) r%=p r%=p 等價(jià)于等價(jià)于r=r%pr=r%p 能提高編譯效率

32、并產(chǎn)生質(zhì)量較高的目標(biāo)代碼能提高編譯效率并產(chǎn)生質(zhì)量較高的目標(biāo)代碼 整理ppt38自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換 相同類型數(shù)據(jù)的運(yùn)算結(jié)果,還是該類型相同類型數(shù)據(jù)的運(yùn)算結(jié)果,還是該類型 不同類型數(shù)據(jù)的運(yùn)算結(jié)果,是兩種類型中取值范圍不同類型數(shù)據(jù)的運(yùn)算結(jié)果,是兩種類型中取值范圍大的那種大的那種 doubledouble floatfloat longlong intint shortshort charchardoublefloatlongunsignedintchar,short低高整理ppt39自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換 取值取值范圍小范圍小的類型的類型賦值賦值給取值給取值范圍大范圍大的類型是的類型是安全安

33、全的的 double d; float f=1.5; d=f; double d; float f=1.5; d=f; 反之是不安全的反之是不安全的 若大類型的值在小類型能容納的范圍之內(nèi),則平安無事若大類型的值在小類型能容納的范圍之內(nèi),則平安無事 double d=1.5; float f; f=d;double d=1.5; float f; f=d;若若浮點(diǎn)數(shù)轉(zhuǎn)為整數(shù),會(huì)丟失小數(shù)部分,非四舍五入浮點(diǎn)數(shù)轉(zhuǎn)為整數(shù),會(huì)丟失小數(shù)部分,非四舍五入 int i; float f=1.64; i=f;(i int i; float f=1.64; i=f;(i的值為的值為1)1) 反之,轉(zhuǎn)換后的結(jié)果必然

34、是錯(cuò)誤的,具體結(jié)果與機(jī)器和反之,轉(zhuǎn)換后的結(jié)果必然是錯(cuò)誤的,具體結(jié)果與機(jī)器和實(shí)現(xiàn)方式有關(guān)實(shí)現(xiàn)方式有關(guān) double d=123.456789e100; float f; f=d;double d=123.456789e100; float f; f=d;整理ppt40Example: int x = 10;float y;y = (float)x;x10y?10.000000 消除從大到小的警告消除從大到小的警告x = (x = (intint)y;)y; 通過下面方式把表達(dá)式的值轉(zhuǎn)為任意類型通過下面方式把表達(dá)式的值轉(zhuǎn)為任意類型( (類型類型) )表達(dá)式表達(dá)式強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換整理ppt4

35、1Example: int total, number;float average;average = total / number;total15number2average?7.000000兩個(gè)整數(shù)運(yùn)算的結(jié)果兩個(gè)整數(shù)運(yùn)算的結(jié)果還是整數(shù),不是浮點(diǎn)數(shù)還是整數(shù),不是浮點(diǎn)數(shù)強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換整理ppt42Example: int total, number;float average;average = (float)total / number;total15number2average?7.500000強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換整理ppt43增一和減一運(yùn)算符增一和減一運(yùn)算符 n+n+,n

36、n-,+n+n,-n-n +讓參與運(yùn)算的變量加讓參與運(yùn)算的變量加1 1,-讓參與運(yùn)算的讓參與運(yùn)算的變量減變量減1 1 作為作為后綴后綴(postfix)(postfix)運(yùn)算符時(shí),先取運(yùn)算符時(shí),先取n n的值,的值,然后加然后加/ /減減1 1整理ppt44 n+n+,n n-,+n+n,-n-n +讓參與運(yùn)算的變量加讓參與運(yùn)算的變量加1 1,-讓參與運(yùn)算讓參與運(yùn)算的變量減的變量減1 1 作為作為后綴后綴( (postfixpostfix) )運(yùn)算符時(shí),先取運(yùn)算符時(shí),先取n n的值,的值,然后加然后加/ /減減1 1 作為作為前綴前綴(prefix)(prefix)運(yùn)算符時(shí),先加運(yùn)算符時(shí),先加

37、/ /減減1 1,然后取然后取n n的值的值增一和減一運(yùn)算符增一和減一運(yùn)算符整理ppt45例如例如:j = +i - 2i5等價(jià)于:等價(jià)于:j? 46增一和減一運(yùn)算符增一和減一運(yùn)算符整理ppt46例如:例如:j = i+ - 2i5等價(jià)于:等價(jià)于: j? 36增一和減一運(yùn)算符增一和減一運(yùn)算符整理ppt47例:輸出結(jié)果和變量例:輸出結(jié)果和變量a的值?的值?int a=3;printf(%d,-a+);a3等價(jià)于:等價(jià)于: printf(%d,-a);a = a + 1;4增一和減一運(yùn)算符增一和減一運(yùn)算符整理ppt48例題:例題:main() int i=5,j=5,p,q; p=(i+)+(i+

38、)+(i+); q=(+j)+(+j)+(+j); printf(%d,%d,%d,%d,p,q,i,j);解析:解析:對(duì)對(duì)p=(i+)+(i+)+(i+)p=(i+)+(i+)+(i+)應(yīng)理解為三個(gè)應(yīng)理解為三個(gè)i i相加,故相加,故P P值為值為1515。然后。然后i i再自增再自增1 1三次三次相當(dāng)于加相當(dāng)于加3 3故故i i的最后值為的最后值為8 8。而對(duì)于而對(duì)于q q的值則不然,的值則不然,q=(+j)+(+j)+(+j)q=(+j)+(+j)+(+j)應(yīng)理解為應(yīng)理解為q q先自增先自增1 1,再參與運(yùn)算,由于,再參與運(yùn)算,由于q q自增自增1 1三次后值三次后值為為8 8,三個(gè),三個(gè)8 8相加的和為相加的和為2424,j j的最后值的最后值仍為仍為8 8。整理ppt49四、運(yùn)算符四、運(yùn)算符 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 功能是把兩個(gè)表達(dá)式連接起來組成一個(gè)表達(dá)功能是把兩個(gè)表達(dá)式連接起來組成一個(gè)表達(dá)式,式, 稱為逗號(hào)表達(dá)式。稱為逗號(hào)表達(dá)式。 其一般形式為:其一般形式為: 表達(dá)式表達(dá)式1 1,表達(dá)式,表達(dá)式2 2 分別求兩個(gè)表達(dá)式的值,并以表達(dá)式分別求兩個(gè)表達(dá)式的值,并以表達(dá)式2 2的值作為整的值作為整個(gè)逗號(hào)表達(dá)式的值。個(gè)逗號(hào)表達(dá)式的值。 如:如:int a=2,b=4,c=6,x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論