02數(shù)據(jù)類(lèi)型運(yùn)算符與表達(dá)式_第1頁(yè)
02數(shù)據(jù)類(lèi)型運(yùn)算符與表達(dá)式_第2頁(yè)
02數(shù)據(jù)類(lèi)型運(yùn)算符與表達(dá)式_第3頁(yè)
02數(shù)據(jù)類(lèi)型運(yùn)算符與表達(dá)式_第4頁(yè)
02數(shù)據(jù)類(lèi)型運(yùn)算符與表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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、課堂練習(xí)題:課堂練習(xí)題:1.c程序的基本單位是什麼?程序的基本單位是什麼?2. c程序是由什麼構(gòu)成的?程序是由什麼構(gòu)成的?。3.一個(gè)完整的一個(gè)完整的c程序至少要有什么?程序至少要有什么?函數(shù)函數(shù)一個(gè)主函數(shù)和若一個(gè)主函數(shù)和若干個(gè)函數(shù)干個(gè)函數(shù)一個(gè)主函數(shù)一個(gè)主函數(shù)上機(jī)(編程)問(wèn)題上機(jī)(編程)問(wèn)題1:一個(gè)一個(gè)c程序有而且只能有一個(gè)程序有而且只能有一個(gè)main函數(shù);函數(shù);上機(jī)問(wèn)題上機(jī)問(wèn)題2:turbo c集成編程環(huán)境有關(guān)目錄的設(shè)置,要注意集成編程環(huán)境有關(guān)目錄的設(shè)置,要注意turbo c所在的目錄;所在的目錄;(1)change dir 改成改成turbo c所在的目錄;所在的目錄;(2)options菜

2、單下的菜單下的directories可以不設(shè)置;可以不設(shè)置;(3)出現(xiàn)編譯或連接錯(cuò)誤時(shí),注意查看)出現(xiàn)編譯或連接錯(cuò)誤時(shí),注意查看turbo c 2.0編譯錯(cuò)誤信息詳解編譯錯(cuò)誤信息詳解;第二講第二講 數(shù)據(jù)類(lèi)型,運(yùn)算符與表達(dá)式數(shù)據(jù)類(lèi)型,運(yùn)算符與表達(dá)式重點(diǎn):重點(diǎn): 1. 1. 常量與變量的區(qū)別,各種數(shù)據(jù)類(lèi)型變量的定義與運(yùn)用常量與變量的區(qū)別,各種數(shù)據(jù)類(lèi)型變量的定義與運(yùn)用; 2. 2. 標(biāo)識(shí)符的命名規(guī)則。標(biāo)識(shí)符的命名規(guī)則。難點(diǎn):難點(diǎn): 自增、自減運(yùn)算。自增、自減運(yùn)算。目標(biāo)與要求:目標(biāo)與要求:學(xué)會(huì)各種數(shù)據(jù)類(lèi)型變量的定義以及各種數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。學(xué)會(huì)各種數(shù)據(jù)類(lèi)型變量的定義以及各種數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。 一個(gè)程序是由

3、操作動(dòng)作(命令)以及各命令的操作對(duì)象一個(gè)程序是由操作動(dòng)作(命令)以及各命令的操作對(duì)象-數(shù)據(jù)所組成的。數(shù)據(jù)所組成的。c語(yǔ)言的數(shù)據(jù)類(lèi)型:1.1.基本類(lèi)型基本類(lèi)型2.2.構(gòu)造類(lèi)型構(gòu)造類(lèi)型3.3.派生類(lèi)型派生類(lèi)型整型和字符型前還可以加限定詞unsigned1.1.基本類(lèi)型基本類(lèi)型整型字符型(char)實(shí)型枚舉(enum)短整型(short)整型(int)長(zhǎng)型(long)單精度(float)雙精度(double)長(zhǎng)精度(long double)3.3.派生類(lèi)型派生類(lèi)型指針類(lèi)型指針類(lèi)型空類(lèi)型(空類(lèi)型(viod)1 1基本概念基本概念 標(biāo)識(shí)符:標(biāo)識(shí)符:以字母或下劃線開(kāi)頭的字母數(shù)字串給變量或常量取的以字母或下

4、劃線開(kāi)頭的字母數(shù)字串給變量或常量取的名字。名字。 注意注意(1 1)其長(zhǎng)度不超過(guò)其長(zhǎng)度不超過(guò)3232,tubortubor c c通常前通常前3232個(gè)字符有效;個(gè)字符有效; (2 2)字母區(qū)分大小寫(xiě);)字母區(qū)分大小寫(xiě); (3 3)c c語(yǔ)言語(yǔ)言3232個(gè)保留字不能作為標(biāo)識(shí)符;個(gè)保留字不能作為標(biāo)識(shí)符;例如:例如:name,i,_heigt,begin,_address12name,i,_heigt,begin,_address12是正確的標(biāo)識(shí)符是正確的標(biāo)識(shí)符; ; 8h,b?,g.v,c-j,k 8h,b?,g.v,c-j,k* *li,fr$123,li,fr$123,均不是正確的標(biāo)識(shí)符。均

