c語言程序設(shè)計與項目實踐第章_第1頁
c語言程序設(shè)計與項目實踐第章_第2頁
c語言程序設(shè)計與項目實踐第章_第3頁
c語言程序設(shè)計與項目實踐第章_第4頁
c語言程序設(shè)計與項目實踐第章_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章運算符和表達(dá)式本章的學(xué)習(xí)重點 ◆ 運算符與表達(dá)式的分類 ◆ 算術(shù)運算符與算術(shù)表達(dá)式 ◆ 邏輯運算符與邏輯表達(dá)式 ◆ 關(guān)系運算符與關(guān)系表達(dá)式 ◆ 位運算符 ◆ 條件運算符 ◆ 強(qiáng)制類型轉(zhuǎn)換

3.1運算符與表達(dá)式的分類運算符的分類:可按照操作對象數(shù)目分類,例如一元運算符、二元運算符和三元運算符等,也可按照功能分類,例如算術(shù)運算符、邏輯運算符、關(guān)系運算符等。表達(dá)式的分類:主要按照運算符的不同功能進(jìn)行分類,例如算術(shù)表達(dá)式、邏輯表達(dá)式、關(guān)系表達(dá)式等。3.1.1運算符的分類按照操作對象的多少,運算符主要可分為一元運算符、二元運算符和三元運算符。例如負(fù)號(-)為一元運算符,加號(+)為二元運算符等。除了這些基本運算符之外,C語言還支持復(fù)合運算符以及sizeof運算符等。按照功能分類,運算符可分為:算術(shù)運算符、賦值運算符、邏輯運算符、關(guān)系運算符、條件運算符、位運算符、取字節(jié)數(shù)運算符等。

3.1.1運算符的分類表3-1運算符分類

一元運算符二元運算符三元運算符符號功能描述符號功能描述符號功能描述+-正負(fù)號-減號?:條件運算符++自增運算符+加號--自減運算符*乘號!非運算符/除號~取反運算符%求余運算符*指針運算符<<左移運算符>>右移運算符&&與運算符||或運算符^異或運算符>大于號<小于號>=大于等于<=小于等于!=不等于==等于=賦值運算符&位與運算符|位或運算符3.1.2表達(dá)式的分類表達(dá)式是一種有值的語法結(jié)構(gòu),它一般由運算符將變量、常量或函數(shù)返回值結(jié)合而成。表達(dá)式按照運算符的不同進(jìn)行分類,主要有:算術(shù)表達(dá)式、邏輯表達(dá)式和關(guān)系表達(dá)式等。

1.算術(shù)表達(dá)式一般由算術(shù)運算符和控制運算優(yōu)先級的括號連接而成,例如:3.14159*r,(a+b)/c+d*m.其中,符號’*’表示算術(shù)運算“乘”,’/’表示算術(shù)運算“除”。

2.賦值表達(dá)式一般由賦值運算符、算術(shù)運算符和操作對象組合而成。一般表達(dá)形式為:變量=表達(dá)式或數(shù)值或者變量1=變量2=變量3=表達(dá)式或數(shù)值。

3.1.2表達(dá)式的分類3.邏輯表達(dá)式一般由邏輯運算符和操作對象組合而成,例如:a&&b,c||d&&m,!x等。

4.關(guān)系表達(dá)式一般由關(guān)系運算符和操作對象組合而成,例如:a>b,c<=d,m==n等。

