C程序設(shè)計(jì)-第二章課件_第1頁(yè)
C程序設(shè)計(jì)-第二章課件_第2頁(yè)
C程序設(shè)計(jì)-第二章課件_第3頁(yè)
C程序設(shè)計(jì)-第二章課件_第4頁(yè)
C程序設(shè)計(jì)-第二章課件_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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)介

C程序設(shè)計(jì)C程序設(shè)計(jì)-第二章第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式C語(yǔ)言的數(shù)據(jù)類(lèi)型常量與變量變量賦初值運(yùn)算符和表達(dá)式目的、要求:掌握C的數(shù)據(jù)類(lèi)型、運(yùn)算符尤其是賦值運(yùn)算符;掌握標(biāo)識(shí)符的命名規(guī)則。C程序設(shè)計(jì)-第二章3.1C語(yǔ)言的數(shù)據(jù)類(lèi)型C數(shù)據(jù)類(lèi)型數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型共用體類(lèi)型枚舉類(lèi)型整型字符型實(shí)型(浮點(diǎn)型)單精度型雙精度型基本類(lèi)型指針類(lèi)型構(gòu)造類(lèi)型本章討論基本類(lèi)型數(shù)據(jù)C程序設(shè)計(jì)-第二章3.2常量與變量常量:其值不隨程序的運(yùn)行而改變的量變量:其值可隨程序的運(yùn)行而改變的量C程序設(shè)計(jì)-第二章3.2.1常量常量字面常量(或直接常量):如3,4,6.5,’a’,’b’符號(hào)常量:以標(biāo)識(shí)符代表常量的符號(hào),一般用大寫(xiě)

#definePI3.1415926不管是字面常量還是符號(hào)常量,只要是常量,其值都不能被改變!C程序設(shè)計(jì)-第二章#definePI3.14main(){……PI=3.15;……}#definePI3.1415926main(){floatr=3,s,v;s=4*PI*r*r;v=4/3*PI*r*r*r;……}C程序設(shè)計(jì)-第二章3.2.2變量main(){inta,b;/*定義變量a,b為整型*/a=123;b=456;/*賦初值*/……}變量代表內(nèi)存中的一個(gè)存儲(chǔ)單元,用來(lái)存放數(shù)據(jù)。ab123456C程序設(shè)計(jì)-第二章注意:變量名和變量值的區(qū)別對(duì)應(yīng)內(nèi)存地址內(nèi)存地址中存放的內(nèi)容

變量名又稱(chēng)為標(biāo)識(shí)符,只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須是字母或下劃線。123,def,sum,_y,y&uC程序設(shè)計(jì)-第二章12.以下正確的C語(yǔ)言標(biāo)識(shí)符是__。(2005-1)A)%xB)a+bC)a123D)test!11.__是合法的用戶自定義標(biāo)識(shí)符。(2005-12)A)ah-spksB)doubleC)<ctrl>D)_myapple課堂練習(xí)11.以下合法的用戶標(biāo)識(shí)符是__。(2006-1)A)1stB)breakC)TwoWordsD)B757C程序設(shè)計(jì)-第二章(1)C語(yǔ)言中,大、小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符,變量名一般用小寫(xiě)。(2)C語(yǔ)言中,標(biāo)識(shí)符的長(zhǎng)度無(wú)統(tǒng)一規(guī)定,隨系統(tǒng)而不同。在寫(xiě)程序時(shí)盡量不要超過(guò)8個(gè)字符。(3)標(biāo)識(shí)符的選取原則:“見(jiàn)名知意”,這也是結(jié)構(gòu)化程序的特征之一。(4)C語(yǔ)言中,變量必須“先定義后引用”,以便在編譯時(shí)發(fā)現(xiàn)錯(cuò)誤。注意事項(xiàng)C程序設(shè)計(jì)-第二章3.3整形數(shù)據(jù)無(wú)符號(hào)整型:unsignedint無(wú)符號(hào)短整型:unsignedshort無(wú)符號(hào)長(zhǎng)整型:unsignedlong基本型:int表示,-32768~+32767短整型:shortint或short表示,同int。長(zhǎng)整型:longint或long表示,