5、不是正確的標(biāo)識(shí)符。一一. .常量常量:在程序運(yùn)行過(guò)程中,其值不能改變的量。:在程序運(yùn)行過(guò)程中,其值不能改變的量。 數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體 (struct)struct)共用體共用體 (union)(union)文件類(lèi)型文件類(lèi)型 (file)(file)自定義類(lèi)型(自定義類(lèi)型(typedeftypedef)2.2.構(gòu)造類(lèi)型構(gòu)造類(lèi)型ep2_1.c 常量的特點(diǎn):常量的特點(diǎn): 1。符號(hào)常量在其作用域內(nèi)不可改變。符號(hào)常量在其作用域內(nèi)不可改變。 2。也不能對(duì)其進(jìn)行賦值。也不能對(duì)其進(jìn)行賦值。 3。給編寫(xiě)和調(diào)試程序帶來(lái)方便。給編寫(xiě)和調(diào)試程序帶來(lái)方便。常量的定義格式:常量的定義格式: #define 符號(hào)常量名稱(chēng)

6、符號(hào)常量名稱(chēng) 常量常量常量的種類(lèi):常量的種類(lèi):按表達(dá)形式可分為按表達(dá)形式可分為:直接(字面)常量直接(字面)常量和和符號(hào)常量符號(hào)常量?jī)煞N兩種例如:例如:3030,a,78.90,123e-2 a,78.90,123e-2 均為直接(字面)常量;均為直接(字面)常量; #define #define paipai 3.1415926 3.1415926 paipai為符號(hào)常量;為符號(hào)常量;按數(shù)據(jù)類(lèi)型可分為按數(shù)據(jù)類(lèi)型可分為:整型常量、實(shí)型常量、字符型常量整型常量、實(shí)型常量、字符型常量和和字符串常量字符串常量四種四種 1。整型常量:。整型常量: 十進(jìn)制數(shù)十進(jìn)制數(shù),如,如1,238,67890 #de

7、fine count 10 八進(jìn)制數(shù)八進(jìn)制數(shù),如,如0267,-0736,0261 #define oct_count 010 十六進(jìn)制數(shù),十六進(jìn)制數(shù),如如0 x328,0 x9ace,0 x7e8 #define hex_value 0 x1a2。實(shí)型常量:。實(shí)型常量: 十進(jìn)制數(shù),十進(jìn)制數(shù),由整數(shù)和小數(shù)兩部分組成(即數(shù)字與小數(shù)點(diǎn)兩由整數(shù)和小數(shù)兩部分組成(即數(shù)字與小數(shù)點(diǎn)兩 部分組成)。如部分組成)。如0.236,28.38,569.98 指數(shù)形式,指數(shù)形式,如如1.098768e+8 表示表示1.09868108 0.000126的指數(shù)形式是的指數(shù)形式是1.26e-4,表示表示1.26 10-

8、4 注意:注意:e(e)前面必須有數(shù)字,前面必須有數(shù)字,e(e)后面必須為整數(shù)。)后面必須為整數(shù)。3。字符型常量:。字符型常量: 用單引號(hào)括起來(lái)的一個(gè)字符。例如用單引號(hào)括起來(lái)的一個(gè)字符。例如a;a等。等。4。字符串常量:。字符串常量: 用雙引號(hào)括起來(lái)的若干個(gè)字符。例如用雙引號(hào)括起來(lái)的若干個(gè)字符。例如“about”;“ab”;“*”等。等。注意注意: aa和和“a a”的區(qū)別。它們?cè)谟?jì)算機(jī)中的存儲(chǔ)方式是不同的。字符串常量在的區(qū)別。它們?cè)谟?jì)算機(jī)中的存儲(chǔ)方式是不同的。字符串常量在內(nèi)存中存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在其尾部追加一個(gè)內(nèi)存中存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在其尾部追加一個(gè)字符串結(jié)束標(biāo)志字符串結(jié)束標(biāo)志0. 00. 0表

