第二講 數(shù)據(jù)類型 運(yùn)算符和表達(dá)式_第1頁(yè)
第二講 數(shù)據(jù)類型 運(yùn)算符和表達(dá)式_第2頁(yè)
第二講 數(shù)據(jù)類型 運(yùn)算符和表達(dá)式_第3頁(yè)
第二講 數(shù)據(jù)類型 運(yùn)算符和表達(dá)式_第4頁(yè)
第二講 數(shù)據(jù)類型 運(yùn)算符和表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩65頁(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、1sC C語(yǔ)言發(fā)展語(yǔ)言發(fā)展sC C程序形式和程序執(zhí)行過(guò)程程序形式和程序執(zhí)行過(guò)程sC C程序的結(jié)構(gòu)程序的結(jié)構(gòu) 回顧上節(jié)課內(nèi)容回顧上節(jié)課內(nèi)容2s什么是什么是C語(yǔ)言:語(yǔ)言: 人和計(jì)算機(jī)交換信息所用的語(yǔ)言,稱為人和計(jì)算機(jī)交換信息所用的語(yǔ)言,稱為計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言。 用計(jì)算機(jī)語(yǔ)言編寫的代碼稱為用計(jì)算機(jī)語(yǔ)言編寫的代碼稱為程序程序;用高;用高級(jí)語(yǔ)言編寫的程序稱為級(jí)語(yǔ)言編寫的程序稱為源程序源程序;且源程序;且源程序必須通過(guò)必須通過(guò)編譯和連接編譯和連接后,才能被計(jì)算機(jī)執(zhí)后,才能被計(jì)算機(jī)執(zhí)行。行。 機(jī)器語(yǔ)言;0,1代碼編程 匯編語(yǔ)言;助記符編程 高級(jí)語(yǔ)言;自然語(yǔ)言編程,如C語(yǔ)言等 3sC程序的編輯、編譯、連接和

2、運(yùn)行過(guò)程:程序的編輯、編譯、連接和運(yùn)行過(guò)程:編輯編輯 編譯編譯 連接連接 運(yùn)行運(yùn)行 注:注:C程序源文件的擴(kuò)展名是程序源文件的擴(kuò)展名是 .c abc.objabc.cabc.exe輸出結(jié)果4s程序的結(jié)構(gòu)程序的結(jié)構(gòu) C C程序由函數(shù)構(gòu)成。程序由函數(shù)構(gòu)成。 一個(gè)函數(shù)由兩個(gè)部分組成:一個(gè)函數(shù)由兩個(gè)部分組成: 函數(shù)首部(函數(shù)首部(說(shuō)明部分)說(shuō)明部分) 函數(shù)名、類型、參數(shù)及類型說(shuō)明函數(shù)名、類型、參數(shù)及類型說(shuō)明 函數(shù)體函數(shù)體 變量的定義及執(zhí)行部分變量的定義及執(zhí)行部分書(shū)寫格式自由:一般用小寫字母,語(yǔ)句以分號(hào)結(jié)束,分書(shū)寫格式自由:一般用小寫字母,語(yǔ)句以分號(hào)結(jié)束,分號(hào)是語(yǔ)句的必要組成部分,一行上可以寫幾條語(yǔ)句,

3、一條號(hào)是語(yǔ)句的必要組成部分,一行上可以寫幾條語(yǔ)句,一條語(yǔ)句也可以寫在幾行上。語(yǔ)句也可以寫在幾行上。5s程序的結(jié)構(gòu)(續(xù))程序的結(jié)構(gòu)(續(xù)) C C程序總是從程序總是從mainmain函數(shù)開(kāi)始執(zhí)行,并且一定有且函數(shù)開(kāi)始執(zhí)行,并且一定有且僅有一個(gè)主函數(shù),主函數(shù)名必須是僅有一個(gè)主函數(shù),主函數(shù)名必須是mainmain。 C C語(yǔ)言本身不帶輸入輸出語(yǔ)句,必須通過(guò)調(diào)用庫(kù)語(yǔ)言本身不帶輸入輸出語(yǔ)句,必須通過(guò)調(diào)用庫(kù)函數(shù)來(lái)實(shí)現(xiàn)輸入輸出。函數(shù)來(lái)實(shí)現(xiàn)輸入輸出。 以以/ /* * * */ /之間的內(nèi)容是注釋,不影響程序之間的內(nèi)容是注釋,不影響程序的執(zhí)行,可增加程序的可讀性。的執(zhí)行,可增加程序的可讀性。6 本講內(nèi)容本講內(nèi)容

4、1.1.各種數(shù)據(jù)類型的常量與變量各種數(shù)據(jù)類型的常量與變量2.2.運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式7C C語(yǔ)言里常用的數(shù)據(jù)類型有整型、實(shí)型、字符型、語(yǔ)言里常用的數(shù)據(jù)類型有整型、實(shí)型、字符型、數(shù)組、結(jié)構(gòu)體類型、指針類型等。數(shù)據(jù)類型豐富數(shù)組、結(jié)構(gòu)體類型、指針類型等。數(shù)據(jù)類型豐富是是C C語(yǔ)言的特點(diǎn)之一。如:語(yǔ)言的特點(diǎn)之一。如:3.13.1數(shù)據(jù)類型數(shù)據(jù)類型Fint 整型整型Fchar 字符型字符型Ffloat 浮點(diǎn)型浮點(diǎn)型8例例1 1:編程:輸出編程:輸出5 5和和6 6的和與平均值(保留兩位小數(shù))。的和與平均值(保留兩位小數(shù))。 #include#include main() main()int a,b

5、,sum; int a,b,sum; / /* *定義變量定義變量a,b,suma,b,sum為整形為整形* */ / float av; float av; / /* *定義變量定義變量avav為實(shí)型為實(shí)型* */ / a=5;b=6;sum=a+b; a=5;b=6;sum=a+b; / /* *計(jì)算計(jì)算a+ba+b的值,并賦值給的值,并賦值給sumsum* */ / av=sum/2; av=sum/2; / /* *計(jì)算平均值計(jì)算平均值* */ / printf( printf(“sum=%d,av=%.2fnsum=%d,av=%.2fn”,sum,av); ,sum,av); /

6、/* *輸出輸出* */ / 結(jié)果:結(jié)果: sum=11,av=5.00sum=11,av=5.00注意注意:在處理數(shù)據(jù)和輸出數(shù)據(jù)時(shí),一定要選用合適的數(shù)據(jù):在處理數(shù)據(jù)和輸出數(shù)據(jù)時(shí),一定要選用合適的數(shù)據(jù)類型和正確的輸出格式說(shuō)明。類型和正確的輸出格式說(shuō)明。93.1.13.1.1 常量與變量常量與變量例例2 2:編寫輸出編寫輸出10001000和和100100的和與差的程序。的和與差的程序。 #include#include #define ABC 1000 #define ABC 1000 / /* *定義符號(hào)常量定義符號(hào)常量* */ / main() main()int s; int s; /

7、/* *定義變量定義變量s s為整形為整形* */ / s=ABC+100; s=ABC+100; / /* *相當(dāng)于相當(dāng)于s=1000+100s=1000+100* */ / printf( printf(“sum=%dsum=%d”,s); ,s); / /* *輸出和輸出和* */ / s=ABC-100;s=ABC-100; printf( printf(“差差=%dn=%dn”,s); ,s); / /* *輸出差輸出差* */ / 10l常量與變量概念常量:在程序運(yùn)行過(guò)程中其值不能變的量。包括直接常量和符號(hào)常量。 符號(hào)常量的定義: #define 標(biāo)識(shí)符 常量變量:程序運(yùn)行過(guò)程中其

8、值可以改變的量,系統(tǒng)為程序中的每一個(gè)變量開(kāi)辟一個(gè)存儲(chǔ)單元,如:例2中的s 11l變量名字母開(kāi)頭,后跟字母、數(shù)字和下劃線組成。C語(yǔ)言中的關(guān)鍵字不能作為變量名。l說(shuō)明 變量必須先定義后使用; 變量中存放的只能是數(shù)據(jù),而且只能是一個(gè)數(shù)據(jù),往變量中存放數(shù)據(jù)的操作稱為賦值;12 變量的“名”和變量的“值”不同,變量的“名”是該變量所代表的存儲(chǔ)單元的標(biāo)志,而變量的“值”是指存儲(chǔ)單元中的內(nèi)容。 如:int a; 執(zhí)行a=5; 執(zhí)行a=10; 定義定義a 第一次賦值第一次賦值 第二次賦值第二次賦值a的值不定 5 1013l整型常量F 基本型基本型 32768-32767F 有符號(hào)型有符號(hào)型 短整型短整型 -3

9、2768-32676F整型常量整型常量 長(zhǎng)整型長(zhǎng)整型 -231- 231-1F 無(wú)符號(hào)基本型無(wú)符號(hào)基本型 0-65535F 無(wú)符號(hào)型無(wú)符號(hào)型 無(wú)符號(hào)短整型無(wú)符號(hào)短整型 065535F F 無(wú)符號(hào)長(zhǎng)整型無(wú)符號(hào)長(zhǎng)整型 0-232-114三種形式表示:十進(jìn)制:如 123 60 0八進(jìn)制:以0開(kāi)始,如 0123十六進(jìn)制:以0 x開(kāi)始,如0 x123l整型常量15定義格式:int 變量名1=常量1,變量名2=常量2,;long 變量名1=常量1,變量名2=常量2,;如:int a,b=9; long s=1;l整型變量16 實(shí)型常量表示形式:表示形式: 小數(shù)形式 1.0 1. +12.0 -12.0 0

10、.0 指數(shù)形式 1e3 1.8e-3 -123E-6 -.1E-3 指數(shù)只能是整數(shù),而尾數(shù)則可以是整數(shù)也可以是指數(shù)只能是整數(shù),而尾數(shù)則可以是整數(shù)也可以是小數(shù)小數(shù) ,無(wú)論指數(shù)或尾數(shù)均不能省略,無(wú)論指數(shù)或尾數(shù)均不能省略例如:例如: 非法非法 實(shí)型常量的類型:默認(rèn)為實(shí)型常量的類型:默認(rèn)為型,后面加型,后面加(或(或 ),則強(qiáng)調(diào)表示該數(shù)是),則強(qiáng)調(diào)表示該數(shù)是float類型類型例如:例如:3.5 、1e2 實(shí)型數(shù)據(jù)類型實(shí)型數(shù)據(jù)類型 17實(shí)型變量1)實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式:一個(gè)實(shí)型數(shù)據(jù)一般在內(nèi)存中占4個(gè)字節(jié)(32位)。 2)實(shí)型變量的分類s實(shí)型變量分為:?jiǎn)尉?float)、雙精度(double) 。

