【C++从0到1】39、C++中字符型的基本概念

C++从0到1全系列教程

  • 字符型(char)占用的内存空间是1个字节,书写用单引号包含。
  • 在内存中,不存放字符本身,而是存放与它对应的编码,即ASCII码。
  • ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是现今最通用的单字节编码方案,包含了33个控制字符(具有特殊含义无法显示的字符)和95个可显示字符。
  • ‘X’ -> 88 01011000 ‘a’->97 01100001 ‘3’->51 00110011

1、ASCII 控制字符 (0~31)

十进制 符号 中文解释 十进制 符号 中文解释
0 NULL 空字符 16 DLE 数据链路转义
1 SOH 标题开始 17 DC1 设备控制 1
2 STX 正文开始 18 DC2 设备控制 2
3 ETX 正文结束 19 DC3 设备控制 3
4 EOT 传输结束 20 DC4 设备控制 4
5 ENQ 询问 21 NAK 拒绝接收
6 ACK 收到通知 22 SYN 同步空闲
7 BEL 23 ETB 传输块结束
8 BS 退格 24 CAN 取消
9 HT 水平制表符 25 EM 介质中断
10 LF 换行键 26 SUB 替换
11 VT 垂直制表符 27 ESC 换码符
12 FF 换页键 28 FS 文件分隔符
13 CR 回车键 29 GS 组分隔符
14 SO 移出 30 RS 记录分离符
15 SI 移入 31 US 单元分隔符

2、ASCII 可显示字符 (32~127)

十进制 符号 中文解释 十进制 符号 中文解释
32 空格 80 P 大写字母 P
33 ! 感叹号 81 Q 大写字母 Q
34 " 双引号 82 R 大写字母 R
35 # 井号 83 S 大写字母 S
36 $ 美元符 84 T 大写字母 T
37 % 百分号 85 U 大写字母 U
38 & 86 V 大写字母 V
39 单引号 87 W 大写字母 W
40 ( 左括号 88 X 大写字母 X
41 ) 右括号 89 Y 大写字母 Y
42 * 星号 90 Z 大写字母 Z
43 + 加号 91 [ 左中括号
44 , 逗号 92 |斜线
45 - 减号 93 ] 右中括号
46 . 句点或小数点 94 ^ 音调符号
47 / 反斜线 95 _ 下划线
48 0 数字0的符号 96 ` 重音符
49 1 数字1的符号 97 a 小写字母 a
50 2 数字2的符号 98 b 小写字母 b
51 3 数字3的符号 99 c 小写字母 c
52 4 数字4的符号 100 d 小写字母 d
53 5 数字5的符号 101 e 小写字母 e
54 6 数字6的符号 102 f 小写字母 f
55 7 数字7的符号 103 g 小写字母 g
56 8 数字8的符号 104 h 小写字母 h
57 9 数字9的符号 105 i 小写字母 i
58 : 冒号 106 j 小写字母 j
59 ; 分号 107 k 小写字母 k
60 < 小于 108 l 小写字母 l
61 = 等号 109 m 小写字母 m
62 > 大于 110 n 小写字母 n
63 ? 问号 111 o 小写字母 o
64 @ 电子邮件符号 112 p 小写字母 p
65 A 大写字母 A 113 q 小写字母 q
66 B 大写字母 B 114 r 小写字母 r
67 C 大写字母 C 115 s 小写字母 s
68 D 大写字母 D 116 t 小写字母 t
69 E 大写字母 E 117 u 小写字母 u
70 F 大写字母 F 118 v 小写字母 v
71 G 大写字母 G 119 w 小写字母 w
72 H 大写字母 H 120 x 小写字母 x
73 I 大写字母 I 121 y 小写字母 y
74 J 大写字母 J 122 z 小写字母 z
75 K 大写字母 K 123 { 左大括号
76 L 大写字母 L 124
77 M 大写字母 M 125 } 右大括号
78 N 大写字母 N 126 ~ 波浪号
79 O 大写字母 O 127 删除
  • a)32是空格。
  • b)48~57是0到9十个阿拉伯数字;
  • c)65~90是26个大写英文字母;
  • d)97~122号是26个小写英文字母;
  • e)其余的是一些标点符号、运算符号等;
  • f)第127个字符表示的是键盘上的删除键。

3、字符的本质

  • a)字符的本质是整数,取值范围是0~127。
  • b)在书写的时候可以用单引号包含,也可以用整数。
  • c)如果书写的时候用单引号包含,程序执行的时候,将把符号解释为对应的整数。
  • d)显示的时候,把整数解释为对应的符号,也可以直接显示整数。
  • d)可以与整数进行任何运算,运算的时候,书写方式可以用字符,也可以用整数。
  • e)C++为什么没有提供1字节的整型?
  • f)字符型也可以用unsigned修饰,意义何在?

4、示例代码

#include          // 包含头文件。
using namespace std;        // 指定缺省的命名空间。

int main()
{
    // 字符型(char)占用的内存空间是1个字节,书写用单引号包含。
    int a = 'X';
    cout << "a=" << a << endl;
    cout << "sizeof(a)=" << sizeof(a) << endl;
    // 1234567   00000000 00010010  11010110  10000111
    // 'X' -> 88   'a'->97   '3'->51
}

你可能感兴趣的:(C++,c++,开发语言)