5.逗號表達(dá)式逗號表達(dá)式由其他表達(dá)式和逗號運算符組成,例如:a=12,b=100,c=a+b6.復(fù)合表達(dá)式復(fù)合表達(dá)式是幾種簡單表達(dá)式的組合,是比較復(fù)雜的表達(dá)式,例如:num=12+b+(c=35/(d=7))3.2運算符的優(yōu)先級與結(jié)合性當(dāng)不同的運算符放在一個表達(dá)式中進(jìn)行混合運算時,運算順序是根據(jù)運算符的優(yōu)先級而定的,優(yōu)先級高的運算符先運算,優(yōu)先級低的運算符后運算。在同一表達(dá)式中,如果各運算符有相同的優(yōu)先級,運算順序是從左向右,還是從右向左,是由運算符的結(jié)合性決定的。所謂結(jié)合性是指運算符可以和左邊的表達(dá)式結(jié)合,也可以和右邊的表達(dá)式結(jié)合。3.2運算符的優(yōu)先級與結(jié)合性表3-2運算符優(yōu)先級與結(jié)合性優(yōu)先級運算符解釋結(jié)合方式最高()[]->.括號(函數(shù)等),數(shù)組,兩種結(jié)構(gòu)成員訪問由左向右!~++--+-非,按位取反,自增,自減,正負(fù)號由右向左*&(類型)sizeof解引用(指針),取地址,類型轉(zhuǎn)換,字節(jié)大小*/%乘,除,模除由左向右+-加,減由左向右<<>>左移,右移由左向右<<=>=>小于,小于等于,大于等于,大于由左向右==!=等于,不等于由左向右&按位與由左向右^按位異或由左向右|按位或由左向右&&邏輯與由左向右||邏輯或由左向右?:條件由右向左=+=-=*=/=賦值由右向左&=^=|=<<=>>=最低,逗號(順序)由左向右3.2運算符的優(yōu)先級與結(jié)合性范例3.1PriorityAndCombine.c這里使用多運算符的表達(dá)式演示不同優(yōu)先級的運算符組合運算所產(chǎn)生的結(jié)果。程序定義變量a,b,c,并使用復(fù)合賦值運算符+=驗證復(fù)合賦值運算符的功能。