-2147483648~+2147483647無(wú)符號(hào)型10進(jìn)制8進(jìn)制:0開(kāi)頭的數(shù)字序列16進(jìn)制:0x開(kāi)頭的數(shù)字序列整型常量整型變量整型數(shù)據(jù)C程序設(shè)計(jì)-第二章整型變量的定義變量的定義一般放在一個(gè)函數(shù)的開(kāi)頭部分。[例3.2]:整型變量的定義及不同類(lèi)型整型數(shù)據(jù)間的運(yùn)算main(){inta,b,c,d;unsignedu;a=12;b=-24;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d);}C程序設(shè)計(jì)-第二章[例3.3]:整型數(shù)據(jù)的溢出

整型數(shù)后加l或L表示長(zhǎng)整型,其存儲(chǔ)空間擴(kuò)大為4個(gè)字節(jié)。整數(shù)后面加u,按無(wú)符號(hào)數(shù)方式存儲(chǔ),如-12345u,則先將其轉(zhuǎn)換成補(bǔ)碼53191,然后按無(wú)符號(hào)數(shù)存儲(chǔ)。main(){inta,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}C程序設(shè)計(jì)-第二章3.4浮點(diǎn)型(實(shí)型)數(shù)據(jù)十進(jìn)制形式:由數(shù)字和小數(shù)點(diǎn)組成指數(shù)形式:123e3或123E3代表123*103E/e前必須有數(shù)字E/e后必須為整數(shù)單精度(float型):一般占4個(gè)字節(jié)(32位),6~7位有效數(shù)字雙精度(double型):一般占8個(gè)字節(jié),15或16位有效數(shù)字實(shí)型常量實(shí)型變量實(shí)型數(shù)據(jù)長(zhǎng)雙精度(longdouble型):一般占16個(gè)字節(jié),18或19位有效數(shù)字C程序設(shè)計(jì)-第二章

計(jì)算時(shí),C編譯系統(tǒng)自動(dòng)將實(shí)型常量按雙精度處理,然后根據(jù)變量類(lèi)型截取相應(yīng)的有效位數(shù)。這樣可提高計(jì)算精度,但會(huì)降低運(yùn)算速度。

若要按float型運(yùn)算,在數(shù)字后加f或F即可,如1.65f。實(shí)型數(shù)據(jù)的舍入誤差:因有效數(shù)字位數(shù)有限而產(chǎn)生的。[例3.4]:實(shí)型數(shù)據(jù)的舍入誤差main(){floata,b;a=123456.789e5;b=a+20;printf(“a=%f\nb=%f\n”,a,b);}運(yùn)行結(jié)果:a=12345678848.000000b=12345678848.000000C程序設(shè)計(jì)-第二章3.5字符型數(shù)據(jù)字符常量-單引號(hào)括起來(lái)的單個(gè)字符,如’a’,’x’等轉(zhuǎn)義字符-P48頁(yè)表3-3字符變量(char)-只能存放一個(gè)字符,在內(nèi)存中占一個(gè)字節(jié)-字符在內(nèi)存中以ASCII代碼形式存放-字符變量和整型變量可以通用C程序設(shè)計(jì)-第二章3.5.4字符串常量用雙引號(hào)括起的一個(gè)字符序列例如:"ABC"、"123"、"a"、"\n\t"“Goodmorning”等字符串常量的長(zhǎng)度:所包含的字符個(gè)數(shù)字符串常量的存儲(chǔ)方式:

\nGoodmorning\0a\0所占存儲(chǔ)單元數(shù):串長(zhǎng)度+1例如:字符串結(jié)束標(biāo)記C程序設(shè)計(jì)-第二章19.設(shè)有說(shuō)明語(yǔ)句:chara=‘\123’;則變量a__。(2005-12)A)包含一個(gè)字符B)包含兩個(gè)字符C)包含三個(gè)字符D)說(shuō)明不合法13.以下屬于合法的長(zhǎng)整型常量的是__。(2006-1)A)5876B)0LC)2E10D)”5876”課堂練習(xí)C程序設(shè)計(jì)-第二章3.6變量賦初值main(){inta,b;/*定義變量a,b為整型*/a=123;b=456;/*賦初值*/……}C語(yǔ)言中,變量賦值由賦值運(yùn)算符=來(lái)完成,方法為:

變量=表達(dá)式

賦值運(yùn)算符的結(jié)合方向:

自右至左

a=b=c=5+3;a+b=5C程序設(shè)計(jì)-第二章3.6變量賦初值(續(xù))C語(yǔ)言允許在定義變量的同時(shí)對(duì)變量初始化。如:inta=3;inta;a=3;等價(jià)inta,b,c=3;inta,b,c;c=3;等價(jià)C程序設(shè)計(jì)-第二章3.6變量賦初值(續(xù))注意:對(duì)幾個(gè)變量賦同一個(gè)初值的方法為:

