??光天化日學C語言??(08)- 常量 | 泰山崩于前而面不改色
一、前言

二、人物簡介
第一位登場的就是今后會一直教我們C語言的老師 —— 光天。
第二位登場的則是今后會和大家一起學習C語言的沒什么資質的小白程序猿 —— 化日。
三、常量簡介
C語言中的常量,主要分為以下幾種類型:
四、數值常量
數值常量分為整數和浮點數,整數一般稱為整型常量,浮點數則稱為實型常量。
1、整型常量
整型常量分為二進制、八進制、十進制 和 十六進制。
每個整型常量分為三部分:前綴部分、數字部分、后綴部分。
如下表所示:
關于前綴這部分,在 光天化日學C語言(06)- 進制轉換入門 已經講到過,就不再累述了。
這里著重提一下后綴,u(unsigned)代表無符號整數,l(long)代表長整型,ll代表long long。
換言之,無符號整型就是非負整數。
待時機成熟,我會對整數的存儲結構進行一個非常詳細的介紹。
【例題1】說出以下整型常量中,哪些是非法的,為什么非法。
1314 520u 0xFoooooL 0XFeeeul 018888 0987UU 0520 0x4b 1024llul 30ll 030ul
2、實型常量
實型常量又分為 小數形式 和 指數形式。
1)小數形式
小數形式由三部分組成:整數部分、小數點、小數部分。例如:
3.1415927 4.5f .1314
其中 f后綴代表 float,用于區分double。
.1314等價于0.1314。
2)指數形式
指數形式的典型格式為xey,如下:
1e9 5.2e000000 5.2e-1 1.1e2
它表示的數值是:
x
×
1
0
y
x \times 10^{y}
x×10y
其中
y
y
y 代表的是數字10的指數部分,所以是支持負數的。
五、字符常量
字符常量可以是一個普通的字符、一個轉義序列,或一個通用的字符。
每個字符都對應一個 ASCII 碼值。
1)普通字符
普通字符就是用單引號括引起來的單個字符,如下:
'a' 'Q' '8' '?' '+' ' '
包含 26 個小寫字母,26 個大寫字母,10 個數字,幾個標點符號,運算符等等。
具體參見:光天化日學C語言(07)- ASCII碼。
2)轉義字符
轉義字符是用引號引起來,并且內容為 斜杠 + 字符,例如我們之前遇到的用 '\n'代表換行,\t代表水平制表符(可理解為鍵盤上的 tab 鍵),'\\'代表一個反斜杠,等等;
當然還可以用 '\ooo'來代替一個字符,其中一個數字o代表一個八進制數;也可以用 '\xhh'來代表一個字符,具體見如下代碼:
#include
以上的代碼輸出結果為:
A A A
這是因為八進制下的101和十六進制的41在十進制下都是65,代表的是大寫字母'A'的ASCII 碼值。
【例題1】請問如何輸出一個單引號?
六、字符串常量
字符串常量,又稱為字符串字面值,是括在雙引號""中的。一個字符串包含類似于字符常量的字符:普通字符、轉義序列。
1、單個字符串常量
#include
我們可以用轉義的'\x43'代表'C'和其它字符組合,變成一個字符串常量。以上代碼輸出為:
光天化日學C語言!
【例題2】如果我想要如下輸出結果,請問,代碼要怎么寫?
"光天化日學C語言!"
2、字符串常量分行
兩個用""引起來的字符串,是可以無縫連接的,如下代碼:
#include
這段代碼的結果也是:
光天化日學C語言!
七、符號常量
1、#define
利用 #define預處理器可以定義一個常量如下:
#include
以上這段代碼,會將所有TIPS都原文替換為"光天化日學\x43語言!\n";將所有love替換為1314。
2、const
const的用法也非常廣泛,而且涉及到很多概念,這里只介紹最簡單的用法,后面會開辟一個新的章節專門來講它的用法。
#include
我們可以在普通變量定義前加上const,這樣就代表它是個常量了,在整個運行過程中都不能被修改。
【例題3】下面這段代碼會發生什么情況,自己編程試一下吧。
#include
通過這一章,我們學會了 各種類型 的常量,希望對你有幫助哦 ~ 祝大家早日成為 C 語言大神!
(https://blog.csdn.net/whereisherofrom/category_11115622.html)
C 語言 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。