9、示表示asciiascii碼碼為為0 0的字符。它既不顯示也不會(huì)引起任何控制動(dòng)作。的字符。它既不顯示也不會(huì)引起任何控制動(dòng)作。 所以所以 “a” “a”在內(nèi)存中占用兩個(gè)字節(jié);在內(nèi)存中占用兩個(gè)字節(jié); a a 0 “china”“china”在內(nèi)存中占用六個(gè)字節(jié):在內(nèi)存中占用六個(gè)字節(jié): c h i n a 0a在內(nèi)存中占用一個(gè)字節(jié):在內(nèi)存中占用一個(gè)字節(jié): a 因?yàn)槊總€(gè)字符常量都有一個(gè)因?yàn)槊總€(gè)字符常量都有一個(gè)asciiascii值,因此值,因此字符常量字符常量可以像可以像數(shù)值數(shù)值一樣參加運(yùn)算。一樣參加運(yùn)算。例如:例如:x=a+20;x=a+20;相當(dāng)于相當(dāng)于x=65+20x=65+20。即即x x的值

10、是大寫(xiě)字母的值是大寫(xiě)字母 u y=b-6;相當(dāng)于相當(dāng)于y=66-6。即即y的值是符號(hào)的值是符號(hào) ,=,=,=,!=邏輯運(yùn)算符邏輯運(yùn)算符 !(!(非非),&(),&(與與),|(),|(或或),(),(按位異或按位異或) )位運(yùn)算符位運(yùn)算符 (),(右移右移),(),(按位非按位非),|(),|(按位或按位或),&(),&(按位與按位與) )賦值運(yùn)算符賦值運(yùn)算符= =及其擴(kuò)展及其擴(kuò)展(復(fù)合)(復(fù)合)賦值運(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)算符(順序求值運(yùn)算符),求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算

11、符sizeofsizeof強(qiáng)制類(lèi)型運(yùn)算符強(qiáng)制類(lèi)型運(yùn)算符(類(lèi)型(類(lèi)型 )( (十一十一) )分量運(yùn)算符分量運(yùn)算符.,.,( (十二十二) )下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 ( (十三十三) )自增自減運(yùn)算符自增自減運(yùn)算符+,- -+,- -( (十四十四) )其它運(yùn)算符其它運(yùn)算符( (如函數(shù)調(diào)用運(yùn)算符如函數(shù)調(diào)用運(yùn)算符( )( )等等) )四四.1.1基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符 + + 加法運(yùn)算符或正值運(yùn)算符加法運(yùn)算符或正值運(yùn)算符; ;如如3+2,+23+2,+2等等. . - - 減法運(yùn)算符或負(fù)值運(yùn)算符減法運(yùn)算符或負(fù)值運(yùn)算符; ;如如6-3,-86-3,-8等等. . * * 乘法運(yùn)算符乘法運(yùn)算符; ;

12、如如 3 3* *9 9等等. . / / 除法運(yùn)算符除法運(yùn)算符; ; 如如:5/3(=1),5/3.0(=1.66667).:5/3(=1),5/3.0(=1.66667). % % 模運(yùn)算符或稱(chēng)取余運(yùn)算符模運(yùn)算符或稱(chēng)取余運(yùn)算符; ;如如5%3(=2),87%9(=6)5%3(=2),87%9(=6)四四.2.2算術(shù)表達(dá)式算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括號(hào)將算術(shù)對(duì)象用算術(shù)運(yùn)算符和括號(hào)將算術(shù)對(duì)象( (也稱(chēng)為操作數(shù)也稱(chēng)為操作數(shù)) )連起來(lái)連起來(lái), ,使之成為符合使之成為符合c c語(yǔ)言規(guī)則的語(yǔ)言規(guī)則的式子式子. . 運(yùn)算對(duì)象包括常量運(yùn)算對(duì)象包括常量, ,變量變量, ,函數(shù)和算術(shù)表達(dá)式等函數(shù)和算術(shù)表達(dá)式

13、等. . 例如例如:a+b:a+b* *18-x/8;18-x/8;四四.3.3運(yùn)算符的優(yōu)先級(jí)與結(jié)合性運(yùn)算符的優(yōu)先級(jí)與結(jié)合性 c c語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)與結(jié)合性語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)與結(jié)合性. . 計(jì)算次序按運(yùn)算符的優(yōu)先級(jí)別由高到低依次進(jìn)行計(jì)算次序按運(yùn)算符的優(yōu)先級(jí)別由高到低依次進(jìn)行. . c c語(yǔ)言規(guī)定了運(yùn)算符的結(jié)合方向語(yǔ)言規(guī)定了運(yùn)算符的結(jié)合方向. .算術(shù)運(yùn)算符的結(jié)合方向?yàn)閺淖蟮接宜阈g(shù)運(yùn)算符的結(jié)合方向?yàn)閺淖蟮接? ,或稱(chēng)為左結(jié)合性或稱(chēng)為左結(jié)合性.(.(具體內(nèi)容見(jiàn)附錄具體內(nèi)容見(jiàn)附錄1)1)四四.4.4強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符 將一個(gè)表達(dá)式的值轉(zhuǎn)換成所需要的數(shù)據(jù)類(lèi)型將一個(gè)表達(dá)式的