11、18實(shí)型變量定義:實(shí)型變量定義:類型說(shuō)明符類型說(shuō)明符 變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,.例如:例如: float x,y; (x,y為單精度實(shí)型量為單精度實(shí)型量) double a,b,c; (a,b,c為雙精度實(shí)型量為雙精度實(shí)型量)說(shuō)明說(shuō)明 (1).實(shí)型常數(shù)不分單、雙精度,都按雙精度實(shí)型常數(shù)不分單、雙精度,都按雙精度double型處理。型處理。 (2).實(shí)型常量可以賦值給一個(gè)實(shí)型常量可以賦值給一個(gè)float、double、long double型變量。根據(jù)變量的類型截取實(shí)型型變量。根據(jù)變量的類型截取實(shí)型常量中相應(yīng)的有效數(shù)字。常量中相應(yīng)的有效數(shù)字。 決定分配字節(jié)數(shù)和數(shù)的

12、表示范圍合法標(biāo)識(shí)符19字符型數(shù)據(jù)類型字符型數(shù)據(jù)類型 s字符常量字符常量 單引號(hào)括起來(lái)的單個(gè)可視字符 例如:a、A 、+ 、3、 等 s轉(zhuǎn)義字符常量轉(zhuǎn)義字符常量 單引號(hào)括起來(lái)的 與可視字符組合,例如:20轉(zhuǎn)義字符轉(zhuǎn)義字符 功能功能 ASCII記號(hào)記號(hào) 轉(zhuǎn)義字符轉(zhuǎn)義字符 功功 能能 ASCII記號(hào)記號(hào) a 響鈴響鈴 BEL 反斜杠字反斜杠字? ? b 退格退格 BS 單引號(hào)字符單引號(hào)字符 f 走紙換頁(yè)走紙換頁(yè) FF “ 雙引號(hào)字符雙引號(hào)字符 n 換行換行 NL ? 問(wèn)號(hào)問(wèn)號(hào) ? r 回車回車 CR ooo 13位位8進(jìn)制數(shù)進(jìn)制數(shù) ooo t 橫向跳格橫向跳格 HT xhh 12位位16進(jìn)制數(shù)進(jìn)制數(shù)

