c語(yǔ)言講義第二章課件_第1頁(yè)
c語(yǔ)言講義第二章課件_第2頁(yè)
c語(yǔ)言講義第二章課件_第3頁(yè)
c語(yǔ)言講義第二章課件_第4頁(yè)
c語(yǔ)言講義第二章課件_第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、第二章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式中的數(shù)據(jù)類型算術(shù)運(yùn)算符和算術(shù)表達(dá)式賦值運(yùn)算符和賦值表達(dá)式逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式本章提要:1 中的數(shù)據(jù)類型常量:在程序運(yùn)行過(guò)程中值不改變的量。如4、3、a 變量:值可以改變的量稱為變量。每一個(gè)變量應(yīng)對(duì)應(yīng)一個(gè)名字,即標(biāo)識(shí)符。C規(guī)定:標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符不能是數(shù)字。一、常量與變量 char 字符型:占用一個(gè)字節(jié),只能存放一個(gè)字符 int 整型:占用兩個(gè)字節(jié),數(shù)的范圍 3276832767float 單精度浮點(diǎn)數(shù):4 byte double 雙精度浮點(diǎn)數(shù):8 byte二、C中的基本數(shù)據(jù)類型C中只有以下四種基本的數(shù)

2、據(jù)類型字符常量:用單引號(hào)引起來(lái)的字符。如a、z、S等注意 :在C中,a與a是不同的除了這種形式的字符常量外,C還有一種特殊形式的字符常量:以反斜杠為開頭的字符序列,稱之為“轉(zhuǎn)義字符”。如前面接觸的n。說(shuō)明 :其它的轉(zhuǎn)義字符請(qǐng)參見教材1、字符型字符變量:用char關(guān)健字定義的變量。如:char c1,c2;說(shuō)明 :在字符變量中,只能存放一個(gè)字符,不能這樣對(duì)字符變量賦值: c1=ab;或 c1=”a” 而只能這樣賦值: c1=a;字符串:用雙引號(hào)引起來(lái)的字符如:“asd”、“hello” 1、字符型字符在內(nèi)存中的存儲(chǔ)形式 :字符在內(nèi)存中是以一個(gè)字節(jié)的空間來(lái)存放這個(gè)字符的ASCII碼的,即,字符在內(nèi)

3、存中也是以數(shù)的形式存在的。因此,可以對(duì)字符進(jìn)行加、減等算術(shù)運(yùn)算。例:驗(yàn)證字符在內(nèi)存中的存儲(chǔ)形式1、字符型#includevoid main( )char c1,c2;c1=a;c2=d;printf(“%c,%dn”,c1,c1);printf(“%c,%dn”,c2,c2);1、字符型整常量:一般的十進(jìn)制整數(shù)、以“”開頭的進(jìn)制整數(shù),以“”開頭的16進(jìn)制整數(shù)。整型變量:一般的整型變量為基本型,用int關(guān)健字來(lái)定義。一個(gè)int型變量在內(nèi)存中占兩個(gè)字節(jié)。2、整型除基本型外,在C中還可以用以下幾種修飾符對(duì)int型數(shù)據(jù)進(jìn)行修飾,以擴(kuò)大int型數(shù)據(jù)的范圍:long 長(zhǎng)整型 4 byteshort 短整型

4、 2byteunsinged 無(wú)符號(hào)型 2byte2、整型float:單精度浮點(diǎn)數(shù),在內(nèi)存中占4個(gè)bytedouble:雙精度浮點(diǎn)數(shù),在內(nèi)存中占8個(gè)byte3、實(shí)型三、各類數(shù)據(jù)間的混合運(yùn)算 通過(guò)前面的講解,我們已經(jīng)知道:字符型與整型在C中是通用的。而整型與實(shí)型之間又都是數(shù)據(jù)型,因此,在C中,整型、實(shí)型和字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算。在混合運(yùn)算時(shí)不同的數(shù)據(jù)先轉(zhuǎn)換成同一類型,再進(jìn)行運(yùn)算。轉(zhuǎn)換規(guī)則如下圖:三、各類數(shù)據(jù)間的混合運(yùn)算 高 doublefloat long unsigned低 int char,short注:縱向的箭頭方向只表示級(jí)別高低,并不表示必須一級(jí)級(jí)按此轉(zhuǎn)換。三、各類數(shù)據(jù)間的混合運(yùn)算