14、值轉(zhuǎn)換成所需要的數(shù)據(jù)類(lèi)型. . 如如:(double)a; (int)(x+y);(float)(5:(double)a; (int)(x+y);(float)(5%3);3);四四.5.5自增自減運(yùn)算符自增自減運(yùn)算符 + +i,- -i+ +i,- -i( (在使用在使用i i之前之前, ,先使先使i i加加1 1( (或減或減1)1) ) i+ +,i-i+ +,i- - -( (在使用在使用i i之后之后, ,再使再使i i加加1 1( (或減或減1)1) )例如例如:i=5; :i=5; 則則j=+i;j=+i;其結(jié)果其結(jié)果j=6,i=6;j=6,i=6;等價(jià)于等價(jià)于i=i+1;j=i

15、;i=i+1;j=i; 則則j=i+;j=i+;其結(jié)果其結(jié)果j=5,i=6;j=5,i=6;等價(jià)于等價(jià)于j=i;i=i+1;j=i;i=i+1;注意注意:+和和- -運(yùn)算符只能用于運(yùn)算符只能用于基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型的變量,不能用于其他類(lèi)型的變的變量,不能用于其他類(lèi)型的變量及任何表達(dá)式量及任何表達(dá)式;結(jié)合方向結(jié)合方向“右右左左”如如:-i+ -(i+)例例1: 設(shè)設(shè)i的值是的值是5,則則 j=-i+;其結(jié)果其結(jié)果j=-5,i=6;j=-5,i=6;等價(jià)于等價(jià)于j=-i;i=i+1;j=-i;i=i+1; 例例2: 設(shè)設(shè)i=3;j=5;i=3;j=5;則則k=i+jk=i+j;其結(jié)果其結(jié)果 k

16、=8;i=4;j=5.k=8;i=4;j=5.等價(jià)于等價(jià)于k=i+j;i=i+1;k=i+j;i=i+1; k=i+j; k=i+j; k=(i+)+j;例例3: 設(shè)設(shè)i=3;k=i+i+i+ 等價(jià)于等價(jià)于k=(i+)+(i+)+(i+);k=(i+)+(i+)+(i+); 其結(jié)果其結(jié)果k=9;i=6; k=9;i=6; 例例4:設(shè)設(shè)i=3;k=i-i-i- 等價(jià)于等價(jià)于k=(i- -)-(i- -)-(i- -);k=(i- -)-(i- -)-(i- -); 其結(jié)果其結(jié)果k=-3;i=0;k=-3;i=0;例例5:設(shè)設(shè)i=3; k=-i+i+-i+ 等價(jià)于等價(jià)于k=-(i+)+(i+)-(

17、i+);k=-(i+)+(i+)-(i+); 其結(jié)果其結(jié)果k=-3;i=6;k=-3;i=6;注意注意:(:(1)1)c c語(yǔ)言編譯系統(tǒng)盡可能多地自左向右將若干個(gè)字符組合成語(yǔ)言編譯系統(tǒng)盡可能多地自左向右將若干個(gè)字符組合成 運(yùn)算符;運(yùn)算符; ( (2)2)運(yùn)算符運(yùn)算符+ +、- -、+、-的優(yōu)先級(jí)雖然相同,但是,只有的優(yōu)先級(jí)雖然相同,但是,只有 變量變量才可與才可與+結(jié)合結(jié)合(或(或-)進(jìn)行運(yùn)算;進(jìn)行運(yùn)算;五五. .賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值符號(hào)賦值符號(hào)”=“=“就是賦值運(yùn)算符就是賦值運(yùn)算符, ,其作用是將一個(gè)數(shù)據(jù)或表達(dá)式的值賦給一個(gè)變量其作用是將一個(gè)數(shù)據(jù)或表達(dá)式的值賦給一

18、個(gè)變量. .如果賦值運(yùn)算符兩側(cè)的類(lèi)型不一致如果賦值運(yùn)算符兩側(cè)的類(lèi)型不一致, ,但都是數(shù)值型或字符型時(shí)但都是數(shù)值型或字符型時(shí), ,在賦值時(shí)要進(jìn)行類(lèi)型轉(zhuǎn)換在賦值時(shí)要進(jìn)行類(lèi)型轉(zhuǎn)換. .實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)賦給賦給整型變量整型變量時(shí),時(shí),舍去舍去實(shí)數(shù)的實(shí)數(shù)的小數(shù)部分小數(shù)部分。 例如:例如:i i為整型變量,則為整型變量,則i=3.35;i=3.35;語(yǔ)句的執(zhí)行結(jié)果,使語(yǔ)句的執(zhí)行結(jié)果,使i i的值為的值為3.3.整型數(shù)整型數(shù)賦給賦給實(shí)型變量實(shí)型變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)的形式存儲(chǔ)到變量中。時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)的形式存儲(chǔ)到變量中。 例如:將例如:將2323賦給浮點(diǎn)數(shù)(實(shí)型)變量賦給浮點(diǎn)數(shù)(實(shí)型)變量f

