強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。例如,如果您想存儲(chǔ)一個(gè) long 類型的值到一個(gè)簡單的整型中,您需要把 long 類型強(qiáng)制轉(zhuǎn)換為 int 類型。您可以使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符來把值顯式地從一種類型轉(zhuǎn)換為另一種類型,如下所示:
(type_name) expression
請(qǐng)看下面的實(shí)例,使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符把一個(gè)整數(shù)變量除以另一個(gè)整數(shù)變量,得到一個(gè)浮點(diǎn)數(shù):
#include
{ int sum = 17, count = 5;
double mean; mean = (double) sum / count;
printf("Value of mean : %fn", mean ); }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
Value of mean : 3.400000
#include
{ int i = 17;
char c = 'c'; /* ascii 值是 99 */ int sum; sum = i + c;
printf("Value of sum : %dn", sum ); }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
Value of sum : 116
常用的算術(shù)轉(zhuǎn)換不適用于賦值運(yùn)算符、邏輯運(yùn)算符 && 和 ||。讓我們看看下面的實(shí)例來理解這個(gè)概念:
#include
char c = 'c'; /* ascii 值是 99 */ float sum; sum = i + c;
printf("Value of sum : %fn", sum ); }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
Value of sum : 116.000000
在這里,c 首先被轉(zhuǎn)換為整數(shù),但是由于最后的值是 double 型的,所以會(huì)應(yīng)用常用的算術(shù)轉(zhuǎn)換,編譯器會(huì)把 i 和 c 轉(zhuǎn)換為浮點(diǎn)型,并把它們相加得到一個(gè)浮點(diǎn)數(shù)。
審核編輯:黃飛
-
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135863 -
編譯器
+關(guān)注
關(guān)注
1文章
1617瀏覽量
49015
原文標(biāo)題:C語言中的強(qiáng)制類型轉(zhuǎn)換
文章出處:【微信號(hào):單片機(jī)與嵌入式,微信公眾號(hào):單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論