13、 hh v 縱向跳格縱向跳格 VT21雙引號(hào)括起來(lái)的字符序列。 如How are you,0等字符串在存儲(chǔ)時(shí)末尾被自動(dòng)加上 字符0字符常量與只包含一個(gè)字符的字 符串常量的區(qū)別l字符串常量22字符串的存儲(chǔ)字符串的存儲(chǔ)C語(yǔ)言規(guī)定:在存儲(chǔ)字符串常量時(shí),由系統(tǒng)在字符串的末尾自動(dòng)加一個(gè)0作為字符串的結(jié)束標(biāo)志。注意:在源程序中書(shū)寫字符串常量時(shí),不必加結(jié)束字符0,否則畫蛇添足。 如果有一個(gè)字符串為“CHINA”,則它在內(nèi)存中的實(shí)際存儲(chǔ)如下所示:最后一個(gè)字符0是系統(tǒng)自動(dòng)加上的,它占用字節(jié)而非字節(jié)內(nèi)存空間。CHINA023綜上所述,字符常量A與字符串常量A是兩回事:(1)定界符不同:字符常量使用單引號(hào),而字符串

14、常量使用雙引號(hào); (2)字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符。(3)可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量。(4)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符數(shù)加1。增加的一個(gè)字節(jié)存放字符0(ASCII值為0),這是字符串的結(jié)束標(biāo)志。24s字符型變量中存放字符型變量中存放ASCII字符集中的任何字符集中的任何一個(gè)字符,字符變量在內(nèi)存中占一個(gè)字節(jié)。一個(gè)字符,字符變量在內(nèi)存中占一個(gè)字節(jié)。s定義格式:定義格式:s char 變量名變量名1,變量名,變量名2,; 如:如: char a,b; a=97-32;b=a+2;

