1、char類型git
1.char類型存儲的是整數而不是字符,例如:在ASCII中,65表明A;程序員
2.標準ASCII範圍爲0-127;商用統一編碼Unicode建立一個全球字符合集;github
3.注意點:C語言把1字節定義爲char類型佔用的位數,所以在16位,32位,64位系統中都是能夠用char類型的。有敵意i但值得注意就是在Java中,char類型是佔兩個字節的,而byte類型纔會佔用一個類型;微信
4.聲明方式:學習
聲明一個字符,咱們須要使用單引號將其引用起來。不能使用雙引號大數據
咱們能夠這樣char a = 65;可是並不推薦這樣寫,由於在跨系統的時候,可能會由於編碼形式的不一樣,致使棘手的問題。ui
(1)注意點:char類型在C語言中將字符常量視爲int類型,而不是char類型編碼
char a = 'A'; char b = 'DABC'; printf("%c\n",a); printf("%c",b);
能夠看出,變量b能夠存儲四個字符,可是當打印的時候咱們只會打印出後面的八位,即C,不會打印前面,這種形式也用於「變位」操做。spa
5.非打印字符.net
有些字符好比:換行、空格等特殊字符沒法打印出,咱們有兩個方式進行
(1)使用ASCII碼,好比:蜂鳴字符就是7,能夠這樣寫char a = 7;
(2)使用轉義序列
轉義序列 |
含義 |
\a |
警報(ANSI C) |
\b |
退格 |
\f |
換頁 |
\n |
換行 |
\r |
回車 |
\t |
水平製表符 |
\v |
垂直製表符 |
\\ |
反斜槓 |
\' |
單引號 |
轉義序列 |
含義 |
\" |
雙引號 |
\? |
問號 |
\0oo |
八進制(oo必須是有效的八進制數字,即每一個o可表示 |
\xhh |
十六進制(hh必須是有效的十六進制數,即每一個h可表示0~f中的一個數字) |
(3)C90中添加了警報聲音,也就是\a,可是在某些系統中是不起做用的,C規定:警報字符是不改變活躍位置的(這個活躍位置,咱們能夠理解爲光標)
(4)八進制其實能夠省略前面的0,好比:'\007',能夠寫爲‘\07',甚至能夠寫爲'\7';
(5)整數常量的例子
類型 |
十六進制 |
八進制 |
十進制 |
char |
\0x41 |
\0101 |
N.A. |
int |
0x41 |
0101 |
65 |
unsigned int |
0x41u |
0101u |
65u |
long |
0x41L |
0101L |
65L |
unsigned long |
0x41UL |
0101UL |
65UL |
long long |
0x41LL |
0101LL |
65LL |
unsigned long long |
0x41ULL |
0101ULL |
65ULL |
(6)使用ASCII碼時,注意數字和數字字符的區別,例如:字符4對應的ASCII碼是52,’4‘表示字符4,不是數值4
(7) ASCII碼和轉義字符相比,推薦使用轉義字符,由於這樣可移植性強,且易於識別。
(8) 若是要使用ASCII碼,爲什麼要寫成\032,而不是032,首先’\032'可以更加清晰的表達程序員使用字符編碼的意圖,而且這樣寫是能夠嵌套到字符串中去的,好比:printf("Hello!\007\n")
3、源碼:
D9_1_TypeOfchar.c
https://github.com/ruigege66/CPrimerPlus/blob/master/D9_1_TypeOfchar.c
https://github.com/ruigege66/CPrimerPlus/blob/master/D7_toobig.c
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公衆號:傅里葉變換,我的帳號,僅用於技術交流,後臺回覆「禮包」獲取Java大數據學習視頻禮包、