1.字符变量
字符变量是用类型符char定义字符变量。如:
char c=‘?’.
'?'的ASCII码是63,系统把整数63赋值给变量c。c是字符变量,实质上是一个字节的整形变量,由于它常用来存放字符。所以称为字符变量。
在输出字符变量的值时,可以选择以十进制整形输出,或者以字符形式输出,如:
char c = '?';
printf("%d %c \n",c,c );
输出结果是 63 ?;
2.浮点型数据
浮点型数据是用来表示具有小数点的实数的。
1)float型(单精度浮点数)每一个float变量占据4个字节。系统将实型数据分成小数部分和指数部分两个部分,分别存放。小数部分的小数点前面的数为0。
小数部分占的位(bit)数愈多,数的有效数字愈多,精度也就愈高。指数部分占的位数愈多,能表示的数值范围愈大。
2)double型(双精度浮点数)。 为了扩大能表示的数值范围,用8个字节储存一个double型数据。在C语言中进行浮点数的算术运算时,将float型数据都自动转换成double型,然后进行运算。
强制类型转换运算符
可以利用强制类型转换运算符将一个表达式转换成所需类型。例如:
(double)a(将a转换成double类型)
(int)(x+y) (将x+y的值转换成int型)
(float)(5%3) (将结果转换成float型)
其一般形式为
(类型名)(表达式)
注意,表达式应该括起来。如果写成
(int)x+y
则只将x转换成整形,然后与y相加。
需要说明的是,在强制类型转换时,得到一个所需类型的中间数据,而原来变量的类型未发生变化,例如:
a=(int)x
如果已定义x为float型变量,a为整形变量,进行强制类型运算(int)x后得到一个int类型的临时值,他的值等于x的整数部分,把它赋值给a,注意x的值和类型都未发生变化,仍为float型。该临时值 复制之后就不存在了。