C++字符型与ASCII码
计算机中的所有数据在存储和运算时都是用二进制数表示,而具体用哪些二进制数字表示,每个人都可以约定自己的一套编码。大家如果想要互相通信而不造成混乱,那么就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码(美国标准信息交换代码)。标准ASCII码(基础ASCII码)使用指定的7位二进制数组合来表示128种可能的字符。基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。虽然标准 ASCII 码是 7 位编码,但由于计算机基本处理单位为字节( 1byte = 8bit ),所以一般仍以一个字节来存放一个 ASCII 字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作奇偶校验位)。
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| 空格 | 32 | 0 | 48 |
| 9 | 57 | A | 65 |
| Z | 90 | a | 97 |
| z | 122 |

将一个字符常量存放到内存单元时,实际上并不是把该字符本身存放到内存单元中,而是将该字符相应的ASCII码存放到存储单元中。如下图,字符变量k的值为'A'。

既然字符数据是以ASCII码存储的,它的存储形式就与整数的存储形式类似。这样,C++中字符型数据和整型数据之间就可以互相通用。一个字符数据可以赋给一个整型变量,反之,一个整型数据可以赋给一个字符变量。对字符数据进行算术运算,其实对它们的ASCII码进行算术运算。
字符型数据,只能包含一个字符,用一对单撇号括起来,如'+'、'b'、'8'、'#'等,用关键字char定义字符型变量。
例程:试编一程序,输入一个小写字母,输出其大写字母。
注:字符'A'的ASCII码是65,字符'a'的ASCII码是97,两者的差值为32。

浙公网安备 33010602011771号