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 码查询工具,会让你记得更牢哦!

0 条评论

目前还没有评论...