第03章數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式tgmppt課件_第1頁(yè)
第03章數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式tgmppt課件_第2頁(yè)
第03章數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式tgmppt課件_第3頁(yè)
第03章數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式tgmppt課件_第4頁(yè)
第03章數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式tgmppt課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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、 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 第三章 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型常量與變量各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算運(yùn)算符和表達(dá)式 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 3.1 數(shù)據(jù)類(lèi)型 數(shù)據(jù)類(lèi)型總表C數(shù)據(jù)類(lèi)型根本類(lèi)型構(gòu)造類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型指針類(lèi)型空類(lèi)型空類(lèi)型void定義類(lèi)型定義類(lèi)型typedef字符類(lèi)型char枚舉類(lèi)型enum整 型實(shí)型單精度型float雙精度型double數(shù)組構(gòu)造體struct共用體union短整型short長(zhǎng)整型long整型int數(shù)據(jù)類(lèi)型決議:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 其上可進(jìn)展的操作 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 根本數(shù)據(jù)類(lèi)型根本數(shù)據(jù)類(lèi)型類(lèi)型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符

2、型實(shí)型有(signed)int 根本整型16-3276832767(signed)short 短整型16-3276832767(signed)long 長(zhǎng)整型32-21474836482147483647無(wú)16unsigned int 0655353204294967295unsigned longunsigned short16065535有float 單精度型323.4e-383.4e38有double 雙精度型641.7e-3081.7e308有char 字符型8-128127無(wú)unsigned char80255闡明:數(shù)據(jù)類(lèi)型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:

3、第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 01 11 11 11 11 11 11 11int型:最大:3276710 00 00 00 00 00 00 00最小:-3276811 11 11 11 11 11 11 11unsigned int型:最大:6553500 00 00 00 00 00 00 00最小:0根本類(lèi)型有常量和變量之分根本類(lèi)型有常量和變量之分 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 3.2 常量與變量常量常量定義:程序運(yùn)轉(zhuǎn)時(shí)其值不能改動(dòng)的量即常數(shù)定義:程序運(yùn)轉(zhuǎn)時(shí)其值不能改動(dòng)的量即常數(shù)分類(lèi)分類(lèi): :直接常量直接常量: :整型常量整型常量 10 23 0123 0 x123 10 23 012

4、3 0 x123實(shí)型常量實(shí)型常量 3.14159 3.14159字符常量字符常量 a a nn字符串常量字符串常量 “abcabc “a a符號(hào)常量符號(hào)常量: :用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量定義格式:定義格式: #define #define 符號(hào)常量符號(hào)常量 常量常量常變量常變量 const int c; const int c; 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 變量變量 概念:其值可以改動(dòng)的量概念:其值可以改動(dòng)的量 變量名與變量值變量名與變量值 變量定義的普通格式:變量定義的普通格式: 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 變量變量1,變量,變量2,變,變量量n;決議分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例:

5、int a,b,c; float data; 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 標(biāo)識(shí)符標(biāo)識(shí)符作用:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的作用:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的字符序列字符序列組成:組成:只能由字母、數(shù)字、下劃線組成,且第只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必需是字母或下劃線一個(gè)字母必需是字母或下劃線區(qū)分大小寫(xiě)區(qū)分大小寫(xiě)不能運(yùn)用關(guān)鍵字不能運(yùn)用關(guān)鍵字(是系統(tǒng)中已預(yù)定義的單是系統(tǒng)中已預(yù)定義的單詞詞)長(zhǎng)度:沒(méi)限制但不宜過(guò)長(zhǎng)長(zhǎng)度:沒(méi)限制但不宜過(guò)長(zhǎng),普通不超越普通不超越31個(gè)字符個(gè)字符命名原那么:見(jiàn)名知意命名原那么:見(jiàn)名知意例:判別以下標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date

6、3days student_name #33 lotus_1_2_3 char ab _above $1233.2 常量與變量 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while 第三章 數(shù)據(jù)

