免费观看已满十八岁电视剧两人_国产+高潮+白丝+中岀+白_国产大片b站免费观看推荐_大尺度床震捏胸呻吟视频_亚洲AV永久无码天堂网国产_日本天堂免费网站_小雪yin荡公交嗯啊校花_向日葵视频色_好硬好大好爽18禁免费看男男

【六六互聯(lián)】長(zhǎng)期出售【美國(guó)抗投訴服務(wù)器】【歐洲抗投訴服務(wù)器】【亞洲抗投訴服務(wù)器】

變量的數(shù)據(jù)類型是可以轉(zhuǎn)換的。轉(zhuǎn)換方法有兩種,一種是自動(dòng)轉(zhuǎn)換,一種是強(qiáng)制轉(zhuǎn)換。

變量的數(shù)據(jù)類型是可以轉(zhuǎn)換的

1.自動(dòng)轉(zhuǎn)換

自動(dòng)轉(zhuǎn)換發(fā)生在不同數(shù)據(jù)類型的量混合運(yùn)算時(shí),由編譯系統(tǒng)自動(dòng)完成。自動(dòng)轉(zhuǎn)換遵循的規(guī)則如圖2-3所示,可以從幾個(gè)方面來理解這個(gè)規(guī)則:

1)若參與運(yùn)算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。

2)轉(zhuǎn)換按少字節(jié)向多字節(jié)類型轉(zhuǎn)換,以保證精度不降低。如short型和long型運(yùn)算時(shí),先把short型變量轉(zhuǎn)換成long型后再進(jìn)行運(yùn)算。

3)所有的浮點(diǎn)運(yùn)算都是以雙精度進(jìn)行的,即使僅含float單精度量運(yùn)算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運(yùn)算。

4char型和short型參與運(yùn)算時(shí),必須先轉(zhuǎn)換成int型。

5)在賦值運(yùn)算中,當(dāng)“=”兩邊的運(yùn)算對(duì)象類型不相同時(shí),系統(tǒng)自動(dòng)將“=”右邊表達(dá)式的值轉(zhuǎn)換成左邊變量的類型后再賦值,具體規(guī)定如下:

1)實(shí)型賦予整型,舍去小數(shù)部分;

2)整數(shù)賦予實(shí)型,數(shù)值不變,但增加小數(shù)部分(小數(shù)部分值為0);

3)字符型賦予整型,由于字符型占一個(gè)字節(jié),而整型占四個(gè)字節(jié),因此將字符的ASCII碼值放到整型量的低8位,高24位補(bǔ)0。

4)整型賦予字符型,只把低8位賦予字符量。

                                         變量的數(shù)據(jù)類型是可以轉(zhuǎn)換的               

2-3 類型自動(dòng)轉(zhuǎn)換規(guī)則

2-11】自動(dòng)數(shù)據(jù)類型轉(zhuǎn)換

#include<stdio.h>

int main()

{

float PI=3.14159;

int s,r=5;

    s=r*r*PI;

printf("s=%d\n",s);

return 0;

}

程序運(yùn)行結(jié)果:

s=78

本例程序中,PI為實(shí)型,sr為整型,在執(zhí)行s=r*r*PI語句時(shí),rPI都轉(zhuǎn)換成double型計(jì)算,結(jié)果也為double型,但由于s為整型,故賦值結(jié)果仍為整型,舍去了小數(shù)部分。

2.強(qiáng)制類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。

其一般形式為:

(類型說明符) (表達(dá)式)

其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。

例如:

(float) a;  /* a轉(zhuǎn)換為實(shí)型 */

(int)(x+y);  /* x+y的結(jié)果轉(zhuǎn)換為整型 */

3.在使用強(qiáng)制轉(zhuǎn)換時(shí)應(yīng)注意以下問題:

1)類型說明符和表達(dá)式都必須加括號(hào)(單個(gè)變量可以不加括號(hào)),如把(int)(x+y)寫成(int)x+y則成了把x轉(zhuǎn)換成int型之后再與y相加了。

2)無論是強(qiáng)制轉(zhuǎn)換或是自動(dòng)轉(zhuǎn)換,都只是為了本次運(yùn)算的需要而對(duì)變量的數(shù)據(jù)長(zhǎng)度進(jìn)行的臨時(shí)性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時(shí)對(duì)該變量定義的類型。

2-12】強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換

#include<stdio.h>

int main()

{

float f=5.75;

printf("(int)f=%d,f=%f\n",(int)f,f);

return 0;

}

程序運(yùn)行結(jié)果:

intf=5,f=5.750000

本例表明,f雖強(qiáng)制轉(zhuǎn)為int型,但只在運(yùn)算中起作用,是臨時(shí)的,而f本身的類型并不改變,因此,(int)f的值為5(刪去了小數(shù)),而f的值仍為5.75。