在编写程序时,我们还经常会遇到需要存储并操纵字符型数据的情况。例如:计算数学算式时,需要存储运算符,这时就需要一种可以存储单个字符数据(字符包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号)的数据类型。C语言提供了一种char数据类型,可以满足存储单个字符的需要。
计算机中的字符一般采用ASCII码表示,ASCII码是一种标准的字符编码方式,规定每个字符对应一个数,例如:十进制数65对应大写字母A,97对应小写字母a。ASCII编码最后一次更新是在1986年,到目前为止共定义了128个字符。
标准ASCII码使用7位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。char数据类型占用一个字节的存储空间,可以表示8位二进制数,完全可以存储ASCII码。
char变量可按如下方式声明:
char code=’a’, op=’*’,digit=’0’;
任意单个字符,加单引号。
char code =97
可以直接把ASCII码十进制数97赋值给char型变量code。
上面例句中的‘a’, ’*’, ‘0’为字符常量,字符常量需要使用一对单引号括起来,括号内只能包含一个字符。除了字符常量可以赋值给char型变量外,0~255的整数常量也可以赋值给char型变量。char型变量通常用来存储字符,若存储的数值超过ASCII码范围,变量的值没有实际意义。
标准C语言没有提供byte数据类型,byte占1个字节的存储空间,表示的数值范围是0~255。若需要使用byte数据类型,可以使用unsinged char来表示byte数据类型。