7、類(lèi)型運(yùn)算符表達(dá)式 整型數(shù)據(jù):整型常量整常數(shù)整型數(shù)據(jù):整型常量整常數(shù)三種方式:三種方式:十進(jìn)制整數(shù):由數(shù)字十進(jìn)制整數(shù):由數(shù)字0909和正負(fù)號(hào)表示和正負(fù)號(hào)表示. .如如 123,-123,-456,0456,0八進(jìn)制整數(shù):由數(shù)字八進(jìn)制整數(shù):由數(shù)字0 0開(kāi)頭開(kāi)頭, ,后跟數(shù)字后跟數(shù)字0707表示表示. .如如0123,0110123,011十六進(jìn)制整數(shù):由十六進(jìn)制整數(shù):由0 x0 x開(kāi)頭開(kāi)頭, ,后跟后跟09,af,AF09,af,AF表示表示. . 如如0 x123,0Xff0 x123,0Xff 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 整型:整型變量整型:整型變量三種方式:三種方式:根本整數(shù):根本整數(shù):i

8、ntint短整型:短整型:short int short int 或或 shortshort長(zhǎng)整型:長(zhǎng)整型:long long 或或 long intlong int符號(hào):符號(hào):有符號(hào)有符號(hào) signed int signed int 無(wú)符號(hào)無(wú)符號(hào) unsigned intunsigned int整型常量的存儲(chǔ)類(lèi)型? 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 浮點(diǎn)型數(shù)據(jù):浮點(diǎn)型數(shù)據(jù):浮點(diǎn)型常量實(shí)數(shù)或浮點(diǎn)數(shù)浮點(diǎn)型常量實(shí)數(shù)或浮點(diǎn)數(shù)表示方式:表示方式:十進(jìn)制數(shù)方式:必需有小數(shù)點(diǎn)十進(jìn)制數(shù)方式:必需有小數(shù)點(diǎn) 如如0.123, .123, 123.0, 0.0, 123.0.123, .123, 123.0, 0.0

9、, 123.指數(shù)方式:指數(shù)方式:e e或或E E之前必需有數(shù)字;指之前必需有數(shù)字;指數(shù)必需為整數(shù)如數(shù)必需為整數(shù)如12.3e3 ,123E2, 12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 1.23e4 , e-5 , 1.2E-3.5 實(shí)型常量的類(lèi)型實(shí)型常量的類(lèi)型 默許默許doubledouble型型 在實(shí)型常量后加字母在實(shí)型常量后加字母f f或或F F,以為它是,以為它是float float 型型 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 浮點(diǎn)型變量浮點(diǎn)型變量 普通4個(gè)字節(jié) float:占4字節(jié),提供7位有效數(shù)字 double:占8字節(jié),提供1516位有效數(shù)字 要留意舍

10、入誤差例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/ 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 字符型數(shù)據(jù):字符常量字符型數(shù)據(jù):字符常量定義定義: :用單引號(hào)括起來(lái)的單個(gè)普通字符或本義字符用單引號(hào)括起來(lái)的單個(gè)普通字符或本義字符. . 字符常量的值:該字符的ASCII碼值本義字符及其含義:本義字符含義nvradddtbf“xhh本義字符含義換行垂直制表回車(chē)響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符程度制表退格換頁(yè)反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如 a A ? n 101 本義字符:反斜線后面跟一個(gè)字符或

11、一個(gè)代碼值表示例 本義字符舉例(ch3_001.c,ch3_004.c) #includemain() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C); 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 字符變量 char 一個(gè)字節(jié)長(zhǎng)度 存放一個(gè)字符常量 存放的是一個(gè)字節(jié)的整數(shù)ASCII值 普通默許signed 如何輸出一個(gè)字符變量 %c %d 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 字符常量與字符串常量不同字符串常量字符串常量定義:用雙引號(hào)定義:用雙引號(hào)( (“) )括起來(lái)的字符序列。括起來(lái)的字符序列

12、。存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè)存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 00 作為字符作為字符串終了標(biāo)志串終了標(biāo)志h e l l o 0例例 字符串字符串“hellohello在內(nèi)存中在內(nèi)存中a a 0例 a“a例 空串 “0例: char ch; ch=“A; 例: char ch; ch=A; 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元.地址int a=1, b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址.內(nèi)存1-3隨機(jī)數(shù) 變量初始化變量初始化:定義時(shí)賦初值定義時(shí)賦初值 例: int a=2,b,c=4; float data=3.67; char ch=A; int

