2.3.3 char类型
我不想让你觉得计算机和C++(www.cppentry.com)只能做"算术题"。接下来要介绍一种非数值类型。以后还会遇到其他更复杂的非数值类型。char(character的缩写)类型的值表示单独一个符号,比如字母、数字或标点符号。在书籍和日常对话中,经常将这种类型的值称为字符。在C++(www.cppentry.com)程序中,这种类型必须拼写成缩写形式char。例如,char类型的变量symbol和letter可以像下面这样声明:
- char symbol, letter;
char类型的变量可容纳键盘上的任何一个单独的字符。所以,变量symbol可容纳一个'A'、一个'+'或者一个'a'。注意,字母的大写和小写形式被视为不同的字符。
使用cout输出的双引号中的文本则称为字符串值。例如,下面就是一个字符串,它来自图2.1的程序:
- "Enter the number of candy bars in a package\n"
注意,字符串常量要放在双引号内,而char类型的常量要放在单引号内。两种引号含义不同。例如,'A'和"A"就是不同的。'A'是char类型的值,可存储在char类型的变量中。而"A"是字符串。虽然这个字符串恰好只含有一个字符,但这个事实并不能使"A"成为char类型的值。还要注意,无论字符串还是字符,左右两个引号是一样的(都是"或')。
图2.3演示了如何使用char类型。注意在第一个和第二个姓名首字母之间输入了一个空格。但程序会跳过空格,将字母B作为输入的第二个字母来读取。通过cin将输入读入char类型的变量时,计算机会忽略所有空白间隔和换行符,直到遇到第一个非空白字符,并将其读入变量。输入中有无空白字符(比如空格、制表符等)对计算机没有区别。运行图2.3的程序时,无论在两个姓名首字母之间插入一个空格(如示范对话所示),还是连续输入两个首字母(不插入空格,即直接输入JB),结果都是一样的。
|
| (点击查看大图)图2.3 char类型 |
示范对话
- Enter two initials, without any periods:
- J B
- The two initials are:
- JB
- Once more with a space:
- J B
- That's all.