C语言中的字符型数据与ASCII码表有哪些

发布时间:2023-01-30 09:22:39 作者:iii
来源:亿速云 阅读:128

今天小编给大家分享一下C语言中的字符型数据与ASCII码表有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1、字符型常量

字符型常量指单个字符,是用一对单引号及其所括起来的字符表示。

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

C语言的字符使用的就是ASCII字符集,总共有128个,每个相应的ASCII码都表示一个字符:

(1)每一个字符都有唯一的次序值,即ASCII码。

(2)数字’0’,‘1’,‘2’,…,‘9’、大写字母’A’,‘B’,‘C’,…,‘Z’、小写字母’a’,‘b’,‘c’,…,'z’的ASCII都是升序连续排列的。

注: 数字和数字字符不一样的,带单引号的是字符,例如:1是整型数字,而’1’是字符,其ASCII码是49,即按整型输出的话就是49,按字符型数据输出就是1。

ASCII码表:

符号(解释)十进制十六进制
符号(解释)十进制十六进制
NULL(空操作)00x00
@640x40
SOH(标题开始)10x01
A650x41
STX(正文开始)20x02
B660x42
ETX(正文结束)30x03
C670x43
EOT(传输结束)40x04
D680x44
ENQ(请求)50x05
E690x45
ACK(收到通知)60x06
F700x46
BEL(响铃)70x07
G710x47
BS(退格)80x08
H720x48
HT(水平制表符)90x09
I730x49
LF(换行)100x0A
J740x4A
VT(垂直制表符)110x0B
K750x4B
FF(换页)120x0C
L760x4C
CR(回车)130x0D
M770x4D
SO(不用切换)140x0E
N780x4E
SI(启用切换)150x0F
O790x4F
DLE(数据链路转义)160x10
P800x50
DC1(设备控制1)170x11
Q810x51
DC2(设备控制2)180x12
R820x52
DC3(设备控制3)190x13
S830x53
DC4(设备控制4)200x14
T840x54
NAK(拒绝接收)210x15
U850x55
SYN(同步空闲)220x16
V860x56
ETB(结束传输块)230x17
W870x57
CAN(取消)240x18
X880x58
EM(媒介结束)250x19
Y890x59
SUB(代替)260x1A
Z900x5A
ESC(换码(溢出))270x1B
[910x5B
FS(文件分隔符)280x1C
\920x5C
GS(分组符)290x1D
]930x5D
RS(记录分隔符)300x1E
^940x5E
US(单元分隔符)310x1F
_950x5F
(space)(空格)320x20
`960x60
!330x21
a970x61
"340x22
b980x62
#350x23
c990x63
$360x24
d1000x64
%370x25
e1010x65
&380x26
f1020x66
’390x27
g1030x67
(400x28
h1040x68
)410x29
i1050x69
*420x2A
j1060x6A
+430x2B
k1070x6B
,440x2C
l1080x6C
-450x2D
m1090x6D
.460x2E
n1100x6E
/470x2F
o1110x6F
0480x30
p1120x70
1490x31
q1130x71
2500x32
r1140x72
3510x33
s1150x73
4520x32
t1160x74
5530x35
u1170x75
6540x36
v1180x76
7550x37
w1190x77
8560x38
x1200x78
9570x39
y1210x79
:580x3A
z1220x7A
;590x3B
{1230x7B
<600x3C
|1240x7C
=610x3D
}1250x7D
>620x3E
~1260x7E
?630x3F
DEL(删除)1270x7F

2、字符型变量

用char定义的变量为字符型变量。

例如:char op; 定义了一个字符型变量op,其数据类型为char型,即字符型数据。

可以对其进行赋值,例如op='*'就是将字符型常量&rsquo;*&lsquo;赋值给变量op。

字符型变量在计算机中是按照ASCII码的值来存储的,可以和整形数据进行运算,其运算规格类似,例如:op = '*'+1;,那么op按字符型数据输出就是&rsquo;+&rsquo;,按整型数据输出就是43。

3、字符型数据的输入输出

(1)scanf()和printf()函数输入输出字符

scanf()和printf()函数进行字符型数据的输入输出和整型浮点型的处理方式完全一样,只是格式控制字符串中相应的格式控制说明为%c

(2)字符输入函数getchar()

getchar()函数可以从键盘输入一个字符。其一般用法为:

char ch;ch = getchar();

这句话就是从键盘输入一个字符,并将其赋给变量ch。

(3)字符输出函数putchar()

putchar()函数是输出一个字符。其一般用法为:

putchar(输出参数);

输出参数是字符型变量或者字符型常量。

注: 使用getchar()函数和putchar()函数同样需要先包含头文件#include <stdio.h>

函数getchar()和putchar()分别只能输入和输出一个字符,若要处理多个字符的输出和输出,那么一般需要采用循环的方式多次调用该函数。

例如下面的代码为输入8个字符,然后将这8个字符再输出,每两个字符中间添加一个&rsquo;-&rsquo;。

#include <stdio.h>

int main(void)
{
	char ch
	int first = 1, k;	/*first的值表示将要处理的是否为输入的第一个字符*/
	printf("Enter 8 characters:");
	for (k=1; k<=8; k++) {
		ch = getchar();	/*变量ch接收从键盘输入的一个字符*/
		if (first == 1) {
			putchar(ch);	/*输出存放在变量ch中的字符*/
			first = 0;		/*处理完第1个字符,清楚标志位*/
		} else {	/*处理第2个及以后的字符*/
			putchar('-'); /*输出字符常量'-'*/
			putchar(ch);  /*输出存放在变量ch中的字符*/
		}
	}
}

运行结果:

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

例:四则运算

求解简单的四则运算表达式。输入一个形如 "操作数&emsp;运算符&emsp;操作数"的四则运算表达式,输出运算结果,要求对除数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 == '+'){							/*判断运算符是否为'+'*/
		printf("=%.2f\n", value1+value2);	/*对操作数做加法操作*/
	} else if (op == '-'){					/*否则判断运算符是否为'-'*/
		printf("=%.2f\n", value1-value2);
	} else if (op == '*'){					/*否则判断运算符是否为'*'*/
		printf("=%.2f\n", value1*value2);
	} else if (op == '/'){					/*否则判断运算符是否为'/'*/
		if (value2 != 0){
			printf("=%.2f\n", value1/value2);
		} else {							/*对除数为0作特殊处理*/
			printf("Divisior can not be 0!\n");
		}
	} else {
		printf ("Unknown operator!\n");		/*运算符输出错误*/
	}

	return 0;
}

运行结果:

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!

注: 此处一定要注意,这里的操作数和运算符之间必须连续输入,两者之间不能有空格。

这是因为空格也是一个字符,它会占据运算符的位置,在程序中就会是一个无法识别的运算符。

如上述运行结果第三个。

以上就是“C语言中的字符型数据与ASCII码表有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. Linux下C语言如何实现贪吃蛇小游戏
  2. 怎么在c语言中使用二分法查找数组中的元素

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言 ascii

上一篇:Java多线程如何实现定时器

下一篇:SpringBoot中的统一功能处理如何实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》