数据类型之字符型

本文深入解析字符型数据的取值范围、存储方式及其在ASCII码表中的表示,并介绍字符常量的不同表示方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符型

字符型是数据类型的一种

字符型的取值范围

取值范围: [0,255]

字符型的存储

字符实际上是以补码的形式存储在内存地址上的

ASCII码表

American Standard Code for Information Interchange
ASCII码表是字符和数值对应的一个表
ASCII码表中一共有256个字符(取值范围为0 ~ 255)
1. 前128个是标准ASCII码表中的字符,键盘上能找到部分字符
2. 后128个是扩充字符,为扩充字符,键盘上找不到的字符
二进制十进制十六进制名称/意义缩写
0000 000000空字符(Null)NUL
0000 000111标题开始SOH
0000 001022本文开始STX
0000 001133本文结束ETX
0000 010044传输结束EOT
0000 010155请求ENQ
0000 011066确认回应ACK
0000 011177响铃BEL
0000 100088退格BS
0000 100199水平定位符号HT
0000 1010100A换行键LF
0000 1011110B垂直定位符号VT
0000 1100120C换页键FF
0000 1101130D归位键CR
0000 1110140E取消变换(Shift out)SO
0000 1111150F启用变换(Shift in)SI
0001 00001610跳出数据通讯DLE
0001 00011711设备控制一(XON 启用软件速度控制)DC1
0001 00101812设备控制二DC2
0001 00111913设备控制三(XOFF 停用软件速度控制)DC3
0001 01002014设备控制四DC4
0001 01012115确认失败回应NAK
0001 01102216同步用暂停SYN
0001 01112317区块传输结束ETB
0001 10002418取消CAN
0001 10012519连接介质中断EM
0001 1010261A替换SUB
0001 1011271B跳出ESC
0001 1100281C文件分割符FS
0001 1101291D组群分隔符GS
0001 1110301E记录分隔符RS
0001 1111311F单元分隔符US
0010 00003220空格
0010 00013321!
0010 00103422"
0010 00113523#
0010 01003624$
0010 01013725%
0010 01103826&
0010 01113927
0010 10004028(
0010 10014129)
0010 1010422A*
0010 1011432B+
0010 1100442C,
0010 1101452D-
0010 1110462E.
0010 1111472F/
0011 000048300
0011 000149311
0011 001050322
0011 001151333
0011 010052344
0011 010153355
0011 011054366
0011 011155377
0011 100056388
0011 100157399
0011 1010583A:
0011 1011593B;
0011 1100603C<
0011 1101613D=
0011 1110623E>
0011 1111633F?
0100 00006440@
0100 00016541A
0100 00106642B
0100 00116743C
0100 01006844D
0100 01016945E
0100 01107046F
0100 01117147G
0100 10007248H
0100 10017349I
0100 1010744AJ
0100 1011754BK
0100 1100764CL
0100 1101774DM
0100 1110784EN
0100 1111794FO
0101 00008050P
0101 00018151Q
0101 00108252R
0101 00118353S
0101 01008454T
0101 01018555U
0101 01108656V
0101 01118757W
0101 10008858X
0101 10018959Y
0101 1010905AZ
0101 1011915B[
0101 1100925C
0101 1101935D]
0101 1110945E^
0101 1111955F_
0110 00009660`
0110 00019761a
0110 00109862b
0110 00119963c
0110 010010064d
0110 010110165e
0110 011010266f
0110 011110367g
0110 100010468h
0110 100110569i
0110 10101066Aj
0110 10111076Bk
0110 11001086Cl
0110 11011096Dm
0110 11101106En
0110 11111116Fo
0111 000011270p
0111 000111371q
0111 001011472r
0111 001111573s
0111 010011674t
0111 010111775u
0111 011011876v
0111 011111977w
0111 100012078x
0111 100112179y
0111 10101227Az
0111 10111237B{
0111 11001247C|
0111 11011257D}
0111 11101267E~
0111 11111277F删除DEL

如何表示一个字符常量

1. 十进制           255
2. 十六进制         0xff
3. 八进制的转义字符  '\0377'
4. 十六进制的转义字符 '\xff'
5. 其他转义字符

转义字符

\0oo --八进制值( oo 必须是有效的八进制数,即每个 o 可表示 0 ~7 中的一个数)
\377 或者 \0377 表示 0xff

\xhh --十六进制( hh 必须是有效的十六进制数,即每个 h 可表示 0 ~f 中的一个数)
\a --警报(ANSIC)
\b --退格
\f --换页
\n --换行
\r --回车
\t --水平制表符
\v --垂直制表符
\ --反斜杠(\)
’ --单引号
" --双引号
? --问号

‘\a’ 转义序列是 C90 新增的警报字符,警报字符的效果是能发出一声蜂鸣,但光标位置不好移动
‘\t’ 水平制表符是将活跃位置(即光标位置)移至下一个水平制表点(通常是第1个、第9个、第17个、第25个等字符位置)
‘\v’ 垂直制表符是将活跃位置(即光标位置)移至下一个垂直制表点

把转义序列赋值给字符变量时,必须用单引号把转义序列括起来。
例如
char aa = '\?'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值