C語(yǔ)言第三課 變量

C Primer Plus

常量(constant)
變量(variable)

數(shù)據(jù)類型

通過(guò)一下關(guān)鍵字創(chuàng)建的類型,按照計(jì)算機(jī)的存儲(chǔ)方式分為兩大基本類型:整數(shù)和浮點(diǎn)數(shù)。

int

基本整數(shù)類型
%d格式化輸出整型,%5d格式化成5位輸出。
%o八進(jìn)制顯示,%#o帶八進(jìn)制前綴顯示。
%x十六進(jìn)制顯示,%#x、%#X帶十六進(jìn)制前綴顯示。

  • 整數(shù)溢出,溢出是為定義的行為,C標(biāo)準(zhǔn)并未定義有符號(hào)類型的溢出規(guī)則。

可移植整數(shù)類型stdint.h和inttypes.h

1.C語(yǔ)言為現(xiàn)有類型創(chuàng)建了更多類型名,定義在stdint.h中。

  • 精確寬度整數(shù)類型(exact-width integer type):如int32_t, uint_32_t。但是這些依賴于計(jì)算機(jī)的底層系統(tǒng)的支持。
  • 最小寬度類型(minimum width type): int_least8_t表示可容納8位有符號(hào)整數(shù)值的類型中寬度最小的類型的一個(gè)別名。
  • 最快最小寬度類型(fastst minimum width type): 如int_fast8_t 表示對(duì)8位有符號(hào)值而言運(yùn)算最快的整數(shù)類型的別名。
  • 最大整數(shù)類型:intmax_t、uintmax_t.

2.有了以上定義類型,就需要提供相應(yīng)的輸入和輸出,定義在inttypes.h中。C語(yǔ)言提供了一些字符串宏(后面會(huì)提到)來(lái)看是可以值類型。如PRid32代表打印32位有符號(hào)值的合適轉(zhuǎn)換說(shuō)明。

可移植類型的更多解析見書的附錄B。

long、short、unsigned、signed基本整數(shù)類型的變式

long要添加L、l后綴,long long使用LL后綴,u表示unsigned。
%u輸出unsigned int。
%ld輸出long。
%lx以十六進(jìn)制數(shù)處long。
%lo以八進(jìn)制輸出long。
%hd輸出short。
%hu以八進(jìn)制輸出unsigned long。
%lld輸出long long。
%llu unsigned long long。

char

字母和其他字符,也表示較小的整數(shù)。
單引號(hào)括起來(lái)的字符。實(shí)際存儲(chǔ)的是相應(yīng)的代碼值。ASCII值。

  • 非打印字符
    char beep = 7; //直接使用ASCII
    char beep = \a;//使用轉(zhuǎn)義字符
    以上兩句是一樣的,都是蜂鳴。警報(bào)字符改變活躍位置。
    使用ASCII碼要注意數(shù)字和數(shù)字字符的區(qū)別。
    %c打印字符

float、double、long double 帶小數(shù)點(diǎn)的數(shù)。

在聲明的時(shí)候加上f或F后綴,編譯器會(huì)識(shí)別成float類型。使用l或L后綴,編譯器會(huì)識(shí)別成long double類型。沒(méi)有后綴默認(rèn)是double類型。

  • 十六進(jìn)制表示浮點(diǎn)型:p代替e,用2的冪代替10的冪(p計(jì)數(shù)法)。
    0xa.1fp10 - a = 10
    .1 = 1/16
    .0f = 15/256
    p10 = 2^10
    %f輸出浮點(diǎn)數(shù)。%e打印指數(shù)計(jì)數(shù)法的浮點(diǎn)數(shù)。如果系統(tǒng)支持十六進(jìn)制,可用啊替代e。
    %Lf、%Le、%La打印long double。

浮點(diǎn)數(shù)的溢出分為上溢(underflow)和下溢(subnormal)。

  • 上溢:計(jì)算導(dǎo)致數(shù)字過(guò)大,超過(guò)當(dāng)前類型能表達(dá)的范圍。
  • 下溢:損失了類型全精度的浮點(diǎn)值稱為低于正常的浮點(diǎn)值。
    特殊的浮點(diǎn)值:NaN(not a number)。碰到未定義行為會(huì)返回NaN值。

void

_Bool

布爾值(true|flase)僅占一個(gè)bit。

_Complex

復(fù)數(shù)

_Imaginary

虛數(shù)

?著作權(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)容

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