13、 x=1,y=1,z=1; int x=y=z=1;錯(cuò) 變量的運(yùn)用:先定義,后運(yùn)用變量的運(yùn)用:先定義,后運(yùn)用例1 int student; stadent=19; /Undefined symbol statent in function main 變量定義位置:普通放在函數(shù)開(kāi)頭變量定義位置:普通放在函數(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(“dat

14、a=%fn,data); 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 整型變量整型變量占字節(jié)數(shù)隨機(jī)器不同而不同占字節(jié)數(shù)隨機(jī)器不同而不同, ,普通占一個(gè)機(jī)器字普通占一個(gè)機(jī)器字shortintlongshortintlong可用可用sizeof(sizeof(類(lèi)型標(biāo)識(shí)符丈量類(lèi)型標(biāo)識(shí)符丈量實(shí)型變量實(shí)型變量floatfloat:占:占4 4字節(jié),提供字節(jié),提供7 7位有效數(shù)字位有效數(shù)字doubledouble:占:占8 8字節(jié),提供字節(jié),提供15161516位有效數(shù)字位有效數(shù)字字符型變量字符型變量字符變量存放字符字符變量存放字符ASCIIASCII碼碼charchar與與intint數(shù)據(jù)間可進(jìn)展算術(shù)運(yùn)算數(shù)據(jù)間可進(jìn)展

15、算術(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ù)組存放 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 例 /*ch3_003.c*/ #include #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; print

16、f(“total=%f,ch1=%cn,total,ch1); 宏定義變量定義輸出結(jié)果運(yùn)轉(zhuǎn)結(jié)果:total=37.50000, ch1=d 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 隱式轉(zhuǎn)換隱式轉(zhuǎn)換什么情況下發(fā)生什么情況下發(fā)生運(yùn)算轉(zhuǎn)換運(yùn)算轉(zhuǎn)換-不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí)不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換賦值轉(zhuǎn)換-把一個(gè)值賦給與其類(lèi)型不把一個(gè)值賦給與其類(lèi)型不同的變量時(shí)同的變量時(shí)輸出轉(zhuǎn)換輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸出輸出時(shí)轉(zhuǎn)換成指定的輸出格式格式函數(shù)調(diào)用轉(zhuǎn)換函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類(lèi)型不一實(shí)參與形參類(lèi)型不一致時(shí)轉(zhuǎn)換致時(shí)轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)那么運(yùn)算轉(zhuǎn)換規(guī)那么: :不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類(lèi)型

17、動(dòng)轉(zhuǎn)換成同一類(lèi)型3.3各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 doublefloatlongunsignedintchar,short低高闡明:必定的轉(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; double d; long l; 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式

18、 顯式轉(zhuǎn)換強(qiáng)迫轉(zhuǎn)換顯式轉(zhuǎn)換強(qiáng)迫轉(zhuǎn)換普通方式:類(lèi)型名表達(dá)式普通方式:類(lèi)型名表達(dá)式例例 (int)(x+y) (int)(x+y) (int)x+y (int)x+y (double)(3/2) (double)(3/2) (int)3.6 (int)3.6 闡明:強(qiáng)迫轉(zhuǎn)換得到所需類(lèi)型的中間變量,闡明:強(qiáng)迫轉(zhuǎn)換得到所需類(lèi)型的中間變量,原變量類(lèi)型不變?cè)兞款?lèi)型不變 例#include 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ā)生較高類(lèi)型向較