19、f時(shí),即時(shí),即f=23;f=23;則此語(yǔ)句執(zhí)行的結(jié)果,則此語(yǔ)句執(zhí)行的結(jié)果, 23.00000023.000000存儲(chǔ)到實(shí)數(shù)變量存儲(chǔ)到實(shí)數(shù)變量f f中中. .字符型數(shù)據(jù)字符型數(shù)據(jù)賦給賦給整型變量整型變量時(shí)時(shí), ,將字符數(shù)據(jù)將字符數(shù)據(jù)(8(8位位) )放到整型變量放到整型變量的的低低8 8位位中中, ,此時(shí)有兩種情況此時(shí)有兩種情況: :1.1.如果如果字符為無(wú)符號(hào)的量字符為無(wú)符號(hào)的量或?qū)驅(qū)nsigned charunsigned char型變量賦值時(shí)型變量賦值時(shí), ,則將字符的則將字符的8 8位放位放到整型變量的低到整型變量的低8 8位位, ,其其高高8 8位全補(bǔ)零位全補(bǔ)零. .例如例如: :

20、把把376376賦給整型變量賦給整型變量i i時(shí)時(shí), ,則則i=i=00000000 00000000 11111110111111102.2.如果如果字符為帶符號(hào)的量字符為帶符號(hào)的量, ,且字符最高位是且字符最高位是0 0, ,則則整型變量的高整型變量的高8 8位補(bǔ)位補(bǔ)0 0; ; 若若字符最高位是字符最高位是1 1, ,則則整型變量的高整型變量的高8 8位補(bǔ)位補(bǔ)1 1; ;這稱(chēng)之為這稱(chēng)之為“符號(hào)擴(kuò)展符號(hào)擴(kuò)展”, ,這樣做的這樣做的目的是使數(shù)值保持不變目的是使數(shù)值保持不變. .將帶符號(hào)的整型數(shù)據(jù)將帶符號(hào)的整型數(shù)據(jù)(int(int型型) )賦給賦給long intlong int型變量時(shí)型變量

21、時(shí), ,要進(jìn)行符號(hào)擴(kuò)展要進(jìn)行符號(hào)擴(kuò)展. .首先首先將整型數(shù)的將整型數(shù)的1616位存放到位存放到long intlong int型變量的低型變量的低1616位中位中, ,以保持?jǐn)?shù)值不變以保持?jǐn)?shù)值不變. .1.1.如果如果intint型數(shù)據(jù)為正值型數(shù)據(jù)為正值( (符號(hào)位為符號(hào)位為0),0),則則long intlong int型變量的高型變量的高1616位全置位全置0;0;2.2.如果如果intint型數(shù)據(jù)為負(fù)值型數(shù)據(jù)為負(fù)值( (符號(hào)位為符號(hào)位為1),1),則則long intlong int型變量的高型變量的高1616位全置位全置1;1;3.3.反之反之, ,若將若將long intlong i

22、nt型數(shù)據(jù)賦給一個(gè)型數(shù)據(jù)賦給一個(gè)intint型變量時(shí)型變量時(shí), ,只將只將long intlong int型中低型中低1616位位原封不動(dòng)存放到整型變量中原封不動(dòng)存放到整型變量中. .這稱(chēng)之為截?cái)噙@稱(chēng)之為截?cái)? ,即即long intlong int型的型的高高1616位被截?cái)嗔宋槐唤財(cái)嗔? .將將unsigned intunsigned int型數(shù)據(jù)賦給型數(shù)據(jù)賦給long intlong int型變量時(shí)型變量時(shí), ,不存在符號(hào)擴(kuò)展問(wèn)題不存在符號(hào)擴(kuò)展問(wèn)題, ,只只 需將高需將高8 8位補(bǔ)位補(bǔ)0 0即可即可. .將將unsignedunsigned或非或非unsignedunsigned型數(shù)據(jù)賦