inta=b=c=5;inta=5,b=5,c=5;main(){inta=b=c=5;printf(“a=%d,b=%d,c=%c”,a,b,c);}main(){inta,b,c;a=b=c=5;printf(“a=%d,b=%d,c=%c”,a,b,c);}C程序設(shè)計(jì)-第二章3.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算整型、浮點(diǎn)型和字符型數(shù)據(jù)可以混合運(yùn)算。

12+’a’+1.7*’b’混合運(yùn)算時(shí)需要進(jìn)行類(lèi)型轉(zhuǎn)換,這些轉(zhuǎn)換是由系統(tǒng)自動(dòng)進(jìn)行的。類(lèi)型轉(zhuǎn)換規(guī)則如下:doublefloatlongunsignedintChar,short低高C程序設(shè)計(jì)-第二章3.8.1C語(yǔ)言運(yùn)算符類(lèi)型種類(lèi)算術(shù)運(yùn)算符+-*/%賦值運(yùn)算符=及其擴(kuò)展賦值運(yùn)算符關(guān)系運(yùn)算符><==>=<=!=邏輯運(yùn)算符!&&||位運(yùn)算符<<>>~|^&條件運(yùn)算符?:逗號(hào)運(yùn)算符,其他運(yùn)算符*、&sizeof.->[]等C程序設(shè)計(jì)-第二章3.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.基本的算術(shù)運(yùn)算符:+加法運(yùn)算符,或正值運(yùn)算符,如4+7,+1-減法運(yùn)算符,或負(fù)值運(yùn)算符,如5-2,-4

*乘法運(yùn)算符,如3*4

/

除法運(yùn)算符,如5/4%

模運(yùn)算符,或稱(chēng)求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如7/4C程序設(shè)計(jì)-第二章說(shuō)明沒(méi)有乘方運(yùn)算符,要計(jì)算a3要寫(xiě)作a*a*a的連乘,或用標(biāo)準(zhǔn)庫(kù)函數(shù)pow(a,3)“/”的運(yùn)算對(duì)象可為各種類(lèi)型數(shù)據(jù),但是當(dāng)進(jìn)行兩個(gè)整型數(shù)據(jù)相除時(shí),運(yùn)算結(jié)果也是整型數(shù)據(jù)“%”要求運(yùn)算對(duì)象必須是整型數(shù)據(jù),功能是求兩數(shù)相除的余數(shù),余數(shù)的符號(hào)與被除數(shù)的符號(hào)相同。9/4=29.0/4=2.259%4=1-9%4=-1C程序設(shè)計(jì)-第二章2.算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性由運(yùn)算符將運(yùn)算對(duì)象連接成的式子,稱(chēng)為算術(shù)表達(dá)式。運(yùn)算符的優(yōu)先級(jí)可以參考附錄C。優(yōu)先級(jí)相同的運(yùn)算符,符合“左結(jié)合性”。a+b-ca=123;()+-++--

*/%

+-

同級(jí)同級(jí)同級(jí)

單目雙目

低C程序設(shè)計(jì)-第二章3.強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符一般形式:(類(lèi)型名)(表達(dá)式)

或(類(lèi)型名)單個(gè)變量或常量(int)a(int)2.3(float)(a+b)(float)a+b說(shuō)明:在強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),得到一個(gè)所需類(lèi)型的中間變量,原來(lái)變量的類(lèi)型未發(fā)生變化。main(){floatx;inti;i=(int)x;Printf(“x=%f,i=%d\n”,x,i);}C程序設(shè)計(jì)-第二章4.自增、自減運(yùn)算符++--是單目運(yùn)算符有前綴和后綴兩種形式前綴形式:先自增(自減)再引用;后綴形式:先引用再自增(自減);功能:前綴形式++a等價(jià)于a=a+1--a等價(jià)于a=a–1后綴形式a++等價(jià)于a=a+1a--等價(jià)于a=a–1使變量的值增1或減1C程序設(shè)計(jì)-第二章4.自增、自減運(yùn)算符(舉例)當(dāng)a=5時(shí)⑴

++a

表達(dá)式的值為6,且a=6

a++

表達(dá)式的值為5,且a=6⑶

b=++a

等價(jià)于a=a+1;b=a

表達(dá)式的值為6,且

a=6,b=6⑷

b=a++

