谭浩强c语言程序设计笔记讲义,C语言程序设计(谭浩强)学习笔记(2014-11-04)...

3.4.2 实型变量

1. 实型数据在内存中的存放形式

实型数据一般占 4 个字节(32 位)内存空间。按指数形式存储。实数3.14159 在内存中

的存放形式如下:

+ .314159 1

数符 小数部分 指数

小数部分占的位(bit)数愈多,数的有效数字愈多,精度愈高。

指数部分占的位数愈多,则能表示的数值范围愈大。

2. 实型变量的分类

实型变量分为:单精度(float 型)、双精度(double 型)和长双精度(long double 型)

三类。在 Turbo C 中单精度型占4 个字节(32 位)内存空间,其数值范围为3.4E-38~3.4E+38,

只能提供七位有效数字。双精度型占8 个字节(64 位)内存空间,其数值范围为1.7E-308~

1.7E+308,可提供16 位有效数字。

类型说明符 比特数(字节数) 有效数字数的范围

float 32(4) 6~7 10-37~1038

double 64(8) 15~16 10-307~10308

long double 128(16) 18~19 10-4931~104932

实型变量定义的格式和书写规则与整型相同。

例如:

float x,y; (x,y 为单精度实型量)

double a,b,c; (a,b,c 为双精度实型量)

3. 实型数据的舍入误差

由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。如下例。

【例 3.6】实型数据的舍入误差。

main()

{float a,b;

第44 页

a=123456.789e5;

b=a+20

printf("%f\n",a);

printf("%f\n",b);

}

注意:1.0/3*3 的结果并不等于1。

【例 3.7】

main()

{

float a;

double b;

a=33333.33333;

b=33333.33333333333333;

printf("%f\n%f\n",a,b);

}

从本例可以看出,由于a 是单精度浮点型,有效位数只有七位。而整数已占五位,

故小数二位后之后均为无效数字。

b 是双精度型,有效位为十六位。但Turbo C 规定小数后最多保留六位,其余部

分四舍五入。

3.4.3 实型常数的类型

实型常数不分单、双精度,都按双精度 double 型处理。

3.5 字符型数据

字符型数据包括字符常量和字符变量。

3.5.1 字符常量

字符常量是用单引号括起来的一个字符。

例如:

'a'、'b'、'='、'+'、'?'

都是合法字符常量。

在C语言中,字符常量有以下特点:

1) 字符常量只能用单引号括起来,不能用双引号或其它括号。

2) 字符常量只能是单个字符,不能是字符串。

3) 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。

第45

如'5'和5 是不同的。'5'是字符常量,不能参与运算。

3.5.2 转义字符

转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。

转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例

题printf 函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符

主要用来表示那些用一般字符不便于表示的控制代码。

常用的转义字符及其含义

转义字符 转义字符的意义 ASCII 代码

\n                回车换行            10

\t                 横向跳到下一制表位置  9

\b                退格                    8

\r                 回车                   13

\f                走纸换页             12

\\                反斜线符"\"         92

\'                单引号符             39

\”             双引号符             34

\a               鸣铃                    7

\ddd          1~3 位八进制数所代表的字符

\xhh          1~2 位十六进制数所代表的字符广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的\ddd 和\xhh

正是为此而提出的。ddd 和hh 分别为八进制和十六进制的ASCII 代码。如\101 表示字母"A" ,

\102 表示字母"B",\134 表示反斜线,\XOA 表示换行等。

【例 3.8】转义字符的使用。

main()

{

int a,b,c;

a=5; b=6; c=7;

printf(“ ab c\tde\rf\n”);

printf(“hijk\tL\bM\n”);

}

3.5.3 字符变量

字符变量用来存储字符常量,即单个字符。

字符变量的类型说明符是char。字符变量类型定义的格式和书写规则都与整型变量相

同。例如:

char a,b;

第46 页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值