23、給長(zhǎng)度相同的型數(shù)據(jù)賦給長(zhǎng)度相同的unsignedunsigned型變量時(shí)型變量時(shí), ,是是原樣照賦原樣照賦( (連原有的符號(hào)位也作為數(shù)值一起傳送連原有的符號(hào)位也作為數(shù)值一起傳送).).六六. .復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符在賦值號(hào)在賦值號(hào)“= =”前面加上其它運(yùn)算符前面加上其它運(yùn)算符, ,就可以構(gòu)成就可以構(gòu)成復(fù)合(復(fù)合(擴(kuò)展擴(kuò)展)賦值運(yùn)算符賦值運(yùn)算符. .它專(zhuān)用于將某個(gè)變量和運(yùn)算式進(jìn)行指定的運(yùn)算后的結(jié)果賦予該變量它專(zhuān)用于將某個(gè)變量和運(yùn)算式進(jìn)行指定的運(yùn)算后的結(jié)果賦予該變量. .實(shí)際上它是一般賦值表達(dá)式的簡(jiǎn)化實(shí)際上它是一般賦值表達(dá)式的簡(jiǎn)化. .有關(guān)復(fù)合賦值運(yùn)算符的運(yùn)算對(duì)象有關(guān)復(fù)合賦值運(yùn)算符的運(yùn)算對(duì)

24、象, ,運(yùn)算規(guī)則與結(jié)果運(yùn)算規(guī)則與結(jié)果, ,結(jié)合性如下表結(jié)合性如下表: :名名稱(chēng)稱(chēng)運(yùn)算符運(yùn)算符 運(yùn)算規(guī)則運(yùn)算規(guī)則運(yùn)算運(yùn)算對(duì)象對(duì)象運(yùn)運(yùn)算算結(jié)結(jié)果果結(jié)結(jié)合合性性加賦值+=a+=b 相當(dāng) a=a+b減賦值-=a-=b 相當(dāng) a=a-b乘賦值*=a*=b 相當(dāng) a=a*b除賦值/=a/=b 相當(dāng) a=a/b數(shù)值型數(shù)值型模運(yùn)算%=a%=b 相當(dāng) a=a%b 整型整型自左向右除此之外除此之外,c,c語(yǔ)言中還有以下五種關(guān)于位運(yùn)算的復(fù)合賦值運(yùn)算符語(yǔ)言中還有以下五種關(guān)于位運(yùn)算的復(fù)合賦值運(yùn)算符: :=,&=,=,|=,&=,=,|=c c語(yǔ)言采用這種復(fù)合賦值運(yùn)算符語(yǔ)言采用這種復(fù)合賦值運(yùn)算符, ,一是為了簡(jiǎn)化程序一是

25、為了簡(jiǎn)化程序, ,使程序精練使程序精練, ,二是二是為了提高編譯效率為了提高編譯效率, ,有利于編譯有利于編譯; ;三是能產(chǎn)生較高質(zhì)量的目標(biāo)代碼三是能產(chǎn)生較高質(zhì)量的目標(biāo)代碼( (程程序序).).七七. .賦值表達(dá)式賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子。其一般形式:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子。其一般形式: 注意:注意:1.“1.“表達(dá)式表達(dá)式”也可以是一個(gè)也可以是一個(gè)”賦值表達(dá)式賦值表達(dá)式“。 如:如: a=12; a=12; a=b=c=18 a=b=c=18它等價(jià)于它等價(jià)于a=(b=(c=18);a=(b=(c=18);/ /* *從右到左結(jié)合從右

26、到左結(jié)合* */ /2.2.賦值表達(dá)式賦值表達(dá)式還可以是還可以是 “ “復(fù)合的賦值表達(dá)式復(fù)合的賦值表達(dá)式” ” 如:如:a-=a+=aa-=a+=a* *a-3a-3它等價(jià)于它等價(jià)于a=a-(a=a+aa=a-(a=a+a* *a-3);a-3);本例中不論原先本例中不論原先a a的值是多少,的值是多少,則其則其a a的結(jié)果的結(jié)果值值都是都是0 0。3.賦值運(yùn)算符按照從右到左的結(jié)合順序。賦值運(yùn)算符按照從右到左的結(jié)合順序。 在在c語(yǔ)言中,將語(yǔ)言中,將賦值表達(dá)式賦值表達(dá)式作為作為表達(dá)式表達(dá)式的一種,使賦值操作不僅可以的一種,使賦值操作不僅可以出現(xiàn)在賦值語(yǔ)句中,而且可以表達(dá)式的形式出現(xiàn)在其它語(yǔ)句中(

27、如循出現(xiàn)在賦值語(yǔ)句中,而且可以表達(dá)式的形式出現(xiàn)在其它語(yǔ)句中(如循還語(yǔ)句)。還語(yǔ)句)。八八. .逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式(逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式(test01.c)test01.c)逗號(hào)運(yùn)算符又稱(chēng)為順序求值運(yùn)算符;它將若干個(gè)表達(dá)式連接起來(lái)。逗號(hào)運(yùn)算符又稱(chēng)為順序求值運(yùn)算符;它將若干個(gè)表達(dá)式連接起來(lái)。如:如:3+53+5,a+ba+b* *9,7+x+y-z/8;9,7+x+y-z/8;等價(jià)于等價(jià)于 3+53+5;a+ba+b* *9 9;7+x+y-z/8;7+x+y-z/8; 其一般形式為:表達(dá)式其一般形式為:表達(dá)式1 1,表達(dá)式,表達(dá)式1 1,.表達(dá)式表達(dá)式i i,.表達(dá)式表達(dá)式n;n; 整個(gè)逗

28、號(hào)表達(dá)式的值整個(gè)逗號(hào)表達(dá)式的值就是就是表達(dá)式表達(dá)式n n的值的值. .例如例如:5+6,18-2,28-8;:5+6,18-2,28-8;其值就是其值就是20.20.注意注意: :下面兩個(gè)表達(dá)式的作用的差異下面兩個(gè)表達(dá)式的作用的差異: :x=(a=3,6x=(a=3,6* *5);5);它是一個(gè)它是一個(gè)賦值表達(dá)式賦值表達(dá)式, ,將將逗號(hào)表達(dá)式逗號(hào)表達(dá)式(a=3,6(a=3,6* *5)5)的結(jié)果值的結(jié)果值6 6* *5 5 賦給賦給x;x;等價(jià)于等價(jià)于 a=3;x=6a=3;x=6* *5;5;x=a=3,6x=a=3,6* *5;5;它是一個(gè)它是一個(gè)逗號(hào)表達(dá)式逗號(hào)表達(dá)式, ,包括一個(gè)包括一個(gè)

29、賦值表達(dá)式賦值表達(dá)式和和一個(gè)算術(shù)表一個(gè)算術(shù)表 達(dá)式達(dá)式.x.x和和a a的值是的值是3.3.等價(jià)于等價(jià)于 a=3;x=a;6a=3;x=a;6* *5;5;但是整個(gè)表達(dá)式的值是但是整個(gè)表達(dá)式的值是3030。由上可知:逗號(hào)表達(dá)式實(shí)際上是個(gè)復(fù)合語(yǔ)句由上可知:逗號(hào)表達(dá)式實(shí)際上是個(gè)復(fù)合語(yǔ)句 本講小結(jié)本講小結(jié) 1.c語(yǔ)言標(biāo)識(shí)符的概念及命名語(yǔ)言標(biāo)識(shí)符的概念及命名. 關(guān)鍵字關(guān)鍵字 標(biāo)識(shí)符標(biāo)識(shí)符 預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符 用戶標(biāo)識(shí)符用戶標(biāo)識(shí)符 (用戶對(duì)變量用戶對(duì)變量,符號(hào)常量符號(hào)常量,自己的函數(shù)或文件指自己的函數(shù)或文件指 針針,進(jìn)行命名進(jìn)行命名,形成用戶標(biāo)識(shí)符形成用戶標(biāo)識(shí)符.其構(gòu)成規(guī)則如下其構(gòu)成規(guī)則如下: 由

30、由26個(gè)英文字母?jìng)€(gè)英文字母,10個(gè)數(shù)字符號(hào)和一個(gè)下劃線個(gè)數(shù)字符號(hào)和一個(gè)下劃線 (63個(gè)字符的組合)組成個(gè)字符的組合)組成,且第一個(gè)字符不能是數(shù)字且第一個(gè)字符不能是數(shù)字. 大小英文字母的含義不同大小英文字母的含義不同. 標(biāo)識(shí)符中所允許包含的字符個(gè)數(shù)隨不同的標(biāo)識(shí)符中所允許包含的字符個(gè)數(shù)隨不同的 c編譯系統(tǒng)而有差異編譯系統(tǒng)而有差異,通常都可以識(shí)別前六個(gè)字符通常都可以識(shí)別前六個(gè)字符. turbo c前前32個(gè)字符有效。個(gè)字符有效。2.重點(diǎn)介紹了重點(diǎn)介紹了c語(yǔ)言的基本數(shù)據(jù)類(lèi)型語(yǔ)言的基本數(shù)據(jù)類(lèi)型: int,char,float,double以及加上限定詞以及加上限定詞short,long,unsigned

31、的情況的情況;3.c語(yǔ)言的常量,變量及其數(shù)據(jù)類(lèi)型語(yǔ)言的常量,變量及其數(shù)據(jù)類(lèi)型,變量的說(shuō)明及其初始化變量的說(shuō)明及其初始化;4.各種數(shù)據(jù)類(lèi)型的數(shù)據(jù)在混合運(yùn)算時(shí)的類(lèi)型轉(zhuǎn)換各種數(shù)據(jù)類(lèi)型的數(shù)據(jù)在混合運(yùn)算時(shí)的類(lèi)型轉(zhuǎn)換,包括表達(dá)式中的自包括表達(dá)式中的自 動(dòng)類(lèi)型轉(zhuǎn)換動(dòng)類(lèi)型轉(zhuǎn)換,強(qiáng)制類(lèi)型轉(zhuǎn)換強(qiáng)制類(lèi)型轉(zhuǎn)換,以及在賦值表達(dá)式中的類(lèi)型轉(zhuǎn)換以及在賦值表達(dá)式中的類(lèi)型轉(zhuǎn)換.5.介紹了介紹了 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式; 自增自增,自減運(yùn)算符自減運(yùn)算符; 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式; 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式.其中運(yùn)算符的結(jié)合特性:其中運(yùn)算符的結(jié)合特性: 單目單目運(yùn)算符

32、、運(yùn)算符、三目三目,雙目運(yùn)算符中的賦值運(yùn)算符,雙目運(yùn)算符中的賦值運(yùn)算符自右向左自右向左結(jié)合;結(jié)合; 雙目運(yùn)算符中,除賦值運(yùn)算符之外,都是雙目運(yùn)算符中,除賦值運(yùn)算符之外,都是自左向右自左向右結(jié)合;結(jié)合;6.字符型數(shù)據(jù)中的轉(zhuǎn)義字符,即以字符型數(shù)據(jù)中的轉(zhuǎn)義字符,即以“”開(kāi)頭的字符需要特別注意(開(kāi)頭的字符需要特別注意(p23表表2-1)“ddd” d代表代表8進(jìn)制數(shù)進(jìn)制數(shù) “xhh” h代表代表16進(jìn)制數(shù),也就是說(shuō)進(jìn)制數(shù),也就是說(shuō)“ddd” 或或“xhh” 只代表只代表單個(gè)字符單個(gè)字符。例:。例:101,x61分別對(duì)應(yīng)分別對(duì)應(yīng)a和和a。3. main() int x,y,z; x=y=z=3;prin

33、tf(n1:x=%d,y=%dn,x,y); y=x+-1;printf(2:x=%d,y=%dn,x,y); y=+x-1;printf(3:x=%d,y=%dn,x,y); y=z-+1;printf(4:z=%d,y=%dn,z,y); x=2; x*=3+2;printf(5:x=%dn,x); x*=y=z=4;printf(6:x=%dn,x); x=y=z;printf(7:x=%dn,x); z=90; x=(y=z);printf(8:x=%dn,x); 課堂練習(xí):1.x=2.5,y=4.7,a=7則x+a%3*(int)(x+y)%2/4.0=?2.設(shè)a=2,b=3,x=3

34、.5,y=2.5則(float)(a+b)/2+(int)x%(int)y=?lx3_9.clx310.ctest1.c1:x=3,y=33:x=5,y=44:z=2,y=45:x=106:x=407:x=48:x=902:x=4,y=24.若x,z均為int型變量,則執(zhí)行下列語(yǔ)句后,z的值是? x=4;z=-x*-x*-x;5.變量是在程序運(yùn)行過(guò)程中 它的三要素是6.以下標(biāo)識(shí)符組中合法的標(biāo)識(shí)符分別為:(1)b(2)d(3)a(1) a)pad b)scanf c)void d) a* p#d a10 max temp(2) a)p-h b)ccp c)hiy d) _isw abc floa

