上QQ阅读APP看书,第一时间看更新
3.5.3 字符型变量
字符型变量是用来存储字符常量的变量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。
字符型变量在内存空间中占一个字节,取值范围是−128~127。定义一个字符型变量需要使用关键字char。例如,要定义一个字符型变量cChar,为其赋值'a'的方法如下:
char cChar; /*定义字符型变量cChar */ cChar= 'a'; /*为变量赋值'a' */
说明
字符型变量在内存中存储的是字符的ASCII码,即一个无符号整数,其形式与整数的存储形式一样,因此C语言允许字符型数据与整型数据之间互相转换。
【例3.8】字符型和整型间的互换(实例位置:资源包\TM\sl\03\08)
本实例为定义的字符型变量和整型变量进行不同的赋值,然后通过输出结果观察整型变量和字符型变量之间的转换。
#include<stdio.h> int main() { char cChar1; /*定义字符型变量cChar1*/ char cChar2; /*定义字符型变量cChar2*/ int iInt1; /*定义整型变量iInt1*/ int iInt2; /*定义整型变量iInt2*/ cChar1='a'; /*为变量赋值*/ cChar2=97; iInt1='a'; iInt2=97; printf("%c\n",cChar1); /*显示结果为a*/ printf("%d\n",cChar2); /*显示结果为97*/ printf("%c\n",iInt1); /*显示结果为a*/ printf("%d\n",iInt2); /*显示结果为97*/ return 0; /*程序结束*/ }
上述代码首先定义了4个变量,两个字符型,两个整型,然后分别赋值为'a'和97。因为字符'a'在ASCII码中的值正好是97,因此两者可以互相转换输出。运行程序,显示效果如图3.12所示。
下面对目前学过的所有数据类型进行一下概括总结,如表3.5所示。
图3.12 使用字符型变量
表3.5 数值型和字符型数据的字节数和数值范围
编程训练(答案位置:资源包\TM\sl\03\编程训练\)
训练3:记录大毛的基本信息 使用整型变量保存大毛的年龄,使用字符型变量保存大毛的性别(W表示女,M表示男),用实型变量保存大毛的身高、体重,最后用printf函数输出。结果如下:
大毛基本信息如下: 年龄是:31岁,性别是:M 身高是:1.680000米,体重是:59.400000千兊
训练4:预测快递到货时长 假设某商品从广州市发货,预测其到达北京、上海、浙江、江苏、山东、湖南、辽宁、吉林、黑龙江等地的时长,使用整型变量存储预测的时长(即天数),用printf函数输出预测结果。输出结果如下:
快递预测时间: 从广州到湖南省、浙江省是2天 从广州到上海、北京、江苏省、山东省是3天 从广州到辽宁省、吉林省、黑龙江省是4天