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

2.2.3 字符型数据

字符型数据用于表示一个字符值。字符型数据在计算机内部的表示形式是字符的ASCII代码(二进制形式存储),并非字符本身。字符型数据分为字符常量和字符变量两种。

1.字符常量

字符常量 是括在一对单撇号之间的字符,例如,'a'、'A'、'$'、'5'等都是字符常量。另外,还有一些特殊的字符常量,C语言约定以“\”开头的字符序列作为标记,这类字符常量统称为 转义字符 ,从字面上理解就是将反斜杠“\”后面的字符转换成另外的意义,用于代表一种特定的控制功能或表示一个特别的字符。

例如,转义字符'\n'中的“n”并不代表字母n,该转义字符表示在输出过程中将当前位置移到下一行的开头,简称换行。转义字符'\''中的“'”代表字符“'”,转义字符'\101'中的“101”是十进制的ASCII码65,代表字符'A'。常用转义字符如表2-3所示。

表2-3 常用转义字符

【例2-4】 阅读下面的程序,给出程序的输出结果。

运行结果:

其中,'\t'表示水平制表,设占8列;'\b'表示退格,将当前位置移到前一列,并将已输出的字符's'用字符'e'替代;'\r'表示将当前位置移到本行开头,并将第一个字符'c'用字符'C'替代;'\n'表示换行,将当前位置移到下一行的开头,输出下一行内容;165是八进制数,转换为十进制ASCII码为117,'\165'表示字符'u';x6c是十六进制数,转换为十进制ASCII码为108,'\x6c'表示字符'l'。

如果用打印机输出,则字符s和e会重叠打印在同一位置上,小写字母c和大写字母C也会打印在同一位置上。

2.字符变量

用来存放一个字符常量的变量称为 字符变量 。同样,字符变量在使用之前必须先定义,以char作为类型说明符。例如:

字符变量在内存中占一个字节,用来存放一个字符,虽然字符在程序中可用字符常量或对应的ASCII码的形式表示,但在内存中是以其ASCII码二进制的形式存储的,它与整数的存储形式相类似。因此,在C程序中,字符型数据可以当作整型数据进行处理,并且可以与整型数据混合操作和运算。字符型数据可以用字符格式输出,显示字符本身,也可以用整数形式输出,显示字符的ASCII码值。

下面的程序详细地说明了这一点。

【例2-5】 阅读下面的程序,给出程序的输出结果。

运行结果:

3.字符串常量

字符串常量是括在一对双撇号之间的字符序列(其中也可以包括转义字符)。例如,"C language"、"s"、"$35.56"、"\tChins\ba\n"。

字符串常量中的字符依次存储在内存中一块连续的区域内,并把空字符'\0'(ASCII值为0)自动地附加到字符串的尾部作为字符串的结束标志。因此,对于字符个数为 n 的字符串,所占内存空间应为 n +1字节。例如,字符串"HELLO"的字符个数为5,所占内存空间应为6字节。

不能将字符串赋给一个字符变量。例如:

微视频2-2 字符型数据存储 mL/Nck4uLyi7zIqkvoLx72fNXu8w+41K7+pYgUNhlIyy80h+gE3AR7BtXTSigTf9

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