15、s l字符型變量252)特性字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的ASCII碼 一個(gè)無(wú)符號(hào)整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,所以語(yǔ)言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。(1)一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。 /*程序功能:用字符形式和整數(shù)形式輸出字符變量*/ main() char ch1,ch2; ch1=a; ch2=b; printf(“ch1=%c,ch2=%cn”,ch1,ch2); printf(“ch1=%d,ch2=%dn”,ch1,ch2); 程序運(yùn)行結(jié)果: ch1=a,ch2=b ch1=97,ch2=9826基本數(shù)據(jù)類型(基本數(shù)據(jù)類型(Turbo CTurb

16、o C編譯系統(tǒng))編譯系統(tǒng))類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-3276832767(signed)short16-3276832767(signed)long32-21億21億16unsigned int06553532042億unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127無(wú)unsigned char80255說(shuō)明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:27變量的初始化:變量的初始化:

17、s 允許在說(shuō)明變量的時(shí)候?qū)ψ兞抠x初值。允許在說(shuō)明變量的時(shí)候?qū)ψ兞抠x初值。s例如:例如:int a=5,b=10+2; double x=23.568,y ; char ch1=a,ch2=66,ch3=142; s表示定義變量并對(duì)變量存儲(chǔ)單元賦值。表示定義變量并對(duì)變量存儲(chǔ)單元賦值。s錯(cuò)誤的初始化:錯(cuò)誤的初始化:s int a=3+b,b=5; s float m=n=23.16; 28 圖中橫向向左的箭頭表示必定的轉(zhuǎn)換(不必考慮其它運(yùn)算對(duì)象)。如字符數(shù)據(jù)參與運(yùn)算必定轉(zhuǎn)化為整數(shù),float型數(shù)據(jù)在運(yùn)算時(shí)一律先轉(zhuǎn)換為雙精度型,以提高運(yùn)算精度(即使是兩個(gè)float型數(shù)據(jù)相加,也先都轉(zhuǎn)換為double

18、型,然后再相加)。 (4)賦值運(yùn)算,如果賦值號(hào)“=”兩邊的數(shù)據(jù)類型不同,賦值號(hào)右邊的類型轉(zhuǎn)換為左邊的類型。這種轉(zhuǎn)換是截?cái)嘈偷霓D(zhuǎn)換,不會(huì)四舍五入。各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算:各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算:29強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換是通過(guò)類型轉(zhuǎn)換運(yùn)算符來(lái)實(shí)現(xiàn)。一般形式:(類型說(shuō)明符)表達(dá)式功能:把表達(dá)式的結(jié)果強(qiáng)制轉(zhuǎn)換為類型說(shuō)明符所表示的類型。(int)a 將a的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(int)(x+y) 將x+y的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(float)a+b 將a的內(nèi)容強(qiáng)制轉(zhuǎn)換為浮點(diǎn)數(shù),再與b相加 說(shuō)明:(1)類型說(shuō)明和表達(dá)式都需要加括號(hào)(單個(gè)變量可以不加括號(hào))(2)無(wú)論隱式轉(zhuǎn)換,強(qiáng)制轉(zhuǎn)換都是臨時(shí)轉(zhuǎn)換,不改