19、低類(lèi)型轉(zhuǎn)換時(shí)能夠發(fā)生 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 C C言語(yǔ)中有多種表達(dá)式以及與表達(dá)言語(yǔ)中有多種表達(dá)式以及與表達(dá)式相對(duì)應(yīng)的運(yùn)算符,包括算術(shù)運(yùn)算式相對(duì)應(yīng)的運(yùn)算符,包括算術(shù)運(yùn)算符與算術(shù)表達(dá)式、關(guān)系運(yùn)算符與關(guān)符與算術(shù)表達(dá)式、關(guān)系運(yùn)算符與關(guān)系表達(dá)式、邏輯運(yùn)算符與邏輯表達(dá)系表達(dá)式、邏輯運(yùn)算符與邏輯表達(dá)式,還有賦值表達(dá)式、條件表達(dá)式、式,還有賦值表達(dá)式、條件表達(dá)式、逗號(hào)表達(dá)式。逗號(hào)表達(dá)式。 3.4 運(yùn)算符和表達(dá)式 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 常量、變量、函數(shù)是最簡(jiǎn)單的表達(dá)式,常量、變量、函數(shù)是最簡(jiǎn)單的表達(dá)式,表達(dá)式加括號(hào)、用運(yùn)算符正確地銜接后表達(dá)式加括號(hào)、用運(yùn)算符正確地銜接后也是表達(dá)式。這種銜接的普通

