- C++
ASCII 码教程
- 2025-6-29 20:46:22 @
ASCII 码教程(适合中小学生)
一、ASCII 码是什么?
ASCII 码(American Standard Code for Information Interchange)是一种让计算机能够“看懂”人类文字的编码方式。计算机只认识 0 和 1 这样的数字,为了让它能表示字母、数字和各种符号,人们就制定了 ASCII 码表,给每个字符都分配了一个唯一的数字。
比如:
- 字母 'A' 的 ASCII 码是 65
- 字母 'a' 的 ASCII 码是 97
- 数字 '0' 的 ASCII 码是 48(注意和数字 0 不同!)
- 空格 ' ' 的 ASCII 码是 32
ASCII 码一共定义了 128 个字符,涵盖了英文大小写字母、数字 0-9、标点符号,还有一些“控制字符”(比如换行、回车等)。
二、ASCII 码表快速认识
下面是 ASCII 码表的一部分,帮助你快速找到常用字符的 ASCII 码:
字符 | ASCII 码(十进制) | 字符 | ASCII 码(十进制) |
---|---|---|---|
'A' | 65 | 'a' | 97 |
'B' | 66 | 'b' | 98 |
'C' | 67 | 'c' | 99 |
... | |||
'Z' | 90 | 'z' | 122 |
'0' | 48 | ' ' | 32 |
'1' | 49 | '!' | 33 |
'2' | 50 | '?' | 63 |
... |
规律小总结:
- 大写字母 'A'-'Z' 的 ASCII 码是 65-90
- 小写字母 'a'-'z' 的 ASCII 码是 97-122
- 数字字符 '0'-'9' 的 ASCII 码是 48-57
- 小写字母的 ASCII 码比对应的大写字母大 32(比如 'A' 是 65,'a' 是 97)
三、在 C++ 中使用 ASCII 码
在 C++ 里,我们可以很方便地查看字符的 ASCII 码,或者用 ASCII 码生成字符。
(一)查看字符的 ASCII 码
#include <iostream>
using namespace std;
int main() {
char ch = 'A'; // 定义一个字符变量,存字母 'A'
// 把字符变量转成整数输出,就能看到它的 ASCII 码
cout << "字符 '" << ch << "' 的 ASCII 码是:" << (int)ch << endl;
ch = 'a'; // 把字符变量改成 'a'
cout << "字符 '" << ch << "' 的 ASCII 码是:" << (int)ch << endl;
ch = '0'; // 注意:这里是字符 '0',不是数字 0
cout << "字符 '" << ch << "' 的 ASCII 码是:" << (int)ch << endl;
return 0;
}
输出结果:
字符 'A' 的 ASCII 码是:65
字符 'a' 的 ASCII 码是:97
字符 '0' 的 ASCII 码是:48
解释:在 C++ 中,char
类型的变量其实存的就是 ASCII 码数字。当我们用 (int)
把 char
变量强制转成整数时,就会显示出对应的 ASCII 码值。
(二)用 ASCII 码生成字符
反过来,我们也可以用数字(ASCII 码)生成对应的字符:
#include <iostream>
using namespace std;
int main() {
int code = 65; // 定义一个整数变量,存 ASCII 码 65
// 把整数变量转成字符输出,就能看到对应的字符
cout << "ASCII 码 " << code << " 对应的字符是:" << (char)code << endl;
code = 97; // 改成 ASCII 码 97
cout << "ASCII 码 " << code << " 对应的字符是:" << (char)code << endl;
code = 48; // 改成 ASCII 码 48
cout << "ASCII 码 " << code << " 对应的字符是:" << (char)code << endl;
return 0;
}
输出结果:
ASCII 码 65 对应的字符是:A
ASCII 码 97 对应的字符是:a
ASCII 码 48 对应的字符是:0
解释:当我们用 (char)
把整数转成 char
类型时,计算机就会把这个数字当作 ASCII 码,输出对应的字符。
(三)示例:输出字母表的 ASCII 码
我们可以用循环来输出整个字母表(大写和小写)的 ASCII 码:
#include <iostream>
using namespace std;
int main() {
cout << "大写字母表的 ASCII 码:" << endl;
// 从 'A' 的 ASCII 码 65 开始,到 'Z' 的 ASCII 码 90 结束
for (int i = 65; i <= 90; i++) {
cout << (char)i << " 的 ASCII 码是:" << i << endl;
}
cout << "\n小写字母表的 ASCII 码:" << endl;
// 从 'a' 的 ASCII 码 97 开始,到 'z' 的 ASCII 码 122 结束
for (int i = 97; i <= 122; i++) {
cout << (char)i << " 的 ASCII 码是:" << i << endl;
}
return 0;
}
输出结果:
大写字母表的 ASCII 码:
A 的 ASCII 码是:65
B 的 ASCII 码是:66
C 的 ASCII 码是:67
...(中间省略)...
X 的 ASCII 码是:88
Y 的 ASCII 码是:89
Z 的 ASCII 码是:90
小写字母表的 ASCII 码:
a 的 ASCII 码是:97
b 的 ASCII 码是:98
c 的 ASCII 码是:99
...(中间省略)...
x 的 ASCII 码是:120
y 的 ASCII 码是:121
z 的 ASCII 码是:122
四、ASCII 码的简单应用
(一)大小写字母转换
我们可以利用 ASCII 码的规律(小写字母比大写字母的 ASCII 码大 32)来实现大小写转换:
#include <iostream>
using namespace std;
int main() {
char ch = 'A';
// 把大写字母转成小写字母:加上 32
cout << ch << " 转成小写是:" << (char)(ch + 32) << endl;
ch = 'b';
// 把小写字母转成大写字母:减去 32
cout << ch << " 转成大写是:" << (char)(ch - 32) << endl;
return 0;
}
输出结果:
A 转成小写是:a
b 转成大写是:B
(二)判断字符类型
我们可以通过 ASCII 码范围来判断一个字符是字母、数字还是其他符号:
#include <iostream>
using namespace std;
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
// 判断字符类型
if (ch >= 'A' && ch <= 'Z') {
cout << "你输入的是大写字母,ASCII 码是:" << (int)ch << endl;
} else if (ch >= 'a' && ch <= 'z') {
cout << "你输入的是小写字母,ASCII 码是:" << (int)ch << endl;
} else if (ch >= '0' && ch <= '9') {
cout << "你输入的是数字字符,ASCII 码是:" << (int)ch << endl;
} else {
cout << "你输入的是其他符号,ASCII 码是:" << (int)ch << endl;
}
return 0;
}
示例运行结果:
请输入一个字符:B
你输入的是大写字母,ASCII 码是:66
请输入一个字符:5
你输入的是数字字符,ASCII 码是:53
请输入一个字符:!
你输入的是其他符号,ASCII 码是:33
五、总结
ASCII 码是计算机世界和人类文字之间的“翻译器”,通过给每个字符分配一个数字,让计算机能够存储和处理文字。主要内容总结:
- ASCII 码给每个字符(字母、数字、符号)分配了 0-127 之间的一个数字
- 大写字母 'A'-'Z' 的 ASCII 码是 65-90,小写字母 'a'-'z' 是 97-122
- 在 C++ 里,可以用
(int)ch
查看字符的 ASCII 码,用(char)code
把数字转成字符 - 利用 ASCII 码的规律,可以实现大小写转换、字符类型判断等功能
掌握了 ASCII 码,你就更能理解计算机是如何处理文字的啦!多动手写代码练习,比如自己做一个 ASCII 码查询工具,会让你记得更牢哦!