19、變數(shù)據(jù)本身的類型和值。30強(qiáng)制類型轉(zhuǎn)換main() float f=5.75; printf(int)f=%dn,(int)f); /* 將f的結(jié)果強(qiáng)制轉(zhuǎn)換為整型,輸出 */ printf(f=%fn,f); /* 輸出f的值 */結(jié)果:(int)f=5f=5.750000311. 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式2. 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式3. 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式4. 邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式5. 條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式6. 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式7. 不同類型數(shù)據(jù)的混

20、合運(yùn)算不同類型數(shù)據(jù)的混合運(yùn)算運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式32第一節(jié)第一節(jié) 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式s基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符s自增和自減運(yùn)算符自增和自減運(yùn)算符33算術(shù)運(yùn)算符和算術(shù)表達(dá)式sC語(yǔ)言提供了算術(shù)運(yùn)算符語(yǔ)言提供了算術(shù)運(yùn)算符(加法運(yùn)算或正號(hào)運(yùn)算符)(減法運(yùn)算或負(fù)號(hào)運(yùn)算符) *(乘法運(yùn)算符)(除法運(yùn)算符)% (求余運(yùn)算符,或稱模運(yùn)算符)34算術(shù)運(yùn)算符和算術(shù)表達(dá)式s說(shuō)明:說(shuō)明: 兩個(gè)整數(shù)相除結(jié)果為整數(shù),如8/5的結(jié)果為1,舍去小數(shù)部分。 如果參加運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為實(shí)數(shù),則結(jié)果是double型。 求余運(yùn)算要求%兩側(cè)都是整型數(shù)據(jù)。35算術(shù)運(yùn)算符和算術(shù)表達(dá)式s算術(shù)表

21、達(dá)式算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算量連接起來(lái)的式子稱為算術(shù)表達(dá)式。如:-2+19.0/2*5%8s運(yùn)算符有優(yōu)先級(jí)和結(jié)合性,在求表達(dá)式的運(yùn)算符有優(yōu)先級(jí)和結(jié)合性,在求表達(dá)式的值時(shí),要按照優(yōu)先級(jí)的高低依次計(jì)算,如值時(shí),要按照優(yōu)先級(jí)的高低依次計(jì)算,如果運(yùn)算符兩側(cè)優(yōu)先級(jí)相同,則按規(guī)定的結(jié)果運(yùn)算符兩側(cè)優(yōu)先級(jí)相同,則按規(guī)定的結(jié)合方向進(jìn)行。合方向進(jìn)行。s結(jié)合性結(jié)合性從左到右從左到右36算術(shù)運(yùn)算符和算術(shù)表達(dá)式s優(yōu)先級(jí)優(yōu)先級(jí)- - (負(fù)號(hào)運(yùn)算符)(負(fù)號(hào)運(yùn)算符)* * / % / % + - + - (加減運(yùn)算符)(加減運(yùn)算符) 我最高! 我最低!37自增和自減運(yùn)算符s+運(yùn)算符的作用是使變量的值增運(yùn)算符的作用

