C語言數(shù)據(jù)類型轉(zhuǎn)換_第1頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第2頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第3頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第4頁
C語言數(shù)據(jù)類型轉(zhuǎn)換_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、整理ppt1數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換整理ppt2 發(fā)生在不同數(shù)據(jù)類型的量混合運算時,由編譯系統(tǒng)自動完成發(fā)生在不同數(shù)據(jù)類型的量混合運算時,由編譯系統(tǒng)自動完成。 1若參與運算量的類型不同,則先轉(zhuǎn)換成同一類型,若參與運算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進行運算。然后進行運算。2.轉(zhuǎn)換按轉(zhuǎn)換按數(shù)據(jù)長度增加的方向數(shù)據(jù)長度增加的方向進行,以保證精度不進行,以保證精度不降低。如降低。如int型和型和long型運算時,型運算時,先把先把int量轉(zhuǎn)成量轉(zhuǎn)成long型型后再進行運算。后再進行運算。整理ppt33.所有的浮點運算都是以所有的浮點運算都是以雙精度雙精度進行的,即使僅含進行的,即使僅含float單

2、精單精度量運算的表達式,也要先轉(zhuǎn)換成度量運算的表達式,也要先轉(zhuǎn)換成double型型,再作運算。,再作運算。4.char型和型和short型型參與運算時,必須參與運算時,必須先轉(zhuǎn)換成先轉(zhuǎn)換成int型。型。5.在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時,賦值號在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。右邊量的類型將轉(zhuǎn)換為左邊量的類型。如果右邊量的數(shù)據(jù)如果右邊量的數(shù)據(jù)類型長度比左邊長時,將丟失一部分數(shù)據(jù),這樣會降低精類型長度比左邊長時,將丟失一部分數(shù)據(jù),這樣會降低精度,丟失的部分按四舍五入向前舍入。度,丟失的部分按四舍五入向前舍入。整理ppt4vback 2

3、v 整理ppt5該該程序中,程序中,PI為實為實型;型;s,r為為整型。在執(zhí)整型。在執(zhí)行行s=r*r*PI語語句時,句時,r和和PI都轉(zhuǎn)換成都轉(zhuǎn)換成double型計型計算,結(jié)果也算,結(jié)果也為為double型。型。但由于但由于s為整為整型,故賦值型,故賦值結(jié)果仍為整結(jié)果仍為整型,舍去了型,舍去了小數(shù)部分。小數(shù)部分。v #include v int main()v v float PI=3.14159;v int s,r=5;v s=r*r*PI;v printf(s=%dn,s);v getchar ();v 整理ppt6v當(dāng)賦值運算符兩邊的運算對象類型不同時,將要發(fā)生類型轉(zhuǎn)換, 轉(zhuǎn)換的規(guī)則是:

4、把賦值運算符右側(cè)表達式的類型轉(zhuǎn)換為左側(cè)變量的類型。整理ppt7具體的轉(zhuǎn)換如下:具體的轉(zhuǎn)換如下:v (1) 浮點型與整型v 將浮點數(shù)將浮點數(shù)(單雙精度單雙精度)轉(zhuǎn)換為整數(shù)時,將舍棄浮點數(shù)的小數(shù)部分,轉(zhuǎn)換為整數(shù)時,將舍棄浮點數(shù)的小數(shù)部分, 只保留整數(shù)只保留整數(shù)部分。將整型值賦給浮點型變量,數(shù)值不變,只將形式改為浮點形式,部分。將整型值賦給浮點型變量,數(shù)值不變,只將形式改為浮點形式, 即小即小數(shù)點后帶若干個數(shù)點后帶若干個0。注意:賦值時的類型轉(zhuǎn)換實際上是強制的。注意:賦值時的類型轉(zhuǎn)換實際上是強制的。v (2) 單、雙精度浮點型單、雙精度浮點型v 由于由于C語言中的浮點值總是用雙精度表示的,所以語言中

5、的浮點值總是用雙精度表示的,所以float 型數(shù)據(jù)只是在尾部加型數(shù)據(jù)只是在尾部加0延長為延長為doub1e型數(shù)據(jù)參加運算,然后直接賦值。型數(shù)據(jù)參加運算,然后直接賦值。doub1e型數(shù)據(jù)轉(zhuǎn)換為型數(shù)據(jù)轉(zhuǎn)換為float型時,通過截尾數(shù)來實現(xiàn),截斷前要進行四舍五入操作。型時,通過截尾數(shù)來實現(xiàn),截斷前要進行四舍五入操作。整理ppt8(3) char型與型與int 型型v int型數(shù)值賦給型數(shù)值賦給char型變量時,只保留其最低型變量時,只保留其最低8位,高位部分舍棄。位,高位部分舍棄。v chr型數(shù)值賦給型數(shù)值賦給int型變量時,型變量時, 一些編譯程序不管其值大小都作正數(shù)處理,而一些編譯程序不管其值大

6、小都作正數(shù)處理,而另一些編譯程序在轉(zhuǎn)換時,若另一些編譯程序在轉(zhuǎn)換時,若char型數(shù)據(jù)值大于型數(shù)據(jù)值大于127,就作為負數(shù)處理。對于,就作為負數(shù)處理。對于使用者來講,如果原來使用者來講,如果原來char型數(shù)據(jù)取正值,轉(zhuǎn)換后仍為正值型數(shù)據(jù)取正值,轉(zhuǎn)換后仍為正值;如果原來如果原來char型型值可正可負,則轉(zhuǎn)換后也仍然保持原值,值可正可負,則轉(zhuǎn)換后也仍然保持原值, 只是數(shù)據(jù)的內(nèi)部表示形式有所不同。只是數(shù)據(jù)的內(nèi)部表示形式有所不同。v (4) int型與型與1ong 型型v long型數(shù)據(jù)賦給型數(shù)據(jù)賦給int型變量時,將低型變量時,將低16位值送給位值送給int型變量,而將高型變量,而將高16 位截斷位截

7、斷舍棄。舍棄。(這里假定這里假定int型占兩個字節(jié)型占兩個字節(jié))。將。將int型數(shù)據(jù)送給型數(shù)據(jù)送給long型變量時,其外部型變量時,其外部值保持不變,而內(nèi)部形式有所改變。值保持不變,而內(nèi)部形式有所改變。整理ppt9(5) 無符號整數(shù)無符號整數(shù)v 將一個將一個unsigned 型數(shù)據(jù)賦給一個占據(jù)同樣長度存儲單元的整型變量型數(shù)據(jù)賦給一個占據(jù)同樣長度存儲單元的整型變量時時(如:如:unsignedint、unsigned longlong,unsigned shortshort) ,原值照賦,內(nèi)部的存儲方式不變,但外部值卻可能改變。原值照賦,內(nèi)部的存儲方式不變,但外部值卻可能改變。v 將一個非將一個非unsigned整型數(shù)據(jù)賦給長度相同的整型數(shù)據(jù)賦給長度相同的unsigned型變量時,型變量時, 內(nèi)部內(nèi)部存儲形式不變,但外部表示時總是無符號的。存儲形式不變,但外部表示時總是無符號的。整理ppt10v 可以利用強制類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換成所需類型可以利用強制類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換成所需類型:v 例如:例如:v (double)a (將將a轉(zhuǎn)換成轉(zhuǎn)換成double類型類型)v (int)(x+y) (將將x+y的值轉(zhuǎn)換成整型的值轉(zhuǎn)換成整型)v (float)(5%3) (將將5%3的值轉(zhuǎn)換成的值轉(zhuǎn)換成float型型)v

溫馨提示

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

最新文檔

評論

0/150

提交評論