欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、字符型常量

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

例如:‘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ù)字字符不一樣的,帶單引號(hào)的是字符,例如:1是整型數(shù)字,而’1’是字符,其ASCII碼是49,即按整型輸出的話就是49,按字符型數(shù)據(jù)輸出就是1。

ASCII碼表:

符號(hào)(解釋)十進(jìn)制十六進(jìn)制符號(hào)(解釋)十進(jìn)制十六進(jìn)制
NULL(空操作)00x00@640x40
SOH(標(biāo)題開始)10x01A650x41
STX(正文開始)20x02B660x42
ETX(正文結(jié)束)30x03C670x43
EOT(傳輸結(jié)束)40x04D680x44
ENQ(請(qǐng)求)50x05E690x45
ACK(收到通知)60x06F700x46
BEL(響鈴)70x07G710x47
BS(退格)80x08H720x48
HT(水平制表符)90x09I730x49
LF(換行)100x0AJ740x4A
VT(垂直制表符)110x0BK750x4B
FF(換頁(yè))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ù)目有限,無法滿足要求。為此,國(guó)際標(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不再是國(guó)際標(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 請(qǐng)求0000 0101050x5
6ACK 收到通知0000 0110060x6
7BEL 響鈴0000 0111070x7
8BS 退格0000 10000100x8
9HT 水平制表符0000 10010110x9
10LF 換行鍵0000 10100120xA
11VT 垂直制表符0000 10110130xB
12FF 換頁(yè)鍵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! 嘆號(hào)0010 00010410x21
34" 雙引號(hào)0010 00100420x22
35# 井號(hào)0010 00110430x23
36$ 美元符0010 01000440x24
37% 百分號(hào)0010 01010450x25
38& 和號(hào)0010 01100460x26
39’ 閉單引號(hào)0010 01110470x27
40( 開括號(hào)0010 10000500x28
41) 閉括號(hào)0010 10010510x29
42* 星號(hào)0010 10100520x2A
43+ 加號(hào)0010 10110530x2B
44, 逗號(hào)0010 11000540x2C
45- 減號(hào)/破折號(hào)0010 11010550x2D
46. 句號(hào)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: 冒號(hào)0011 10100720x3A
59; 分號(hào)0011 10110730x3B
60< 小于0011 11000740x3C
61= 等于0011 11010750x3D
62> 大于0011 11100760x3E
63? 問號(hào)0011 11110770x3F
64@ 電子郵件符號(hào)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[ 開方括號(hào)0101 101101330x5B
92\ 反斜杠0101 110001340x5C
93] 閉方括號(hào)0101 110101350x5D
94^ 脫字節(jié)0101 111001360x5E
95_ 下劃線0101 111101370x5F
96’ 開單引號(hào)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{ 開花括號(hào)0111 101101730x7B
124丨垂線0111 110001740x7C
125} 閉花括號(hào)0111 110101750x7D
126~ 波浪號(hào)0111 111001760x7E
127DEL 刪除0111 111101770x7F

2、字符型變量

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

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

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

字符型變量在計(jì)算機(jī)中是按照ASCII碼的值來存儲(chǔ)的,可以和整形數(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è)字符再輸出,每?jī)蓚€(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)算

求解簡(jiǎn)單的四則運(yùn)算表達(dá)式。輸入一個(gè)形如 "操作數(shù) 運(yùn)算符 操作數(shù)"的四則運(yùn)算表達(dá)式,輸出運(yùn)算結(jié)果,要求對(duì)除數(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);	/*對(duì)操作數(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 {							/*對(duì)除數(shù)為0作特殊處理*/
			printf("Divisior can not be 0!\n");
		}
	} else {
		printf ("Unknown operator!\n");		/*運(yùn)算符輸出錯(cuò)誤*/
	}

	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è)字符,它會(huì)占據(jù)運(yùn)算符的位置,在程序中就會(huì)是一個(gè)無法識(shí)別的運(yùn)算符。

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

總結(jié)

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

相關(guān)文章

  • C++小游戲教程之猜數(shù)游戲的實(shí)現(xiàn)

    C++小游戲教程之猜數(shù)游戲的實(shí)現(xiàn)

    這篇文章主要和大家詳細(xì)介紹如何利用C++做一個(gè)簡(jiǎn)易的猜數(shù)游戲,分為用戶猜數(shù)和系統(tǒng)猜數(shù)。文中的示例代碼講解詳細(xì) ,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測(cè)的方法

    C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測(cè)的方法

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測(cè)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • c語言調(diào)用匯編的方法

    c語言調(diào)用匯編的方法

    在此記錄一下c調(diào)用匯編的方法,匯編使用的是AT&T語法。例子很簡(jiǎn)單,就是在給一個(gè)整數(shù)用匯編轉(zhuǎn)換成二進(jìn)制
    2013-11-11
  • C++中Covariant返回值類型詳解

    C++中Covariant返回值類型詳解

    這篇文章主要介紹了C++中Covariant返回值類型詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以可以參考一下
    2022-09-09
  • 詳解C語言之函數(shù)

    詳解C語言之函數(shù)

    本文是小結(jié)了一下C語言的函數(shù)語法,詳細(xì)介紹了C語言函數(shù)語法的概述、函數(shù)的定義、函數(shù)的返回值、函數(shù)調(diào)用等7個(gè)方面的內(nèi)容,非常詳細(xì),這里推薦給小伙伴們
    2021-11-11
  • VC6.0常用快捷鍵大全

    VC6.0常用快捷鍵大全

    這篇文章主要介紹了VC6.0常用快捷鍵大全,非常實(shí)用,需要的朋友可以參考下
    2014-08-08
  • C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例

    C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例

    這篇文章主要介紹了C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例,并且轉(zhuǎn)換后會(huì)統(tǒng)計(jì)二進(jìn)制1的個(gè)數(shù),實(shí)例簡(jiǎn)單明了,需要的朋友可以參考下
    2014-06-06
  • 用C語言實(shí)現(xiàn)簡(jiǎn)單掃雷小游戲

    用C語言實(shí)現(xiàn)簡(jiǎn)單掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了用C語言實(shí)現(xiàn)簡(jiǎn)單掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言實(shí)現(xiàn)萬年歷源碼

    C語言實(shí)現(xiàn)萬年歷源碼

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)萬年歷源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C++堆棧類模板實(shí)現(xiàn)代碼

    C++堆棧類模板實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C++堆棧類模板的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評(píng)論