22、是使變量的值增1 1。s-運(yùn)算符的作用是使變量的值減運(yùn)算符的作用是使變量的值減1 1。s常見(jiàn)的用法有:常見(jiàn)的用法有:+i , -i 在使用i前,先使i的值加1i+ , i- 在使用i后,先使i的值加138例題例題s已知已知 i=5j=i+; j=? i=? j=+i; j=? i=? 566639自增和自減運(yùn)算符注意:注意: 1 自增和自減運(yùn)算符只能用于變量,表達(dá)式(x+y)+ 是不合法的。2 自增和自減運(yùn)算符的結(jié)合方向是“自右向左”。如表達(dá)式 -i+ 等價(jià)于 -(i+)。3具有一定的二義性,使用時(shí)請(qǐng)慎重! 如:設(shè)i原值是3,則(i+)+(i+)+(i+)的值可能是9,也可能是1240 回顧上

23、節(jié)課內(nèi)容回顧上節(jié)課內(nèi)容各種數(shù)據(jù)類型的常量與變量各種數(shù)據(jù)類型的常量與變量運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式41例例 int i; i=2.56; 結(jié)果結(jié)果i=2例例 float f; int i; i=10; f=i;f=10.0計(jì)算計(jì)算a=(b=10)/(c=2) 值值表達(dá)式值5,a=5,b=10,c=242算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和表達(dá)式l基本算術(shù)運(yùn)算符:基本算術(shù)運(yùn)算符: + - + - * * / % / %結(jié)合方向:從左向右結(jié)合方向:從左向右優(yōu)先級(jí):優(yōu)先級(jí): - - * * / % / % + -+ -說(shuō)明:說(shuō)明: “- -”可為單目運(yùn)算符時(shí)可為單目運(yùn)算符時(shí), ,右結(jié)合性右結(jié)合性兩整數(shù)相除

24、,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()43l自增、自減運(yùn)算符自增、自減運(yùn)算符+ -+ -作用:使變量值加作用:使變量值加1 1或減或減1 1種類:種類: 前置前置 +i, -i (+i, -i (先執(zhí)行先執(zhí)行i i+1+1或或i-1i-1,再使用再使用i i值)值) 后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再執(zhí)行再執(zhí)行i i+1+1或或i-1i-1)例例 j=3; k=+j; j=3; k=+

25、j; j=3; k=j+; j=3; k=j+; j=3; printf( j=3; printf(“%d%d”,+j); ,+j); j=3; printf( j=3; printf(“%d%d”,j+); ,j+); a=3;b=5;c=(+a) a=3;b=5;c=(+a)* *b; b; a=3;b=5;c=(a+) a=3;b=5;c=(a+)* *b;b; l說(shuō)明:說(shuō)明:1.1.+ - + - 不能用于常量和表達(dá)式不能用于常量和表達(dá)式, ,如如5+5+,( (a+b)+a+b)+2.2.+ -+ -結(jié)合方向:結(jié)合方向: 自右向左自右向左3.3.優(yōu)先級(jí):優(yōu)先級(jí):- + - - + -

26、 -* * / % / % -+ -+ - 例例 - -i+ i+ -(i+) -(i+) i=3; printf( i=3; printf(“%d%d”,-i+); ,-i+); -3 -3 441. 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式2. 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式3. 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式4. 邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式5. 條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式6. 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式45第二節(jié)第二節(jié) 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符賦

27、值表達(dá)式賦值運(yùn)算符的結(jié)合性46賦值運(yùn)算符簡(jiǎn)單的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符=+ =-=*=%=/=47賦值運(yùn)算符s簡(jiǎn)單的賦值就是把一個(gè)表達(dá)式的值賦給一簡(jiǎn)單的賦值就是把一個(gè)表達(dá)式的值賦給一個(gè)變量個(gè)變量。 例如: i = 5; i = j + 1;48 i + = 2 等價(jià)于等價(jià)于 i = i + 2 a * = b + 5 等價(jià)于等價(jià)于 a = a * (b + 5) x% = 3 等價(jià)于等價(jià)于 x = x%3賦值運(yùn)算符s在賦值符在賦值符“=”之前加上其它運(yùn)算符,可以之前加上其它運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。構(gòu)成復(fù)合的運(yùn)算符。s例如:例如: C語(yǔ)言采用這種復(fù)合運(yùn)算符,一是為了簡(jiǎn)化程序,使程序精煉;