等價(jià)于b=a;a=a+1

表達(dá)式的值為5,且

a=6,b=5

C程序設(shè)計(jì)-第二章4.自增、自減運(yùn)算符(說(shuō)明)++

和--

的運(yùn)算對(duì)象只能是變量(或運(yùn)算結(jié)果是變量的表達(dá)式),不能是常量(或運(yùn)算結(jié)果是數(shù)值的表達(dá)式)。例如:5++、(a+2)++

不合法。具有右結(jié)合性,結(jié)合方向?yàn)閺挠业阶?。例如:–a++等價(jià)于-(a++)如果有多個(gè)運(yùn)算符連續(xù)出現(xiàn)時(shí),C系統(tǒng)盡可能多的從左到右將字符組合成一個(gè)運(yùn)算符例如:i+++j

等價(jià)于(i++)+j

-i+++-j

等價(jià)于-(i++)+(-j)

C程序設(shè)計(jì)-第二章3.9賦值運(yùn)算符和賦值表達(dá)式“=”為賦值運(yùn)算符,如a=3;賦值表達(dá)式的一般形式為:

<變量><賦值運(yùn)算符><表達(dá)式>將表達(dá)式的值存入變量對(duì)應(yīng)的內(nèi)存單元中

m=12b=a-2x=(x=5)a3C程序設(shè)計(jì)-第二章3.9賦值運(yùn)算符和賦值表達(dá)式(說(shuō)明)賦值號(hào)左邊必須是變量,右邊可以是C語(yǔ)言任意合法的表達(dá)式例如:n=t+2<s合法

a+b=15不合法賦值運(yùn)算符僅優(yōu)先于“,”,且具有右結(jié)合性例如:a=b=b*c>10等價(jià)于:a=(b=((b*c)>10))賦值號(hào)與數(shù)學(xué)中的等號(hào)含義不同例如:數(shù)學(xué)中a=b等價(jià)于b=aC語(yǔ)言中a=b不等價(jià)于b=aC程序設(shè)計(jì)-第二章3.9賦值運(yùn)算符和賦值表達(dá)式(續(xù))復(fù)合運(yùn)算符:在賦值運(yùn)算符前加上其它的運(yùn)算符構(gòu)成。復(fù)合運(yùn)算符的目的:簡(jiǎn)化程序和提高編譯效率。復(fù)合賦值運(yùn)算符(右結(jié)合)

+=-=*=/=%=&=|=^=>>=<<=a+=3a=a+3等價(jià)x%=y+3x=x%(y+3)等價(jià)C程序設(shè)計(jì)-第二章3.10逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符:,逗號(hào)表達(dá)式:用逗號(hào)運(yùn)算符連接的表達(dá)式。一般形式:表達(dá)式1,表達(dá)式2,…,表達(dá)式n

逗號(hào)表達(dá)式的值為表達(dá)式n的值。逗號(hào)表達(dá)式的優(yōu)先級(jí)是最低的。如:

inta=3;a=3*5,a*4a=?C程序設(shè)計(jì)-第二章x=(a=3,6*a)賦值表達(dá)式,x=18x=a=3,6*a逗號(hào)表達(dá)式,?并不是任何地方出現(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符,如:printf(“%d,%d,%d”,a,b,c);“a,b,c”為函數(shù)的3個(gè)參數(shù),逗號(hào)為參數(shù)間的分隔符。

printf(“%d,%d,%d”,(a,b,c),b,c);“(a,b,c)”為逗號(hào)表達(dá)式,其值等于c的值。C程序設(shè)計(jì)-第二章課堂練習(xí)13.設(shè)整型變量a的值為2,下列表達(dá)式值為1的是__。(2004-1)A)a%3B)a/3C)--aD)a++14.設(shè)變量a、b、c已定義并賦值,則下列表達(dá)式中符合C語(yǔ)言語(yǔ)法規(guī)則的是__。(2004-1)A)a=5++B)a=b=c++C)a=%2D)b=a+1=216.下列式中,最終運(yùn)算結(jié)果的數(shù)據(jù)類(lèi)型不是單精度的表達(dá)式是__。A)(int)(3+3.0)B)1e-3C)(float)(3)D)(int)3.0+3.017.字符串”ab\x41\\34cd\102y”的長(zhǎng)度是__。(2004-1)A)10B)12C)14D)18C程序設(shè)計(jì)-第二章課堂練習(xí)(續(xù))18.設(shè)整型變量x,y,z

溫馨提示

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