多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

c教程

C 強制類型轉換

閱讀 (2272)

C 強制類型轉換

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

(type_name) expression

請看下面的實例,使用強制類型轉換運算符把一個整數變量除以另一個整數變量,得到一個浮點數:

#include <stdio.h>

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

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

}

當上面的代碼被編譯和執行時,它會產生下列結果:

Value of mean : 3.400000

這里要注意的是強制類型轉換運算符的優先級大于除法,因此 sum 的值首先被轉換為 double 型,然后除以 count,得到一個類型為 double 的值。

類型轉換可以是隱式的,由編譯器自動執行,也可以是顯式的,通過使用強制類型轉換運算符來指定。在編程時,有需要類型轉換的時候都用上強制類型轉換運算符,是一種良好的編程習慣。

整數提升

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

#include <stdio.h>

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

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

}

當上面的代碼被編譯和執行時,它會產生下列結果:

Value of sum : 116

在這里,sum 的值為 116,因為編譯器進行了整數提升,在執行實際加法運算時,把 'c' 的值轉換為對應的 ascii 值。

常用的算術轉換

常用的算術轉換是隱式地把值強制轉換為相同的類型。編譯器首先執行整數提升,如果操作數類型不同,則它們會被轉換為下列層次中出現的最高層次的類型:

Usual Arithmetic Conversion

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

#include <stdio.h>

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

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

}

當上面的代碼被編譯和執行時,它會產生下列結果:

Value of sum : 116.000000

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

關閉
程序員人生
主站蜘蛛池模板: 99久久精品免费国产一区二区三区 | 欧美精品成人a多人在线观看 | 亚洲午夜久久久久中文字幕久 | 琪琪在线观看 | aa一级毛片 | 最近免费中文字幕大全免费版视频 | 国产成人在线免费视频 | 亚洲视频一区在线观看 | 浴室边摸边脱边吃奶边做视频 | aⅴ天堂网 | 亚洲一区二区免费视频 | 成人免费看黄页网址大全 | a中文字幕1区 | 亚洲天堂最新网址 | 久久综合九色综合97欧美 | 亚洲欧洲高清有无 | 666精品国产精品亚洲 | 久久久久欧美激情 | 老司机成人午夜精品福利视频 | 最近的免费中文字幕视频 | 九九久久久久午夜精选 | 免费网站www| 国产二区三区 | 亚洲精品美女国产一区 | 亚洲成人激情小说 | 亚洲天码中文字幕第一页 | 久久观看视频 | 亚洲精品成人一区二区aⅴ 亚洲精品成人在线 | 国产二区视频 | 亚洲成a人片777777久久 | 欧美亚洲国产成人精品 | 欧美专区日韩 | 日本性视频网站 | 亚洲欧美综合色区小说 | 国产精品精品视频 | 久久久久嫩草影院精品 | 羞羞动漫入口 | 性色欧美 | 亚洲国产精品一区二区三区久久 | 国精品日韩欧美一区二区三区 | 国产成人高清在线观看播放 |