28、二是為了提高編譯效率。49賦值表達(dá)式s由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式。來(lái)的式子稱為賦值表達(dá)式。s形式:形式: 變量變量 賦值運(yùn)算符賦值運(yùn)算符 表達(dá)式表達(dá)式 例如:例如:x=3;y=x+3 。s對(duì)賦值表達(dá)式求解的過(guò)程是:將賦值運(yùn)算符右對(duì)賦值表達(dá)式求解的過(guò)程是:將賦值運(yùn)算符右側(cè)的表達(dá)式的值賦給左側(cè)的變量。賦值表達(dá)式側(cè)的表達(dá)式的值賦給左側(cè)的變量。賦值表達(dá)式的值就是被賦值的變量的值。的值就是被賦值的變量的值。50s結(jié)合性 例如: a=(b=8) 賦值運(yùn)算符的結(jié)合性賦值運(yùn)算符的結(jié)合性從右向左從右向左51s下面程序段的輸出結(jié)果是:in

29、t a=5,b=5;a%=b+=a+=(a+b);printf(“a=%d,b=%d”,a,b); 練習(xí)練習(xí)1:a=15,b=2052s下面程序段的輸出結(jié)果是:int a=10,b=10;a+=b-=a*=b/=3;printf(“a=%d,b=%d”,a,b); 練習(xí)練習(xí)2:a=3,b=-2753第三節(jié)第三節(jié) 關(guān)系運(yùn)算符和關(guān)系表達(dá)式s關(guān)系運(yùn)算符關(guān)系運(yùn)算符 優(yōu)先級(jí)優(yōu)先級(jí) = = !=高高低低54關(guān)系運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符高高低低55關(guān)系表達(dá)式概念 用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式或

30、邏輯表達(dá)表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式或邏輯表達(dá)式式)連接起來(lái)的式子,稱為關(guān)系表達(dá)式。連接起來(lái)的式子,稱為關(guān)系表達(dá)式。s關(guān)系表達(dá)式的值為邏輯值關(guān)系表達(dá)式的值為邏輯值“真真”或或“假假”,以,以1代表代表“真真”,以,以0代表代表“假假”。s例如例如 關(guān)系表達(dá)式關(guān)系表達(dá)式“8=4”的值為的值為“假假”,表達(dá)式的,表達(dá)式的值為值為0。 關(guān)系表達(dá)式關(guān)系表達(dá)式“50”的值為的值為“真真”,表達(dá)式的,表達(dá)式的值為值為1。56關(guān)系運(yùn)算符的結(jié)合性s結(jié)合性結(jié)合性從左向右從左向右57第四節(jié)第四節(jié) 邏輯運(yùn)算符和邏輯表達(dá)式s邏輯運(yùn)算符邏輯運(yùn)算符 優(yōu)先級(jí)優(yōu)先級(jí) ! (邏輯非邏輯非) & (邏輯與邏輯與) | (邏輯或邏輯或) 58邏輯運(yùn)算的真值表 a b! a! ba&ba|b真真真真假假假假 真真 真真真真假假假假真真 假假 真真假假真真真真假假 假假 真真假假假假真真真真 假假 假假 59 ?。ǚ牵。ǚ牵?高高 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 & | 賦值運(yùn)算符賦值運(yùn)算符 低低邏輯運(yùn)算符例如:xy& mc 等效于(xy) & (mc)60邏輯表達(dá)式s邏輯表達(dá)式的值是一個(gè)邏輯量邏輯表達(dá)式的值是一個(gè)邏輯量“真真”或或“假假”。C語(yǔ)言編譯系統(tǒng)在給出邏輯結(jié)果時(shí)

溫馨提示

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