最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中的字符型數(shù)據(jù)與ASCII碼表

 更新時(shí)間:2023年01月28日 22:59:18   作者:passxgx  
這篇文章主要介紹了C語言中的字符型數(shù)據(jù)與ASCII碼表,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

1、字符型常量

字符型常量指單個(gè)字符,是用一對單引號及其所括起來的字符表示。

例如:‘A’、‘a’、‘0’、’$‘等都是字符型常量。

C語言的字符使用的就是ASCII字符集,總共有128個(gè),每個(gè)相應(yīng)的ASCII碼都表示一個(gè)字符:

(1)每一個(gè)字符都有唯一的次序值,即ASCII碼。

(2)數(shù)字’0’,‘1’,‘2’,…,‘9’、大寫字母’A’,‘B’,‘C’,…,‘Z’、小寫字母’a’,‘b’,‘c’,…,'z’的ASCII都是升序連續(xù)排列的。

注: 數(shù)字和數(shù)字字符不一樣的,帶單引號的是字符,例如:1是整型數(shù)字,而’1’是字符,其ASCII碼是49,即按整型輸出的話就是49,按字符型數(shù)據(jù)輸出就是1。

ASCII碼表:

符號(解釋)十進(jìn)制十六進(jìn)制符號(解釋)十進(jìn)制十六進(jìn)制
NULL(空操作)00x00@640x40
SOH(標(biāo)題開始)10x01A650x41
STX(正文開始)20x02B660x42
ETX(正文結(jié)束)30x03C670x43
EOT(傳輸結(jié)束)40x04D680x44
ENQ(請求)50x05E690x45
ACK(收到通知)60x06F700x46
BEL(響鈴)70x07G710x47
BS(退格)80x08H720x48
HT(水平制表符)90x09I730x49
LF(換行)100x0AJ740x4A
VT(垂直制表符)110x0BK750x4B
FF(換頁)120x0CL760x4C
CR(回車)130x0DM770x4D
SO(不用切換)140x0EN780x4E
SI(啟用切換)150x0FO790x4F
DLE(數(shù)據(jù)鏈路轉(zhuǎn)義)160x10P800x50
DC1(設(shè)備控制1)170x11Q810x51
DC2(設(shè)備控制2)180x12R820x52
DC3(設(shè)備控制3)190x13S830x53
DC4(設(shè)備控制4)200x14T840x54
NAK(拒絕接收)210x15U850x55
SYN(同步空閑)220x16V860x56
ETB(結(jié)束傳輸塊)230x17W870x57
CAN(取消)240x18X880x58
EM(媒介結(jié)束)250x19Y890x59
SUB(代替)260x1AZ900x5A
ESC(換碼(溢出))270x1B[910x5B
FS(文件分隔符)280x1C\920x5C
GS(分組符)290x1D]930x5D
RS(記錄分隔符)300x1E^940x5E
US(單元分隔符)310x1F_950x5F
(space)(空格)320x20`960x60
!330x21a970x61
"340x22b980x62
#350x23c990x63
$360x24d1000x64
%370x25e1010x65
&380x26f1020x66
390x27g1030x67
(400x28h1040x68
)410x29i1050x69
*420x2Aj1060x6A
+430x2Bk1070x6B
,440x2Cl1080x6C
-450x2Dm1090x6D
.460x2En1100x6E
/470x2Fo1110x6F
0480x30p1120x70
1490x31q1130x71
2500x32r1140x72
3510x33s1150x73
4520x32t1160x74
5530x35u1170x75
6540x36v1180x76
7550x37w1190x77
8560x38x1200x78
9570x39y1210x79
:580x3Az1220x7A
;590x3B{1230x7B
<600x3C|1240x7C
=610x3D}1250x7D
>620x3E~1260x7E
?630x3FDEL(刪除)1270x7F

在C語言中,所使用的字符被一一映射到一張表中,這張表被稱為ASCII碼表。

由于標(biāo)準(zhǔn) ASCII 字符集字符數(shù)目有限,無法滿足要求。為此,國際標(biāo)準(zhǔn)化組織又制定了 ISO2022 標(biāo)準(zhǔn),它規(guī)定了在保持與 ISO646 兼容的前提下將 ASCII 字符集擴(kuò)充為 8 位代碼的統(tǒng)一方法。 ISO 1陸續(xù)制定了一批適用于不同地區(qū)的擴(kuò)充 ASCII 字符集,每種擴(kuò)充 ASCII 字符集分別可以擴(kuò)充 128 個(gè)字符,這些擴(kuò)充字符的編碼均為高位為 1 的 8 位代碼,稱為擴(kuò)展 ASCII 碼。

但由于擴(kuò)展ASCII不再是國際標(biāo)準(zhǔn),故不在此展示。

十進(jìn)制碼值Dec縮寫/字符二進(jìn)制碼值Bin八進(jìn)制碼值Oct十六進(jìn)制碼值Hex
0NULL 空字符0000 0000000x0
1SOH 標(biāo)題開始0000 0001010x1
2STX 正文開始0000 0010020x2
3ETX 正文介紹0000 0011030x3
4EOT 傳輸結(jié)束0000 0100040x4
5ENQ 請求0000 0101050x5
6ACK 收到通知0000 0110060x6
7BEL 響鈴0000 0111070x7
8BS 退格0000 10000100x8
9HT 水平制表符0000 10010110x9
10LF 換行鍵0000 10100120xA
11VT 垂直制表符0000 10110130xB
12FF 換頁鍵0000 11000140xC
13CR 回車鍵0000 11010150xD
14SO 不用切換0000 11100160xE
15SI 啟用切換0000 11110170xF
16DLE 數(shù)據(jù)鏈路轉(zhuǎn)義0001 00000200x10
17DC1 設(shè)備控制10001 00010210x11
18DC2 設(shè)備控制20001 00100220x12
19DC3 設(shè)備控制30001 00110230x13
20DC4 設(shè)備控制40001 01000240x14
21NAK 拒絕接受0001 01010250x15
22SYN 同步空閑0001 01100260x16
23ETB 結(jié)束傳輸塊0001 01110270x17
24CAN 取消0001 10000300x18
25EM 媒介結(jié)束0001 10010310x19
26SUB 代替0001 10100320x1A
27ESC 換碼(溢出)0001 10110330x1B
28FS 文件分隔符0001 11000340x1C
29GS 分組符0001 11010350x1D
30RS 記錄分隔符0001 11100360x1E
31US 單元分隔符0001 11110370x1F
32(space) 空格0010 00000400x20
33! 嘆號0010 00010410x21
34" 雙引號0010 00100420x22
35# 井號0010 00110430x23
36$ 美元符0010 01000440x24
37% 百分號0010 01010450x25
38& 和號0010 01100460x26
39’ 閉單引號0010 01110470x27
40( 開括號0010 10000500x28
41) 閉括號0010 10010510x29
42* 星號0010 10100520x2A
43+ 加號0010 10110530x2B
44, 逗號0010 11000540x2C
45- 減號/破折號0010 11010550x2D
46. 句號0010 11100560x2E
47/ 斜杠0010 11110570x2F
48數(shù)字00011 00000600x30
49數(shù)字10011 00010610x31
50數(shù)字20011 00100620x32
51數(shù)字30011 00110630x33
52數(shù)字40011 01000640x34
53數(shù)字50011 01010650x35
54數(shù)字60011 01100660x36
55數(shù)字70011 01110670x37
56數(shù)字80011 10000700x38
57數(shù)字90011 10010710x39
58: 冒號0011 10100720x3A
59; 分號0011 10110730x3B
60< 小于0011 11000740x3C
61= 等于0011 11010750x3D
62> 大于0011 11100760x3E
63? 問號0011 11110770x3F
64@ 電子郵件符號0100 000001000x40
65大寫字母A0100 000101010x41
66大寫字母B0100 001001020x42
67大寫字母C0100 001101030x43
68大寫字母D0100 010001040x44
69大寫字母E0100 010101050x45
70大寫字母F0100 011001060x46
71大寫字母G0100 011101070x47
72大寫字母H0100 100001100x48
73大寫字母I0100 100101110x49
74大寫字母J0100 101001120x4A
75大寫字母K0100 101101130x4B
76大寫字母L0100 110001140x4C
77大寫字母M0100 110101150x4D
78大寫字母N0100 111001160x4E
79大寫字母O0100 111101170x4F
80大寫字母P0101 000001200x50
81大寫字母Q0101 000101210x51
82大寫字母R0101 001001220x52
83大寫字母S0101 001101230x53
84大寫字母T0101 010001240x54
85大寫字母U0101 010101250x55
86大寫字母V0101 011001260x56
87大寫字母W0101 011101270x57
88大寫字母X0101 100001300x58
89大寫字母Y0101 100101310x59
90大寫字母Z0101 101001320x5A
91[ 開方括號0101 101101330x5B
92\ 反斜杠0101 110001340x5C
93] 閉方括號0101 110101350x5D
94^ 脫字節(jié)0101 111001360x5E
95_ 下劃線0101 111101370x5F
96’ 開單引號0110 000001400x60
97小寫字母a0110 000101410x61
98小寫字母b0110 001001420x62
99小寫字母c0110 001101430x63
100小寫字母d0110 010001440x64
101小寫字母e0110 010101450x65
102小寫字母f0110 011001460x66
103小寫字母g0110 011101470x67
104小寫字母h0110 100001500x68
105小寫字母i0110 100101510x69
106小寫字母j0110 101001520x6A
107小寫字母k0110 101101530x6B
108小寫字母l0110 110001540x6C
109小寫字母m0110 110101550x6D
110小寫字母n0110 111001560x6E
111小寫字母o0110 111101570x6F
112小寫字母p0111 000001600x70
113小寫字母q0111 000101610x71
114小寫字母r0111 001001620x72
115小寫字母s0111 001101630x73
116小寫字母t0111 010001640x74
117小寫字母u0111 010101650x75
118小寫字母v0111 011001660x76
119小寫字母w0111 011101670x77
120小寫字母x0111 100001700x78
121小寫字母y0111 100101710x79
122小寫字母z0111 101001720x7A
123{ 開花括號0111 101101730x7B
124丨垂線0111 110001740x7C
125} 閉花括號0111 110101750x7D
126~ 波浪號0111 111001760x7E
127DEL 刪除0111 111101770x7F

2、字符型變量

用char定義的變量為字符型變量。

例如:char op; 定義了一個(gè)字符型變量op,其數(shù)據(jù)類型為char型,即字符型數(shù)據(jù)。

可以對其進(jìn)行賦值,例如op='*'就是將字符型常量’*‘賦值給變量op。

字符型變量在計(jì)算機(jī)中是按照ASCII碼的值來存儲的,可以和整形數(shù)據(jù)進(jìn)行運(yùn)算,其運(yùn)算規(guī)格類似,例如:op = '*'+1;,那么op按字符型數(shù)據(jù)輸出就是’+’,按整型數(shù)據(jù)輸出就是43。

3、字符型數(shù)據(jù)的輸入輸出

(1)scanf()和printf()函數(shù)輸入輸出字符

scanf()和printf()函數(shù)進(jìn)行字符型數(shù)據(jù)的輸入輸出和整型浮點(diǎn)型的處理方式完全一樣,只是格式控制字符串中相應(yīng)的格式控制說明為%c。

(2)字符輸入函數(shù)getchar()

getchar()函數(shù)可以從鍵盤輸入一個(gè)字符。其一般用法為:

char ch;ch = getchar();

這句話就是從鍵盤輸入一個(gè)字符,并將其賦給變量ch。

(3)字符輸出函數(shù)putchar()

putchar()函數(shù)是輸出一個(gè)字符。其一般用法為:

putchar(輸出參數(shù));

輸出參數(shù)是字符型變量或者字符型常量。

注: 使用getchar()函數(shù)和putchar()函數(shù)同樣需要先包含頭文件#include <stdio.h>

函數(shù)getchar()和putchar()分別只能輸入和輸出一個(gè)字符,若要處理多個(gè)字符的輸出和輸出,那么一般需要采用循環(huán)的方式多次調(diào)用該函數(shù)。

例如下面的代碼為輸入8個(gè)字符,然后將這8個(gè)字符再輸出,每兩個(gè)字符中間添加一個(gè)’-’。

#include <stdio.h>

int main(void)
{
	char ch
	int first = 1, k;	/*first的值表示將要處理的是否為輸入的第一個(gè)字符*/
	printf("Enter 8 characters:");
	for (k=1; k<=8; k++) {
		ch = getchar();	/*變量ch接收從鍵盤輸入的一個(gè)字符*/
		if (first == 1) {
			putchar(ch);	/*輸出存放在變量ch中的字符*/
			first = 0;		/*處理完第1個(gè)字符,清楚標(biāo)志位*/
		} else {	/*處理第2個(gè)及以后的字符*/
			putchar('-'); /*輸出字符常量'-'*/
			putchar(ch);  /*輸出存放在變量ch中的字符*/
		}
	}
}

運(yùn)行結(jié)果:

Enter 8 characters:gorgeous
g-o-r-g-e-o-u-s

例:四則運(yùn)算

求解簡單的四則運(yùn)算表達(dá)式。輸入一個(gè)形如 "操作數(shù) 運(yùn)算符 操作數(shù)"的四則運(yùn)算表達(dá)式,輸出運(yùn)算結(jié)果,要求對除數(shù)0的情況做特別處理。

#include <stdio.h>

int main(void)
{
	double value1, value2;
	char op;
	
	printf("Type in an expression:");	
	scanf("%lf%c%lf", &value1, &op, &value2);
	if (op == '+'){							/*判斷運(yùn)算符是否為'+'*/
		printf("=%.2f\n", value1+value2);	/*對操作數(shù)做加法操作*/
	} else if (op == '-'){					/*否則判斷運(yùn)算符是否為'-'*/
		printf("=%.2f\n", value1-value2);
	} else if (op == '*'){					/*否則判斷運(yùn)算符是否為'*'*/
		printf("=%.2f\n", value1*value2);
	} else if (op == '/'){					/*否則判斷運(yùn)算符是否為'/'*/
		if (value2 != 0){
			printf("=%.2f\n", value1/value2);
		} else {							/*對除數(shù)為0作特殊處理*/
			printf("Divisior can not be 0!\n");
		}
	} else {
		printf ("Unknown operator!\n");		/*運(yùn)算符輸出錯誤*/
	}

	return 0;
}

運(yùn)行結(jié)果:

Type in an expression:8.65+3.29
=11.94

Type in an expression:76.9/0
Divisior can not be 0!

Type in an expression:47.2 - 76
Unknown operator!

注: 此處一定要注意,這里的操作數(shù)和運(yùn)算符之間必須連續(xù)輸入,兩者之間不能有空格。

這是因?yàn)榭崭褚彩且粋€(gè)字符,它會占據(jù)運(yùn)算符的位置,在程序中就會是一個(gè)無法識別的運(yùn)算符。

如上述運(yùn)行結(jié)果第三個(gè)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ 中try finally關(guān)鍵字詳解

    C++ 中try finally關(guān)鍵字詳解

    本文給大家介紹C++ 中try finally關(guān)鍵字的相關(guān)知識,非常不錯,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • C語言實(shí)現(xiàn)簡單通訊錄功能

    C語言實(shí)現(xiàn)簡單通訊錄功能

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單通訊錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C語言二進(jìn)制思想以及數(shù)據(jù)的存儲

    C語言二進(jìn)制思想以及數(shù)據(jù)的存儲

    本文主要介紹了C語言的二進(jìn)制思想以及數(shù)據(jù)的存儲,這里對二進(jìn)制和數(shù)據(jù)存儲做了詳細(xì)的說明,對開始學(xué)習(xí)C語言的同學(xué)比較有參考價(jià)值
    2016-07-07
  • C語言實(shí)現(xiàn)簡易連連看游戲

    C語言實(shí)現(xiàn)簡易連連看游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡易連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C語言開發(fā)實(shí)現(xiàn)井字棋及電腦落子優(yōu)化示例詳解

    C語言開發(fā)實(shí)現(xiàn)井字棋及電腦落子優(yōu)化示例詳解

    以前上課經(jīng)常和同桌玩起井字棋,那么我們就當(dāng)我們回憶童年,現(xiàn)在也用C語言來實(shí)現(xiàn)井字棋,本次代碼相對于初階的井字棋,在電腦下棋代碼部分做了優(yōu)化,使得電腦更加具有威脅
    2021-11-11
  • C++實(shí)現(xiàn)雙向循環(huán)鏈表

    C++實(shí)現(xiàn)雙向循環(huán)鏈表

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)雙向循環(huán)鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C++中線程同步與互斥的四種方式介紹及對比詳解

    C++中線程同步與互斥的四種方式介紹及對比詳解

    在C++中,當(dāng)兩個(gè)或更多的線程需要訪問共享數(shù)據(jù)時(shí),就會出現(xiàn)線程安全問題,這是因?yàn)?如果沒有適當(dāng)?shù)耐綑C(jī)制,一個(gè)線程可能在另一個(gè)線程還沒有完成對數(shù)據(jù)的修改就開始訪問數(shù)據(jù),這將導(dǎo)致數(shù)據(jù)的不一致性和程序的不可預(yù)測性,本文介紹了C++中線程同步與互斥的四種方式介紹及對比
    2025-01-01
  • C語言開發(fā)簡易版掃雷小游戲

    C語言開發(fā)簡易版掃雷小游戲

    本文給大家分享的是一個(gè)使用C語言開發(fā)的命令行下的簡易版掃雷小游戲,本身沒有什么太多的技術(shù)含量,只不過是筆者的處女作,所以還是推薦給大家,希望對大家學(xué)習(xí)C能夠有所幫助。
    2015-12-12
  • c語言中使用BF-KMP算法實(shí)例

    c語言中使用BF-KMP算法實(shí)例

    這篇文章主要介紹了c語言中使用BF-KMP算法,大家參考使用
    2013-11-11
  • CISBitmap派生的VC++位圖透明類實(shí)例

    CISBitmap派生的VC++位圖透明類實(shí)例

    這篇文章主要介紹了CISBitmap派生的VC++位圖透明類,比較實(shí)用的功能,需要的朋友可以參考下
    2014-08-08

最新評論

余姚市| 桂东县| 朝阳区| 门源| 株洲县| 得荣县| 迁安市| 淳安县| 清苑县| 农安县| 昭平县| 江津市| 江口县| 岳池县| 定安县| 广州市| 化德县| 伊金霍洛旗| 莱西市| 鱼台县| 宝应县| 曲麻莱县| 苗栗市| 松溪县| 肇庆市| 盘山县| 彰化市| 永春县| 长武县| 连平县| 南通市| 开江县| 沁源县| 揭阳市| 湘西| 南岸区| 英吉沙县| 水富县| 江西省| 恩平市| 高碑店市|