分析:查看代碼:由于賦值是自右至左的右結(jié)合性,因此先計算賦值號右邊的表達(dá)式a+c*10,結(jié)果為210,然后將結(jié)果賦給b。3.3賦值運算符與賦值表達(dá)式C語言規(guī)定,任何變量都要先定義后使用,并且在引用其數(shù)值前一定要進(jìn)行賦值操作,而此時就需要用到賦值運算符“=”。1.簡單賦值表達(dá)式賦值表達(dá)式使用賦值號表示,賦值號左邊的對象叫做左值(l-value),賦值號左邊只能是變量。a+=5等價于a=a+5若a=20,執(zhí)行后a+=5后,a的值變?yōu)?53.3賦值值運算符與賦賦值表達(dá)式范例3.2(LvalueAndRvalue.c)將將int型變變量的值賦給給short型變量,查查看賦值后的的結(jié)果。為表表述方便,程程序使用十六六進(jìn)制值0x12345,接收變量量為short型。2.連續(xù)賦值值表達(dá)式有時需要對幾幾個變量賦予予同一個值,,這時可以使使用連續(xù)賦值值表達(dá)式,例例如:inti,j,k;i=j=k=10;由于賦值運算算符是右結(jié)合合性,因此程程序執(zhí)行順序序為:k=10j=ki=j3.3賦值值運算符與賦賦值表達(dá)式3.復(fù)合賦值值表達(dá)式復(fù)合賦值表達(dá)達(dá)式由賦值運運算符、算術(shù)術(shù)運算符或邏邏輯運算符以以及操作對象象構(gòu)成。例如如,表達(dá)式a+=10,它等價價于:a=a+10。范例3.3(DAssignmentOperator.c)使用用復(fù)合賦值運運算符進(jìn)行算算術(shù)和賦值操操作。程序使使用*=和+=分別對變變量m和n作作賦值運算,,驗證在同一一表達(dá)式中兩兩者之間的關(guān)關(guān)系。注意:在工程程應(yīng)用中,應(yīng)應(yīng)盡量避免使使用這些簡化化的復(fù)合賦值值運算符,原原因有兩點::一是編碼時時容易出錯,,二是不便于于其他程序員員閱讀。3.4算術(shù)術(shù)運算符與算算術(shù)表達(dá)式C語言除了提提供簡單的加加減乘除四則則運算符外,,還提供了模模除(%)、、自增(++)和自減((--)等幾幾種特殊的算算術(shù)運算符。。模除運算符((%)用于求求兩個整數(shù)相相除的余數(shù)。。自增(++))自減(--)運算符是是C語言所特特有的運算符符,在工程中中應(yīng)用非常頻頻繁。只能能用于單個變變量。3.4.1算算術(shù)運算算符與數(shù)據(jù)類類型C語言中,除除運算符用’’/’代替,,乘運算符用用’*’代替替,并且’*’不能省略略(如x*y不能省略為為xy)。范例3.4(ComputeOperatorType.c)程序序使用輸出函函數(shù)printf驗證兩兩種不同數(shù)據(jù)據(jù)類型進(jìn)行算算術(shù)除操作的的結(jié)果,分析析浮點型數(shù)據(jù)據(jù)作算術(shù)運算算的精度。C語言中,兩兩個整型量作作算術(shù)運算,,其結(jié)果仍為為整型,例如如,算式:1/2的值取取商中的整數(shù)數(shù)部分0。注意:0不能能作為除數(shù),,否則程序運運行時將崩潰潰。3.4.1算算術(shù)運算算符與數(shù)據(jù)類類型實訓(xùn)3.1———計算圓柱柱體體積有一長為50cm,寬為為30cm的的長方形紙張張,編寫程序序,計算將該該紙張卷成圓圓筒時的體積積,要求精確確到小數(shù)點后后6位,圓周周率取3.141592。紙張卷成圓筒筒的方法有兩兩種,一種是是以長50cm作高,寬寬30cm作作底,另一種種是以寬30cm作高,,長50cm作底。這里里使用第二種種方案。使用周長50cm計算半半徑r,實現(xiàn)現(xiàn)語句:r=50.0/(2*pi);根據(jù)數(shù)學(xué)公式式:V=S*H,計算體體積V=pi*r*r*h,其其中h=30。采用數(shù)據(jù)類型型double型以滿足足精度要求。。3.4.2模模除運算算符模除運算符((%):用于于求兩個整數(shù)數(shù)相除的余數(shù)數(shù)。模除運算算只能用于整整數(shù)間求余運運算,不可用用于浮點數(shù)。。并且0不能能作為除數(shù)。。例如:7%3結(jié)果為1,而7.5%5將使程程序編譯出錯錯。C語言規(guī)定,,%兩邊都為為正整數(shù),結(jié)結(jié)果為正整數(shù)數(shù)或零;%兩兩邊都是負(fù)整整數(shù),結(jié)果為為負(fù)整數(shù)數(shù)或或零。%左邊邊的操作數(shù)是是正整數(shù),結(jié)結(jié)果為正整數(shù)數(shù)或零;%左左邊的操作數(shù)數(shù)是負(fù)整數(shù),,結(jié)果為負(fù)整整數(shù)或零,例例如:17%4=117%-4=1-17%4=-1-17%-4=-13.4.2模模除運算算符范例3.4(Months2Year.c)鍵鍵盤輸入總總月數(shù),使用用%運算符和和/運算符將將輸入的月數(shù)數(shù)換算成年數(shù)數(shù)和月數(shù)的形形式,如25個月,表示示2年零1個個月。模除運算,例例如m%n,,可以使用公公式m–(m/n)*n代替,例例如算式中-17%4,,可以使用算算式:-17%4=-17––(-17/4)*4=-1注意:/和%%的區(qū)別,55/3=1,,5%3=223.4.3自自增自減減運算符自增(++))自減(--)運算符::只能用于變量量,不能用于于表達(dá)式或其其他C語言對對象。下面的的操作均錯誤誤:(b+c)++;--(m-1);范例3.5SelfAddSelfReduce.c程序序定義4個變量量a,b,c,,d。對對部分變變量執(zhí)行行自增自自減操作作,驗證證左運算算和右運運算的區(qū)區(qū)別,并并進(jìn)一步步分析自自增自減減運算符符與算術(shù)術(shù)運算符符的優(yōu)先先級。范例3.5SelfAddSelfReduce2.c定定義變量量a,分分別執(zhí)行行單次和和多次自自增運算算,輸出出結(jié)果,,分析同同一表達(dá)達(dá)式中兩兩次和三三次自增增操作中中左運算算和右運運算的差差別。3.5關(guān)關(guān)系系運算符符與關(guān)系系表達(dá)式式關(guān)系表達(dá)達(dá)式的值值:真((1)和和假(0)。例如:表表達(dá)式10>3的值為為1,即即為真,,而表達(dá)達(dá)式-1>0的的值為0,即為為假。范例3.6RelationOperater.c程程序分分析關(guān)系系運算符符的優(yōu)先先級,驗驗證在同同一表達(dá)達(dá)式中有有算術(shù)運運算符和和關(guān)系運運算符時時程序執(zhí)執(zhí)行順序序,分析析關(guān)系運運算符的的結(jié)合性性,分析析關(guān)系表表達(dá)式的的真和假假。注意:判判斷兩個個對象是是否相等等,使用用運算符符==或或!=,,一定與與賦值運運算符=區(qū)分開開來。3.6邏邏輯輯運算算符與與邏輯輯表達(dá)達(dá)式C語言言中提提供了了三種種邏輯輯運算算符::邏輯與與(&&))、邏邏輯或或(||))和邏邏輯非非(!)。。前兩種種為雙雙目運運算符符,具具有左左結(jié)合合性。。后一一種為為單目目運算算符,,具有有右結(jié)結(jié)合性性。邏輯表表達(dá)式式的值值:““真((1))”和和“假假(0)””兩種種。邏邏輯表表達(dá)式式中總總是將將0作作為假假,非非0作作為真真。邏輯表表達(dá)式式的一一般形形式為為:操作對對象1邏邏輯運運算符符操操作對對象23.6.1邏邏輯輯與((&&)邏輯與與運算算(&&)):參與運運算的的兩個個操作作對象象都為為真((非0)時時,結(jié)結(jié)果為為真((1)),否否則為為假((0))。例例如,,表達(dá)達(dá)式-4<10&&3!=00的結(jié)結(jié)果為為真。。具有自自左至至右的的結(jié)合合性,,當(dāng)運運算符符左邊邊為假假時,,表達(dá)達(dá)式為為假,,而不不再判判斷運運算符符右邊邊是否否為真真或假假。例例如,,表達(dá)達(dá)式0>2&&3!=5,由由于表表達(dá)式式0>2為為假,,因此此便不不再判判斷表表達(dá)式式3!=5,而而直接接認(rèn)為為原表表達(dá)式式為假假(0)。。范例3.7LogicAndOperater.c程程序序分析析邏輯輯與運運算符符的優(yōu)優(yōu)先級級與結(jié)結(jié)合性性,并并分析析邏輯輯與表表達(dá)式式執(zhí)行行過程程中對對兩側(cè)側(cè)表達(dá)達(dá)式執(zhí)執(zhí)行順順序的的影響響。3.6.2邏邏輯輯或((||)邏輯或或運算算(||)):參與運運算的的兩個個操作作對象象只要要有一一個為為真((非0),,結(jié)果果即為為真((1)),否否則為為假((0))。例例如,,表達(dá)達(dá)式-4<10||3==0,表表達(dá)式式中||優(yōu)優(yōu)先級級低于于關(guān)系系運算算符<和==,,所以以表達(dá)達(dá)式等等價于于(-4<10)||((3==0),,表達(dá)達(dá)式-4<10為真真,因因此原原表達(dá)達(dá)式的的結(jié)果果為真真。C語言言規(guī)定定,當(dāng)當(dāng)運算算符左左邊為為真((非0)時時,即即判斷斷表達(dá)達(dá)式為為真((1)),而而不再再判斷斷運算算符右右邊是是否為為真或或假。。例如如,表表達(dá)式式2||3!=5,,由于于常量量2為為真((非0),,因此此便不不再判判斷表表達(dá)式式3!=5,而而直接接認(rèn)為為原表表達(dá)式式為真真(1)。。范例3.8LogicOrOperater.c程程序分分別設(shè)設(shè)置邏邏輯與與表達(dá)達(dá)式和和邏輯輯或表表達(dá)式式。在在范例例3.7基基礎(chǔ)上上進(jìn)一一步分分析邏邏輯與與表達(dá)達(dá)式的的執(zhí)行行順序序,分分析邏邏輯或或的執(zhí)執(zhí)行順順序,,并與與邏輯輯與表表達(dá)式式進(jìn)行行比較較。分分析產(chǎn)產(chǎn)生的的結(jié)果果。3.6.3邏邏輯輯非((?。┻壿嫹欠沁\算算(!)::一元運運算符符,該該運算算符只只能放放在操操作對對象左左邊。。當(dāng)操操作對對象為為真((非0)時時,結(jié)結(jié)果為為假((0)),操操作對對象為為假((0))時,,結(jié)果果為真真。范例3.9LogicNoneOperator.c程程序分析邏輯輯非表達(dá)式的的真和假,驗驗證當(dāng)變量a為非0時,,!a的含義義,并分析復(fù)復(fù)合邏輯運算算時表達(dá)式的的執(zhí)行順序與與結(jié)果。實訓(xùn)3.2———判斷閏年年CalculateLeapYear.c年數(shù)中分為平平年或閏年,,編寫程序,,判斷輸入年年數(shù)是閏年還還是平年,閏閏年輸出為1,平年輸出出為0。閏年判斷公式式:((year%4==0)&&(year%100!=0))||(year%400==0)。需求分析:需求1:輸入入年數(shù)需求2:使用用邏輯運算符符判斷輸入的的年數(shù)是否為為閏年3.7位位運算符位運算:對操作對象中中的比特位((bit)進(jìn)進(jìn)行移位、重重置以及邏輯輯判斷等操作作。位運算只能用用于字符型((char))或整型(int,short,long等),不能能用于float、double、、void或或其他復(fù)雜類類表3-4位位運算符運算符意義表達(dá)式運算功能~按位取反~aa按位取反<<按位左移b<<2b左移2位>>按位右移c>>3c右移3位&按位與a&ba和b按位與^按位異或a^ba和b按位異或|按位或a|ba和b按位或3.7位位運算符1.按位與((&)規(guī)則:每個操操作對象對應(yīng)應(yīng)位都為1時時,結(jié)果才為為1,否則為為0。例如::3&5的計計算方法為::先轉(zhuǎn)化為二二進(jìn)制,然后后按位進(jìn)行與與操作。00000011& 00000101-------------結(jié)結(jié)果為100000001應(yīng)用:按位與(&))主要用于將將某個操作對對象的某些位位置零,例如如,將int型變量a的的第3、5、、7、12位位置零,方法法為將a和二二進(jìn)制數(shù)1110111101011111作位與與操作,表達(dá)達(dá)式為:a&0xEF5F。3.7位位運算符范例3.10LogicBitAnd.c使用位&操作作取變量a的的低10bit位,其余余位置零,并并使用十六進(jìn)進(jìn)制打印結(jié)果果。方法為使使變量a與另另一常量作&,該常量低低10位為1,其余位為為0。2.按位或((|)規(guī)則:有一個個操作對象對對應(yīng)位為1時時,結(jié)果即為為1,當(dāng)兩個個操作對象對對應(yīng)位都為為為0時,結(jié)果果才為0。例例如:3|5的計算方法法為:先轉(zhuǎn)化化為二進(jìn)制,,然后按位進(jìn)進(jìn)行或操作。。00000011| 00000101------------- 結(jié)果果為7000001113.7位位運運算算符符3..按按位位異異或或((^))規(guī)則則::操操作作對對象象對對應(yīng)應(yīng)位位相相同同時時為為1,,不不同同時時為為0。。例例如如3^5的的計計算算方方法法為為::先先轉(zhuǎn)轉(zhuǎn)化化為為二二進(jìn)進(jìn)制制,,然然后后按按位位進(jìn)進(jìn)行行異異或或操操作作。。00000011^00000101-------------結(jié)結(jié)果果為為0xF9,,十十進(jìn)進(jìn)制制數(shù)數(shù)24911111001用途途::按位位異異或或((^))主主要要用用于于將將操操作作對對象象的的的的某某些些位位翻翻轉(zhuǎn)轉(zhuǎn)((原原來來為為1的的位位變變?yōu)闉?,,為為0的的變變?yōu)闉?),,其其余余各各位位不不變變。。實訓(xùn)訓(xùn)3.3————交交換換兩兩變變量量的的值值ExchangeTwoVariable.c編寫寫程程序序,,不不使使用用其其他他中中間間變變量量,,交交換換兩兩個個整整型型變變量量a和和b的的值值。。使使用用按按位位異異或或((^))交交換換兩兩變變量量的的值值。。使使用用異異或或操操作作置置位位兩兩變變量量對對應(yīng)應(yīng)位位不不同同的的位位置置,,并并依依次次交交叉叉操操作作,,達(dá)達(dá)到到兩兩值值交交換換的的功功能能,,本本例例主主要要使使用用一一個個變變量量存存儲儲了了兩兩個個變變量量信信息息的的特特性性。。需求求分分析析::需求求1::交交換換兩兩個個變變量量的的值值需求求2::不不使使用用中中間間變變量量實現(xiàn)現(xiàn)::使用用按按位位異異或或((^))運運算算符符,,完完成成操操作作,,方方法法為為::首首先先將將變變量量a和和b作作異異或或操操作作,,將將結(jié)結(jié)果果賦賦給給a,,然然后后將將b與與a作作異異或或操操作作,,并并將將結(jié)結(jié)果果賦賦給給b,,重重復(fù)復(fù)第第一一步步操操作作,,完完成成。。3.7位位運運算算符符4..按按位位取取反反((~))按位位取取反反操操作作是是將將操操作作對對象象各各位位翻翻轉(zhuǎn)轉(zhuǎn),,即即原原來來為為1的的位位變變成成0,,原原來來為為0的的位位變變成成1。。例例如如::1111111100010011~---------------------------0000000011101100用途途::按位位取取反反操操作作主主要要用用于于間間接接地地構(gòu)構(gòu)造造一一個個數(shù)數(shù),,以以增增強(qiáng)強(qiáng)程程序序的的可可移移植植性性。。3.7位位運運算算符符5..按按位位左左移移((<<))操作作::使使操操作作對對象象的的各各位位左左移移,,低低位位補(bǔ)補(bǔ)0,,高高位位溢溢出出。。其其中中,,操操作作對對象象和和左左移移位位數(shù)數(shù)只只能能是是整整型型或或字字符符型型。。6..按按位位右右移移((>>))操作作使使操操作作對對象象的的各各位位右右移移,,高高位位補(bǔ)補(bǔ)0,,低低位位舍舍棄棄。。與與左左移移類類似似,,操操作作對對象象和和右右移移位位數(shù)數(shù)只只能能是是整整型型或或字字符符型型。。3.8條條件件運運算算符符條件件運運算算符符::C語語言言中中唯唯一一一一個個三三元元運運算算符符((三三目目運運算算符符)),,其其一一般般表表達(dá)達(dá)形形式式為為::(表表達(dá)達(dá)式式1))??表表達(dá)達(dá)式式2::表表達(dá)達(dá)式式3規(guī)則則::若若表表達(dá)達(dá)式式1的的值值為為真真((非非0)),,則則表表達(dá)達(dá)式式的的值值為為表表達(dá)達(dá)式式2,,否否則則為為表表達(dá)達(dá)式式3。。例例如如::(a>b))??a+b::a-b當(dāng)a=10,,b=5,,c=2時時,,該該表表達(dá)達(dá)式式的的執(zhí)執(zhí)行行過過程程如如下下::首先先計計算算表表達(dá)達(dá)式式a>b是是否否為為真真,,經(jīng)經(jīng)運運算算為為真真,,因因此此,,表表達(dá)達(dá)式式的的值值為為a+b,,即即為為15。。實訓(xùn)訓(xùn)3.4————分分段段函函數(shù)數(shù)計計算算MulitPartFunction.c鍵盤盤輸輸入入變變量量x的的值值,,使使用用條條件件運運算算符符判判斷斷函函數(shù)數(shù)y的的值值,,并并輸輸出出x和和y的的值值。。編編寫寫程程序序,,實實現(xiàn)現(xiàn)分分段段函函數(shù)數(shù)::需求求分分析析::需求求1::鍵鍵盤盤輸輸入入變變量量x的的值值需求求2::使使用用條條件件運運算算符符判判斷斷變變量量x的的值值,,并并確確定定y的的值值思路路::判斷斷鍵鍵盤盤輸輸入入的的變變量量x的的值值,,若若x<-10,,則則y的的值值為為-10,,若若-10<x<10,,則則y的的值值即即為為x的的值值,,若若x>10,,則則y的的值值為為10。。3.9sizeof運運算算符符sizeof運運算算符符::又稱稱為為取取內(nèi)內(nèi)存存字字節(jié)節(jié)運運算算符符,,C語語言言最最特特殊殊的的運運算算符符之之一一,,用用于于計計算算操操作作對對象象在在內(nèi)內(nèi)存存中中所所占占的的字字節(jié)節(jié)數(shù)數(shù)。。例例如如::inta=10,b=0;b=sizeof(a);b用用于于存存儲儲變變量量a在在內(nèi)內(nèi)存存中中所所占占字字節(jié)節(jié)數(shù)數(shù),,使使用用sizeof獲獲取取a的的內(nèi)內(nèi)存存字字節(jié)節(jié)數(shù)數(shù)。。范例例3.11SizeofUseful.c使使用用sizeof運運算算符符分分別別獲獲取取charshortintlongfloatdouble等等幾幾種種基基本本數(shù)數(shù)據(jù)據(jù)類類型型的的內(nèi)內(nèi)存存字字節(jié)節(jié)數(shù)數(shù),,獲獲取取實實型型常常量量1.0以以及及字字符符常常量量’’a’’的的內(nèi)內(nèi)存存字字節(jié)節(jié)數(shù)數(shù),,獲獲取取強(qiáng)強(qiáng)制制類類型型轉(zhuǎn)轉(zhuǎn)換換之之后后的的字字符符常常量量’’a’’的的內(nèi)內(nèi)存存字字節(jié)節(jié)數(shù)數(shù)。。3.10強(qiáng)強(qiáng)制類類型轉(zhuǎn)轉(zhuǎn)換功能::將表達(dá)達(dá)式的的運算算結(jié)果果強(qiáng)制制轉(zhuǎn)換換成類類型說說明符符所表表示的的類型型。其其中,,類型型說明明符必必須使使用括括號括括起來來。例例如::(int)m表示示把m轉(zhuǎn)換換為整整型,,(double)(a*b+c)表表示把把表達(dá)達(dá)式a*b+c的值值轉(zhuǎn)換換為雙雙精度度浮點點型。。注意::第一,,類型型說明明符必必須加加括號號;第二,,表達(dá)達(dá)式應(yīng)應(yīng)該加加括號號,若若表達(dá)達(dá)式僅僅為單單個變變量可可以不不加;;第三,,強(qiáng)制制類型型轉(zhuǎn)換換不改改變被被轉(zhuǎn)換換對象象,僅僅僅為為本次次運算算所需需而進(jìn)進(jìn)行的的操作作。3.10強(qiáng)強(qiáng)制類型轉(zhuǎn)轉(zhuǎn)換范例3.11CalcVandS.c計算半徑r,高h(yuǎn)的的圓柱形桶的的體積V和表表面積S,取取圓周率為為3.14,,要求計算結(jié)結(jié)果為整型并并輸出,體積積V四舍五入入,表面積S僅取整數(shù)部部分。9、靜夜四無無鄰,荒居居舊業(yè)貧。。。12月-2212月-22Tuesday,December20,202210、雨中黃葉葉樹,燈下下白頭人。。。17:50:2117:50:2117:5012/20/20225:50:21PM11、以我獨獨沈久,,愧君相相見頻。。。12月-2217:50:2117:50Dec-2220-Dec-2212、故人江江海別,,幾度隔隔山川。。。17:50:2117:50:2117:50Tuesday,December20,202213、乍見翻疑夢夢,相悲各問問年。。12月-2212月-2217:50:2117:50:21December20,202214、他鄉(xiāng)生白發(fā)發(fā),舊國見青青山。。20十二月月20225:50:21下午17:50:2112月-2215、比不不了得得就不不比,,得不不到的的就不不要。。。。。十二月月225:50下下午午12月月-2217:50December20,202216、行動出出成果,,工作出出財富。。。2022/12/2017:50:2117:50:2120December202217、做前,,能夠環(huán)環(huán)視四周周;做時時,你只只能或者者最好沿沿著以腳腳為起點點的射線線向前。。。5:50:21下午午5:50下午午17:50:2112月-229、沒有失敗敗,只有暫暫時停止成成功!。12月-2212月-22Tuesday,December20,202210、很多事情情努力了未未必有結(jié)果果,但是不不努力卻什什么改變也也沒有。。。17:50:2117:50:2117:5012/20/20225:50:21PM11、成功就是是日復(fù)一日日那一點點點小小努力力的積累。。。12月-22

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論