5、 例:10+a +i*f-d/e (i為int型;f為float;d為double;e為float。10+a a97=10+97(int)i*f ifloat=(float)int+float intfloat=(float)d/e edouble=(double)float+double floatdouble=(double)結(jié)論:運(yùn)算的結(jié)果為混合運(yùn)算的數(shù)據(jù)類型中最高的類型 。2算術(shù)運(yùn)算符和算術(shù)表達(dá)式 + 、-、*、/、% % 求余運(yùn)算符。其結(jié)果為兩數(shù)相除后所得余數(shù),如7%3=1。注:本運(yùn)算符要求兩側(cè)均為int型數(shù)據(jù)。1、基本的算術(shù)運(yùn)算符優(yōu)先級(jí): 如 a+b*c結(jié)合性:當(dāng)一個(gè)運(yùn)算對(duì)象兩側(cè)的

6、運(yùn)算符的優(yōu)先級(jí)別相同時(shí),C規(guī)定了各種運(yùn)算符的結(jié)合方向,即“結(jié)合性”。 如: a+b-c;變量b兩側(cè)的運(yùn)算符優(yōu)先級(jí)別相同,此時(shí)用到“結(jié)合性”的概念。2、算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性一般形式:(類型名)(表達(dá)式)功能:把一個(gè)表達(dá)式(變量)轉(zhuǎn)換成所需類型。 例:若有x=3.8;則 (int)x的值為3注1:類型名應(yīng)用()括起。注2:強(qiáng)制類型轉(zhuǎn)換只是生成一個(gè)中間數(shù)據(jù),而原有數(shù)據(jù)類型、值均不發(fā)生變化。3、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符例:強(qiáng)制類型轉(zhuǎn)換#includemain() float x=3.7,y=4.4,z; z=(int)(x+y); printf(“x=%f,y=%f,z=%dn”,x,y,z); 3、

7、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符自增運(yùn)算符為+,自減為-,作用分別是使變量的值加1或減1。具體使用時(shí)有以下兩種形式: +i、-i(使用i之前,先使i的值加1、減1) i+、i-(先將i的值取出來(lái)使用,用后再使i的值加1、減1)參看下例:若有定義 int i=10,j; 執(zhí)行 j=i+; /則 j=10;i=11; = 執(zhí)行 j=+i; /則 j=11;i=11; 4、自增、自減運(yùn)算符 +,-只能用于變量而不能用于常量或表達(dá)式。如5+,(a+b)+都是錯(cuò)誤的。+、-的結(jié)合方向?yàn)椤白杂蚁蜃蟆薄H粲姓Z(yǔ)句:-i+;則相當(dāng)于-(i+);即對(duì)于語(yǔ)句: printf(“%d”,-i+); 輸出結(jié)果為:-3 而此時(shí)i的值為

8、4; 對(duì)于i=3,j=(i+)+(i+),j的值為6。4、自增、自減運(yùn)算符 在使用+、-運(yùn)算符時(shí),應(yīng)注意以下三點(diǎn):void main( ) int i=3,j,k; k=(i+)+(i+)+(i+); printf(“k=%d,i=%d”,k,i); i=3; k=(+i)+(+i); printf(“k=%d,i=%d”,k,i); i=3; k=(+i)+(i+); printf(“k=%d,i=%d”,k,i); i=3;j=10;k=i+j; printf(“k=%d,i=%d,j=%d”,k,i,j); 4、自增、自減運(yùn)算符 3 賦值運(yùn)算符和賦值表達(dá)式賦值時(shí)的類型轉(zhuǎn)換:字符整型實(shí)型

