C語言數(shù)據(jù)類型轉(zhuǎn)換_第1頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第2頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——C語言數(shù)據(jù)類型轉(zhuǎn)換C語言數(shù)據(jù)類型轉(zhuǎn)換

數(shù)據(jù)類型轉(zhuǎn)換就是將數(shù)據(jù)變量、表達(dá)式的結(jié)果從一種類型轉(zhuǎn)換到另一種類型。那么大家知道C語言數(shù)據(jù)類型轉(zhuǎn)換是怎樣的呢?下面一起來看看!

例如,為了保存小數(shù)你可以將int類型的變量轉(zhuǎn)換為double類型。

數(shù)據(jù)類型轉(zhuǎn)換的一般格式為:

type_nameexpression

type_name為要轉(zhuǎn)換到的數(shù)據(jù)類型,expression為表達(dá)式。例如:

floata;//把a轉(zhuǎn)換為實型intx+y;//把x+y的結(jié)果轉(zhuǎn)換為整型float100;//將一個常量轉(zhuǎn)換為實型

將整數(shù)轉(zhuǎn)換為浮點數(shù):

#includeintmainintsum=17,count=5;doublemean;mean=doublesum/count;printfValueofmean:%f,mean;return0;

運行結(jié)果:

Valueofmean:3.400000

需要留神的是,類型轉(zhuǎn)換運算符的優(yōu)先級高于/,doublesum/count會先將sum轉(zhuǎn)換為double類型,然后再舉行除法運算。假設(shè)寫作doublesum/count,那么運行結(jié)果就是3.000000。

這種由程序員顯式舉行的轉(zhuǎn)換稱為強制類型轉(zhuǎn)換。除了強制類型轉(zhuǎn)換,在不同數(shù)據(jù)類型的混合運算中編譯器也會隱式地舉行數(shù)據(jù)類型轉(zhuǎn)換,稱為自動類型轉(zhuǎn)換。

自動類型轉(zhuǎn)換遵循下面的規(guī)矩:

若參與運算的數(shù)據(jù)類型不同,那么先轉(zhuǎn)換成同一類型,然后舉行運算。

轉(zhuǎn)換按數(shù)據(jù)長度增加的`方向舉行,以保證精度不降低。例如int型和long型運算時,先把int量轉(zhuǎn)成long型后再舉行運算。

全體的浮點運算都是以雙精度舉行的,即使僅含float單精度量運算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運算。

char型和short型參與運算時,務(wù)必先轉(zhuǎn)換成int型。

在賦值運算中,賦值號兩邊的數(shù)據(jù)類型不同時,需要把右邊表達(dá)式的類型將轉(zhuǎn)換為左邊變量的類型。假設(shè)右邊表達(dá)式的數(shù)據(jù)類型長度比左邊長時,將損失一片面數(shù)據(jù),這樣會降低精度。

下圖表示了類型自動轉(zhuǎn)換的規(guī)矩:

自動數(shù)據(jù)類型轉(zhuǎn)換。

#includeintmainfloatPI=3.14159;ints1,r=5;doubles2;s1=r*r*PI;s2=r*r*PI;printfs1=%d,s2=%f,s1,s2;return0;

運行結(jié)果:

s1=78,s2=78.539753

在計算表達(dá)式r*r*PI時,r和PI都轉(zhuǎn)換成double類型,表達(dá)式的結(jié)果也為double類型。但由于s1為整型,所以賦值運算的結(jié)果仍為整型,舍去了小數(shù)片面。

留神是將小數(shù)片面直接丟掉,而不是按照四舍五入向前舍入。

無論是強制轉(zhuǎn)換或是自動轉(zhuǎn)換,都只是為了本次運算的需要而對變量的數(shù)據(jù)長度舉行的臨時性轉(zhuǎn)換,而不變更數(shù)據(jù)說明時對該變量定義的類型。請看下面的例子:

#includeintmainfloatf=5.75;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論