字符型有char和wchar_t两种类型。char的大小至少是1个字节,范围一般是-128~127,足够用来表示键盘上可以看到的字符。wchar_t是宽字符类型,至少是2个字节,由于中文等其他语言有许多字符,因此需要一个比char范围更大的类型来表示。
我们先来看看Visual Studio 2017中这两个类型的存储空间和范围。
动手写3.1.4
运行结果如图3.1.4所示:
图3.1.4 字符型的存储空间和范围
字符型本质上就是整型,也可以进行加减乘除的计算和其他各种操作,并且能在前面加上unsigned和signed。但两者也有以下的区别:第一,字符型是否有符号取决于编译器;第二,有效范围内的字符型变量在打印的时候会被解读成字符而不是数字。
以上几点可能会让人有些困惑,我们用例子来说明。
动手写3.1.5
动手写3.1.5展示了字符型作为数字的特性,运行结果如图3.1.5所示:
图3.1.5 字符型作为数字的运算
从运行结果中我们可以看到,字符就是范围较小的整数类型,可以做加减乘除的计算,也可以进行数值比较。
动手写3.1.6
(www.xing528.com)
动手写3.1.6展示了字符型在Visual Studio 2017中的默认符号修饰符是signed。运行结果如图3.1.6所示:
图3.1.6 字符的默认符号修饰符
动手写3.1.7
运行结果如图3.1.7所示:
图3.1.7 打印字符
从运行结果中我们可以看到,把“97”或者“a”赋值给字符,最后打印出来的结果都是一样的,这是因为在基本的基于拉丁字母的编码系统ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)中,“a”对应的值就是“97”。注意:如果字符的数值超出了有效范围,则打印不出来。
动手写3.1.8
动手写3.1.8中打印了所有的ASCII字符,其中用到了很多我们没有学习过的语法,现在可以先不去理解。运行结果如图3.1.8所示:
图3.1.8 打印所有ASCII字符
从运行结果中我们可以看到,14以前的字符有些无法显示,而有些则打乱了格式,甚至把11~13所在的那行覆盖了。这是因为0~31和127都是控制字符,可以对页面中的字符起到控制作用,其中,有一些字符也能以笑脸或者星形的形式显示。由于篇幅有限,这里就不对控制字符的功能进行介绍了,有兴趣的读者可以参考网上的资料(如 https://baike.baidu.com/item/ASCII)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。