日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)C語言教程:C語言強(qiáng)制類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。例如,如果您想存儲一個 long 類型的值到一個簡單的整型中,您需要把 long 類型強(qiáng)制轉(zhuǎn)換為 int 類型。您可以使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符來把值顯式地從一種類型轉(zhuǎn)換為另一種類型,如下所示:

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供沙洋網(wǎng)站建設(shè)、沙洋做網(wǎng)站、沙洋網(wǎng)站設(shè)計(jì)、沙洋網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、沙洋企業(yè)網(wǎng)站模板建站服務(wù),10年沙洋做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

(type_name) expression

請看下面的實(shí)例,使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符把一個整數(shù)變量除以另一個整數(shù)變量,得到一個浮點(diǎn)數(shù):

#include 

int main()
{
   int sum = 17, count = 5;
   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );

}

嘗試一下

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

Value of mean : 3.400000

這里要注意的是強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的優(yōu)先級大于除法,因此sum的值首先被轉(zhuǎn)換為double型,然后除以 count,得到一個類型為 double 的值。

類型轉(zhuǎn)換可以是隱式的,由編譯器自動執(zhí)行,也可以是顯式的,通過使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符來指定。在編程時,有需要類型轉(zhuǎn)換的時候都用上強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,是一種良好的編程習(xí)慣。

整數(shù)提升

整數(shù)提升是指把小于intunsigned int的整數(shù)類型轉(zhuǎn)換為intunsigned int的過程。請看下面的實(shí)例,在 int 中添加一個字符:

#include 

int main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );

}

嘗試一下

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

Value of sum : 116

在這里,sum 的值為 116,因?yàn)榫幾g器進(jìn)行了整數(shù)提升,在執(zhí)行實(shí)際加法運(yùn)算時,把 'c' 的值轉(zhuǎn)換為對應(yīng)的 ascii 值。

常用的算術(shù)轉(zhuǎn)換

常用的算術(shù)轉(zhuǎn)換是隱式地把值強(qiáng)制轉(zhuǎn)換為相同的類型。編譯器首先執(zhí)行整數(shù)提升,如果操作數(shù)類型不同,則它們會被轉(zhuǎn)換為下列層次中出現(xiàn)的最高層次的類型:

常用的算術(shù)轉(zhuǎn)換不適用于賦值運(yùn)算符、邏輯運(yùn)算符 && 和 ||。讓我們看看下面的實(shí)例來理解這個概念:

#include 

int main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );

}

嘗試一下

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

Value of sum : 116.000000

在這里,c 首先被轉(zhuǎn)換為整數(shù),但是由于最后的值是 double 型的,所以會應(yīng)用常用的算術(shù)轉(zhuǎn)換,編譯器會把 i 和 c 轉(zhuǎn)換為浮點(diǎn)型,并把它們相加得到一個浮點(diǎn)數(shù)。


文章標(biāo)題:創(chuàng)新互聯(lián)C語言教程:C語言強(qiáng)制類型轉(zhuǎn)換
文章源于:http://www.dlmjj.cn/article/coejehp.html