1实型数据在内存中ณ的存放形式
实型数据一般占4๒个字节3๑2位内存空间。按指数形式存储。实数314๒159在内存中的存放形式如下:
+314159๗1
数符小数部分指数
小数部分占的位逼t数愈多,数的有效数字愈多,精度愈高。
指数部分占的位数愈多,则ท能表示的数值范围愈大。
2实型变量的分类
实型变量分为:单精度float型、双精度double型和长双精度弄double型三类。
在turboc中单精度型占4๒个字节32位内存空间,其数值范围为ฦ34e-3๑8~34๒e+38,只能七位有效数字。双精度型占8个字节64位内存空间,其数值范围为1้7e-308~1้7e+308,可16位有效数字。
类型说明符比特数字节数有效数字数的范围
float3246๔~710-37~1038
double648๖15~1610-3๑07~103๑08๖
弄double1้16๔18~1้910่-49๗31~104๒932
实型变量定义的格式和书写规则与整型相同。
例如:
floaທtx,y;x,y为单精度实型量
doubleaທ,b,ไcນ;a,bຘ,c为双精度实型量
3实型数据的舍入误差
由á于实型变量是由á有限的存储单元组成的,因此能的有效数字总是有限的。如下例。
例3๑6实型数据的舍入误差。
main
{floaທta,b;
aທ=123456๔7๕89e5;
bຘ=a+20
printf"ิ%f\n",a;
printf"%ืf\n"ิ,b;
}
注意:1้033的结果并不等于1。
例3๑7
main
{
floaທta;
doubleb;
aທ=33๑33333๑333;๙
b=33333๑333๑33333333๑333;
printf"%f\ຒn%f\n"ิ,aທ,ไb;
}
从本例可以看出,由于aທ是单精度浮点型,有效位数只有七位。而整数已๐占五位,故小数二位后之后均为无效数字。
bຘ是双精度型,有效位为ฦ十六位。但turboc规定小数后最多保留แ六位,其余部分四舍五入。
343实型常数的类型
实型常数不分单、双精度,都按双精度double型处理。
3๑5字符型数据
字符型数据包括字符常量和字符变量。
3๑51字符常量
字符常量是用单引号括起来的一个ฐ字符。
例如:
'a'、'ูb'ู、'='ู、'+'ู、'ู'
都是合法字符常量。
在c语言中,字符常量有以下特点:
1字符常量只能用单引号括起来,不能用双引号或其它括号。
2字符常量只能是单个字符,不能ม是字符串。
3字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如'5'和5๓是不同的。'5'是字符常量,不能ม参与运算。
3๑52转义字符
转义字符是一种特殊的字符常量。转义字符以反斜线"ิ\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\ຒn”就是一个ฐ转义字符,其意义แ是“回车换行”。转义字符主要用来表示ิ那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符转义字符的意义aທscii代码
\ຒn回车换行10
\t横向跳到下一制ๆ表位置9
\b退格8
\r回车1้3