2.2.4 字符型数据类型
在C++(www.cppentry.com)中,字符型数据类型只占据1个字节,其声明关键字为char。同样地,可以给其加上unsigned、singed修饰符,分别表示无符号字符型和有符号字符型。在C++(www.cppentry.com)中,字符型变量的声明方式如下:
- [修饰符] <char> <变量名>
例如,定义一个有符号的字符型变量:char ch;,该语句定义的变量ch可取任意ASCII码为-128~127的字符,在具体应用中使用较多的是ch中存储大小写字母。
注意:字符型常量用一对单引号括起来的一个字符,单引号只是字符与其他部分的分割符,不是字符的一部分,并且不能用双引号代替单引号。在单引号中的字符不能是单引号或反斜杠。例如,下面给出了合法和非法的字符型常量。
- 'a' // 字符常量,a
- '1' // 字符常量,1
- '+' // 字符常量,+
- '\' // 非法的字符常量
需要注意的是,字符型数据和整型数有一定的转换关系。计算机不能直接存储字符,所以所有字符都是用数字编码来表示和处理的。例如a的ASCII码值是97,A的ASCII码值是65等。如果一个字符被当做整数使用,则其值就是对应的ASCII码值;如果一个整数被当做字符使用,则该字符就是这个整数在ASCII码表中对应的字符。
例如,下面程序定义了一个字符型变量和一个整型变量,给其赋相同的值后输出,观察其输出是否相同。实现代码如下:
- #include <iostream>
- using namespace std;
- int main()
- {
- char cch; //定义字符型变量
- cch='A'; //变量赋值
- cout<<"cch="<<cch<<endl;
- int ich; //定义整型变量
- ich='A'; //变量赋值
- cout<<"ich="<<ich<<endl;
- system("pause");
- return 0;
- }
将上述程序输入到DEV-C++(www.cppentry.com)编辑器中,并通过选择【运行】|【编译运行】命令,或通过快捷键"F9"编译运行后,其结果如图2.12所示。
|
| (点击查看大图)图2.12 输出结果 |
在上述代码中,定义了字符型数据cch和整型数据ich,给它们赋值都为字符A,输出后其结果不同,整型数据类型对应的变量ich的输出为65。这是因为字符型数据类型在计算机内部是转换为整型数据类型来操作的,如上述代码中的字母A,系统会自动将其转换为对应的ASCII码值65。
可以看出,上述C++(www.cppentry.com)程序虽然给变量cch和ich都赋相同的值字符A,但由于cch和ich的数据类型不同,前者为字符型变量,后者为整型变量,因此其输出有所不同。
注意:大小写英文字母所对应的ASCII码值是不一样的,小写字母的对应的ASCII码值大于大写字母对应的ASCII码值。