C擴(kuò)展:基本數(shù)據(jù)類型

1. 類型變種寫法

在C語(yǔ)言中,除了有無(wú)符號(hào)關(guān)鍵字unsigned,還對(duì)應(yīng)有一個(gè)有符號(hào)關(guān)鍵字signed,只是通常省略不寫。此外,除了char,其他整型類型后面可以加上關(guān)鍵字int表示整型,通常也是省略不寫。下面是各種類型其他對(duì)應(yīng)寫法。

No. 類型 其他寫法
1 char signed char
2 short signed short int、signed short、short int
3 int signed int
4 long signed long intlong int、signed long
5 long long signed long long int、signed long long、long long int

通常也使用unsigned表示unsigned int的簡(jiǎn)寫。

2. 數(shù)值常量表示

如何表示天文數(shù)字?

直徑 年齡
地球 6371千米 45.5億年
太陽(yáng) 1.392×106千米 45.7億年
銀河系 10萬(wàn)光年 80億年
宇宙 1600億光年 138.2億年

注:1光年 = 9.46×1012千米

試一下

int earth_diameter = 6371;
int earth_age = 4550000000;
int sun_diameter = 1392000;
int sun_age = 4570000000;
int light_year = 9460000000000;
int galaxy_diameter = 100000*light_year ;
int galaxy_age = 8000000000;
int universe_diameter = 1600000000000*light_year;
int universe_age = 138200000000;
printf("earth_diameter = %d\n",earth_diameter);
printf("earth_age  = %d\n",earth_age);
printf("sun_diameter = %d\n",sun_diameter);
printf("sun_age  = %d\n",sun_age );
printf("galaxy_diameter = %d\n",galaxy_diameter);
printf("galaxy_age = %d\n",galaxy_age);
printf("universe_diameter = %d\n",universe_diameter);
printf("universe_age = %d\n",universe_age);

沒(méi)有后綴的整數(shù)常量默認(rèn)為int,只能表示21億左右的數(shù)值,如果超過(guò)就會(huì)警告,執(zhí)行就會(huì)出錯(cuò),因?yàn)?code>int無(wú)法表示超出的數(shù)字。

  1. 整數(shù)常量后綴
No. 類型 后綴
1 L/l long
2 LL/ll long long
3 U/u unsigned
4 L/lU/u組合 unsigned long
5 LL/llU/u組合 unsigned long long
int earth_diameter = 6371;
long long earth_age = 4550000000LL;
int sun_diameter = 1392000;
long long sun_age = 4570000000LL;
long long light_year = 9460000000000LL;
long long galaxy_diameter = 100000*light_year ;
long long galaxy_age = 8000000000LL;
long long universe_diameter = 1600000000000LL*light_year;
long long universe_age = 138200000000LL;
printf("earth_diameter = %d\n",earth_diameter);
printf("earth_age  = %lld\n",earth_age);
printf("sun_diameter = %d\n",sun_diameter);
printf("sun_age  = %lld\n",sun_age );
printf("galaxy_diameter = %lld\n",galaxy_diameter);
printf("galaxy_age = %lld\n",galaxy_age);
printf("universe_diameter = %lld\n",universe_diameter);
printf("universe_age = %lld\n",universe_age);
  1. 浮點(diǎn)數(shù)常量后綴
No. 類型 后綴
1 F/f float
2 F/f long double

沒(méi)有后綴的浮點(diǎn)數(shù)默認(rèn)為double

  1. 科學(xué)記數(shù)法
    表示方式:尾數(shù)部分e指數(shù)部分或者尾數(shù)部分E指數(shù)部分
    使用科學(xué)計(jì)數(shù)法表示數(shù)字更加簡(jiǎn)單。
int earth_diameter = 6371;
long long earth_age = 4.55e9;
int sun_diameter = 1.392e6;
long long sun_age = 4.57e9;
long long light_year = 9.46e12;
long long galaxy_diameter = 1e5*light_year ;
long long galaxy_age = 8e9;
long long universe_diameter = 1.6e12*light_year;
long long universe_age = 1.382e11;
printf("earth_diameter = %d\n",earth_diameter);
printf("earth_age  = %lld\n",earth_age);
printf("sun_diameter = %d\n",sun_diameter);
printf("sun_age  = %lld\n",sun_age );
printf("galaxy_diameter = %lld\n",galaxy_diameter);
printf("galaxy_age = %lld\n",galaxy_age);
printf("universe_diameter = %lld\n",universe_diameter);
printf("universe_age = %lld\n",universe_age);

注意:universe_diameter出現(xiàn)負(fù)值。表示long long也裝不下這個(gè)數(shù)字(約為1026大于1012),可以使用double類型表示。

double universe_diameter = 1.6e12*light_year;
printf("universe_diameter = %f\n",universe_diameter);

輸出數(shù)據(jù)不容易閱讀,可以使用%e%E以科學(xué)記數(shù)法輸出浮點(diǎn)數(shù)(注意:%e%E不能用來(lái)輸出整數(shù))。

printf("universe_diameter = %e\n",universe_diameter);

科學(xué)計(jì)數(shù)法法除了可以表示極大數(shù),也可以表示極小數(shù),比如電子的直徑10-15m.

double electron_diameter = 10e-15;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為什么我們要擁有一張mela 的會(huì)員卡? Mela 環(huán)保超市32年來(lái),從來(lái)沒(méi)要求會(huì)員往卡里充一分錢會(huì)員卡只是一種身...
    持續(xù)收入倡導(dǎo)者閱讀 218評(píng)論 0 0
  • 大奶奶是從小被娘家賣到夫家的童養(yǎng)媳。 大奶奶的娘家是逃荒到這里的,整天吃了上頓沒(méi)下頓。窮苦人家孩子最不值錢,少一張...
    多啦A步閱讀 770評(píng)論 0 0
  • 漢中熱面皮店人多,老板對(duì)前面排隊(duì)人問(wèn)熱的和涼的,寬的和窄的等等,好不容易排到,看里面熱氣騰騰,用手指了指蒸籠,來(lái)碗...
    微眼看世界閱讀 177評(píng)論 0 1
  • 自?shī)首詷?lè) 性感吧!
    一點(diǎn)小賢閱讀 212評(píng)論 0 2
  • # 我是 ##丁玲
    jygjay閱讀 192評(píng)論 0 0

友情鏈接更多精彩內(nèi)容