购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1 会唱歌的鹦鹉——字符类型

胖头老师带来了一只会唱歌的鹦鹉,名字叫Binary,它只会唱数字0和1,如图4.1所示。

图4.1 鹦鹉唱歌

豆豆一句也听不明白:“老师,它在唱什么?”

“这只鹦鹉在模仿计算机存储字符的方式,它在唱英文单词‘cat'。”

“为什么是cat?”

“前面已经说过计算机数据都是以二进制的形式存储的。计算机存储英文字母的时候,并不是把英文字母本身存放到内存单元中。一个英文字母用8位二进制数表示。”

“那么英文字母是按什么规则用二进制数表示呢?”

“这种规则一般称为编码方式。其中一种编码方式叫做ASCII编码。ASCII编码使用了7位二进制数来表示128个字符,多余的最高位取0。鹦鹉就是用这种方式唱英文单词的。”“二进制太神奇了!”豆豆兴高采烈地说道。

例如,下面的代码,字符型变量c1存放字符“c”,在内存里存放的是整数99,用二进制表示是“01100011”。字符型变量c2存放字符“a”,在内存里存放的是整数97,用二进制表示是“01100001”。字符型变量c3存放字符“t”,在内存里存放的是整数116,用二进制表示是“01110100”。

这三个变量与二进制的对应关系如图4.2所示。

图4.2 变量c1、c2、c3与二进制的对应关系

“原来鹦鹉唱出来的那些数字跟英文单词cat是这样对应的。”豆豆终于明白了计算机是怎么存储字符类型的。

胖头老师说出一个有趣的知识点:“豆豆,字符还能和整数相加。既然字符是以二进制数的形式存到变量的,那么C++可以把字符当作整数来进行运算。”

这段代码把字符型变量c与数字32相加。变量c存放了“A”,当它加上32后就变成了“a”。因为“A”的十进制表示是65,“a”的十进制表示是97。

豆豆举一反三:“加上32可以把大写变小写,那么减去32可以把小写变大写。”

胖头老师赞扬豆豆:“说对了,真聪明!”

注意

定义字符型变量的时候,字符A要放在半角单引号内,而不是半角双引号内。

练习题

阅读程序写结果。 ZUSJABXJMSPmRxEt1/xbco1LW5DVVZX+CqlT2WqM5y8cMlXVWmJQA2ZDgEMB5T1P

点击中间区域
呼出菜单
上一章
目录
下一章
×