35、t int(3) a)_0123 b)del_word c)list d)keep% ssiped signed *.jer wind 1可以改變的類(lèi)型、地址和值。(1)b(2)d(3)a7.以下選項(xiàng)中合法的常量是?以下選項(xiàng)中合法的常量是?da)internet b)e_3 c)02x d)0 xfel8.以下選項(xiàng)中合法的賦值表達(dá)式是?以下選項(xiàng)中合法的賦值表達(dá)式是?ca) d=8+a+f=d+6 b)d=(a+8)+ + c) d=(8+e,e+ +,d+9) d)d=7+e+ + =d+7 dc9.若有以下的變量定義若有以下的變量定義:int a; unsigned b; long c;1)

36、.語(yǔ)句語(yǔ)句a=-2;b=a;c=b; 則則a,b,c分別是?分別是?2).語(yǔ)句語(yǔ)句a=-2; b=a;c=a; 則則a,b,c分別是?分別是?3).語(yǔ)句語(yǔ)句c=98307l; a=c;b=c;則則a,b,c分別是?分別是?4).語(yǔ)句語(yǔ)句c=98304l; a=c;b=c;則則a,b,c分別是?分別是?則則a=-2,b,c均為均為65534則則a,c均為均為-2,b為為655341 1 1 1 1 1 1 1 1 1 1 1 1 1 1 015 7 0則則a為為-32765 ,b為為32771則則a為為-32768 ,b為為327681 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 131 15 7 00 0.5).語(yǔ)句語(yǔ)句c=65539l; b=c; a=c;則則a,b,c分別是?分別是? 31 15 7 00 0.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1則則a和和b的值均為的值均為310.

溫馨提示

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