20、規(guī)那么是:也是表達(dá)式。這種銜接的普通規(guī)那么是:表達(dá)式必需寫(xiě)在同一行上,只能運(yùn)用圓表達(dá)式必需寫(xiě)在同一行上,只能運(yùn)用圓括號(hào)且左、右括號(hào)個(gè)數(shù)要一樣,多層括括號(hào)且左、右括號(hào)個(gè)數(shù)要一樣,多層括號(hào)時(shí)內(nèi)層括號(hào)中的運(yùn)算優(yōu)先號(hào)時(shí)內(nèi)層括號(hào)中的運(yùn)算優(yōu)先 x1111如可寫(xiě)成1/(1+1/(1+x) 1/(1+1/(1+x) 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 C運(yùn)運(yùn)算算符符算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(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)算符:.

21、 -下標(biāo)運(yùn)算符:其它 :( ) - 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 運(yùn)算符功能運(yùn)算符功能與運(yùn)算量關(guān)系與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類(lèi)型要求運(yùn)算量類(lèi)型運(yùn)算符優(yōu)先級(jí)別運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)合方向結(jié)果的類(lèi)型結(jié)果的類(lèi)型學(xué)習(xí)運(yùn)算符應(yīng)留意:學(xué)習(xí)運(yùn)算符應(yīng)留意: 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和表達(dá)式根本算術(shù)運(yùn)算符:根本算術(shù)運(yùn)算符: + - + - * * / % / %結(jié)合方向:從左向右結(jié)合方向:從左向右優(yōu)先級(jí):優(yōu)先級(jí): - - - -* * / % - + - / % - + - (2) (3) (4) (2) (3) (4)闡明:闡明:“- -可為單目運(yùn)算

22、符時(shí)可為單目運(yùn)算符時(shí), ,右結(jié)合性右結(jié)合性?xún)烧麛?shù)相除,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(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 ()當(dāng)當(dāng) % 時(shí),時(shí),余數(shù)余數(shù) = 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 自增、自減運(yùn)算符自增、自減運(yùn)算符+ -+ -作用:使變量值加作用:使變量值加1 1或減或減1 1種類(lèi):種類(lèi):前置前置 +i, -i ( +i, -i (先執(zhí)行先執(zhí)行i

23、+1i+1或或i-1i-1,再運(yùn)用,再運(yùn)用i i值值后置后置 i+,i- ( i+,i- (先運(yùn)用先運(yùn)用i i值值, ,再執(zhí)行再執(zhí)行i+1i+1或或i-1i-1例例 j=3; k=+j; j=3; k=+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; /k=4,j=4/k=3,

24、j=4/4/3/c=20,a=4/c=15,a=4 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 自增、自減運(yùn)算符自增、自減運(yùn)算符+ -+ -作用:使變量值加作用:使變量值加1 1或減或減1 1種類(lèi):種類(lèi):前置前置 +i, -i ( +i, -i (先執(zhí)行先執(zhí)行i+1i+1或或i-1i-1,再運(yùn)用,再運(yùn)用i i值值后置后置 i+,i- ( i+,i- (先運(yùn)用先運(yùn)用i i值值, ,再執(zhí)行再執(zhí)行i+1i+1或或i-1i-1闡明:闡明:+ - + - 不能用于常量和表達(dá)式不能用于常量和表達(dá)式, ,如如5+5+,(a+b)+(a+b)+ -+ -結(jié)合方向:結(jié)合方向: 自右向左自右向左優(yōu)先級(jí):優(yōu)先級(jí):- + - -

25、+ - -* * / % -+ - / % -+ - (2) (3) (4) (2) (3) (4)例 -i+ -(i+) i=3; printf(“%d,-i+); /-3 例 j+k; (j+)+k;例 -i+ i=3; printf(“%d,-i+); 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 單獨(dú)作為一條語(yǔ)句,單獨(dú)作為一條語(yǔ)句,“i+;i+;和和“+i;+i;都表示都表示“i=i+1;i=i+1;,前綴格,前綴格式和后綴格式在運(yùn)用上沒(méi)有區(qū)別,式和后綴格式在運(yùn)用上沒(méi)有區(qū)別,“i-;i-;和和“-i;-i;是同樣的。是同樣的。 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 當(dāng)自增、自減運(yùn)算作為某個(gè)表達(dá)式的一個(gè)組成當(dāng)自

26、增、自減運(yùn)算作為某個(gè)表達(dá)式的一個(gè)組成部分時(shí),兩種不同格式會(huì)產(chǎn)生不同的效果部分時(shí),兩種不同格式會(huì)產(chǎn)生不同的效果 int x=3,y; y=-x+3; printf(%d %dn,x,y); int x=3,y;y=x-+3;printf(%d %dn,x,y);先執(zhí)行先執(zhí)行“x=x-1;,此時(shí),此時(shí)x的當(dāng)前值為的當(dāng)前值為2,再執(zhí)行,再執(zhí)行“y=x+3,結(jié)果是結(jié)果是x為為2、y為為5; 先執(zhí)行先執(zhí)行“y=x+3;y=x+3;,此時(shí),此時(shí)x x的當(dāng)前值為的當(dāng)前值為3 3,再執(zhí)行,再執(zhí)行“x=x-1x=x-1, ,結(jié)果是結(jié)果是x x為為2 2、y y為為6 6 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 類(lèi)型轉(zhuǎn)換

27、運(yùn)算中的自動(dòng)轉(zhuǎn)換(轉(zhuǎn)換規(guī)那么) 強(qiáng)迫轉(zhuǎn)換 賦值過(guò)程中的轉(zhuǎn)換 實(shí)型 整型 char short int long 同類(lèi)整型的unsigned signed 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 賦值運(yùn)算符和表達(dá)式賦值運(yùn)算符和表達(dá)式簡(jiǎn)單賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符符號(hào):符號(hào): = =格式:格式: 變量標(biāo)識(shí)符變量標(biāo)識(shí)符= =表達(dá)式表達(dá)式作用:將一個(gè)數(shù)據(jù)常量或表達(dá)式賦給一作用:將一個(gè)數(shù)據(jù)常量或表達(dá)式賦給一個(gè)變量個(gè)變量 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 種類(lèi):種類(lèi):+= -= += -= * *= /= %= = &= = |= /= %= = &= = |= 含義:含義: exp1 op= exp2

28、exp1 op= exp2 exp1 = exp1 op exp2 exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例例 a=3; a=3; d=func(); d=func(); c=d+2; c=d+2; 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 結(jié)合方向:自右向左優(yōu)先級(jí): 14左側(cè)必需是變量,不能是常量或表達(dá)式 賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(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.00000例 int i; i=

29、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,a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=10,c=2闡明: 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 闡明闡明: : 結(jié)合方向:自右向左結(jié)合方向:自右向左 優(yōu)先級(jí)優(yōu)先級(jí): 14: 14 左側(cè)必需是變量,不能是常量或表達(dá)式左側(cè)必需是變量,不能是常量或表達(dá)式 賦值表達(dá)式的值與變量值相等賦值表達(dá)式的值與變量值相等,且可嵌套且可嵌套賦值轉(zhuǎn)換規(guī)那么賦值轉(zhuǎn)換規(guī)那么: :使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類(lèi)型左邊變量的類(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) 第三章 數(shù)據(jù)類(lèi)型運(yùn)算符表達(dá)式 逗號(hào)運(yùn)算符和表達(dá)式逗號(hào)運(yùn)算符和表達(dá)式方式:表達(dá)式方式:表達(dá)式1,1,表達(dá)式表達(dá)式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)論