9、(對(duì)于占內(nèi)存單元多的數(shù)據(jù)類型賦給少的時(shí),會(huì)截取;少的給多的時(shí),不變) 復(fù)合的賦值運(yùn)算符:在”=”號(hào)之前加上其它運(yùn)算符,就可構(gòu)成復(fù)合運(yùn)算符。如在”=”前加一個(gè)+”就構(gòu)成了復(fù)合運(yùn)算符“+=”。 賦值運(yùn)算符:“=”,其作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量 3賦值運(yùn)算符和賦值表達(dá)式對(duì)于復(fù)合的賦值運(yùn)算符+=,可以這樣理解: 變量+=表達(dá)式 變量=變量+(表達(dá)式) 例如:a+=3;a=a+3; y+=y*8 y=y+(y*8)其它的復(fù)合的賦值運(yùn)算符,其理解方式與+=相類似:如 a*=a+3 ?請(qǐng)考慮:若a=3,則a+=a*=a/=a的值3賦值運(yùn)算符和賦值表達(dá)式賦值表達(dá)式:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)或連接起來(lái)

10、的式子。如“a=5” 注意:賦值表達(dá)式不同于賦值語(yǔ)句。賦值語(yǔ)句的后面有分號(hào)而賦值表達(dá)式?jīng)]有。也就是說(shuō),給一個(gè)賦值表達(dá)式未尾加上分號(hào)后,就構(gòu)成了賦值語(yǔ)句。C中規(guī)定:賦值表達(dá)式是有值的,它的值就是被賦值變量的值。即表達(dá)式“a=5”的值為5。由此又可賦值:b=(a=5); 又如:a=(b=4)+(c=5);3賦值運(yùn)算符和賦值表達(dá)式a-=a+4a=a-(a+4)a=-4a*=a a=a*aa=16a+=a a=a+aa=32現(xiàn)在我們來(lái)看剛才的那個(gè)例子: 若a=3,則表達(dá)式a+=a*=a-=a+4的值? 4逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式逗號(hào)表達(dá)式的求解過(guò)程是:先求解表達(dá)式1的值,再求解表達(dá)式2的值,整個(gè)逗號(hào)表達(dá)

11、式的值是表達(dá)式2的值。如:若a=3;則表達(dá)式 a*=a+4,a*4 的值為 28*4用,將兩個(gè)表達(dá)式連接起來(lái),稱為逗號(hào)表達(dá)式。如:6+8,3+4。逗號(hào)表達(dá)式的一般形式:表達(dá)式1,表達(dá)式2。4逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式逗號(hào)表達(dá)式可擴(kuò)展為 表達(dá)式1、表達(dá)式2、表達(dá)式n 它的值為表達(dá)式n的值。 逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。因此,以下兩個(gè)表達(dá)式: 1)x=(a=3,6*3) 2) x=a=3,6*3 其意義是不同的。5關(guān)系運(yùn)算符和關(guān)系表達(dá)式所謂的“關(guān)系運(yùn)算”實(shí)際上就是比較運(yùn)算,將兩個(gè)值進(jìn)行比較,判斷比較的結(jié)果是否符合給定的條件。如“53”即為一個(gè)關(guān)系表達(dá)式。在C中,關(guān)系運(yùn)算符有,=,3的值為1,5,=.,關(guān)系運(yùn)算符賦值運(yùn)算符使用關(guān)系運(yùn)算符應(yīng)注意的問(wèn)題: 1)abc 2) f=abc ( 設(shè)a=5,b=4,c=3 )6 邏輯運(yùn)算符和邏輯表達(dá)式 C中的邏輯運(yùn)算符為&(與),|(或),!(非)。邏輯表達(dá)式:用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái),就是邏輯表達(dá)式 在其它的高級(jí)語(yǔ)言中,邏輯運(yùn)算符的兩邊要求是邏輯值(如Fox中的.T.和.F.),但C中沒(méi)有邏輯值。系統(tǒng)在進(jìn)行邏輯運(yùn)算時(shí),對(duì)“0”處理為假,而“非0”即為“真”,即所有的非零數(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)論