北京交通大学C语言课件第2章上.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学C语言课件第2章上

* 最高位是符号位,实质上16位机放数的位数为15位,从2的0次方到2的14次方,最大的数就是2的15次方减1。 16位,32位是字长,也就是计算机一次能处理数据的长度,通常与CPU的寄存器位数有关, 字长越长,数的范围也越大,精度也是越高,机器的字长也会影响机器的运算速度, 倘若字长很短,又要运算位数较多的数据,那么需要经过两次或多次运行算才能完成, 16位机有8086 80286, 32位机有 80386 486 以级后面的机型, 现在又出现在64位的, 要知道更多信息,请看一下,计算机组成原理. bit意为“位”或“比特”,是计算机运算的基础; byte意为“字节”,是计算机文件大小的基本计算单位; 1byte=8bit * ??例: 123.456可以表示为:123.456e0, 12.3456e1, 1.23456e2, 1.23456e3等,其中的1.23456e3为“规范化指数形式”。 * * * * 如果要修改常数值,只要修改#define就可以了 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译 * 高级语言程序设计 * 整数也可以用八进制和十六进制表示: 八进制整数:0开始的数字序列,只允许用0~7。如 0123 十六进制整数:0x 或 0X 开头的数字序列,用字母 a~f 或 A~F 表示其余6个数字。如0x12 ☆常量的十进制、八进制和十六进制表示形式只是整数的不同书写形式,是为编程方便。计算机内存储的只能是二进制。 如何转化 为十进制 基本类型与数据表示 1. 整数类型和整数的表示 2. 实数类型和实数的表示 实数类型 实型常量 3. 字符类型和字符的表示 * 高级语言程序设计 * * 高级语言程序设计 * 单精度浮点数类型(浮点类型): float 双精度浮点数类型(双精度类型):double 长双精度类型:long double 实数类型 浮点数32位表示,约7位有效数字 双精度数用64位表示,大约16位有效数字 长双精度数用64位或80位表示(系统确定),约19位有效数字 * 高级语言程序设计 * + 4 实数在计算机内部是按照指数形式存储,系统把一个 浮点型分成小数部分和指数部分。存在误差。 类型 比特(位)数 有效数字 数值范围 float 32 6--7 -3.3*10-38----3.4*1038 double 64 15--16 -1.7*10-308----1.7*10308 long double 128 18--19 -1.2*10-4932----1.2*104932 * 高级语言程序设计 * 实型常量 十进制小数形式:整数部分.小数部分 指数形式:尾数 + E(e) + 指数 例: 123.、 - .123、 0.0、 12.5。 例:12.3e2 、 2.3E - 21 float加后缀f或F,long double加L 实数前可以有正负号 指数形式适用于表示较大或较小的数。 e之前必须有数字,且e后面的指数必须为整数。如:128e2或128E2都代表128×102 。 当整数或小数部分为0时可以省略,但小数点不能省略 指数表示(科学表示法) 十进小数表示法 + — 数字 · 数字 可省略 + — 数字 · 数字 E + — 数字 可省略 可省略 * 高级语言程序设计 * * 高级语言程序设计 * 例2.4.1 实型数据的舍入误差示例。 #include stdio.h int main(void) { float a,b,c; a=55555.55555; b=123456.789e5; printf (a=%f,b=%f,b+40=%f\n,a,b,b+40); return 0; } a,b应是原值输出,但结果已发生误差; 从b+40的结果看虽然增加了40,但仍比b的初值小,结果没有意义。这是因为float的有效位数只有七位。 * 高级语言程序设计 * 若将程序中的float改为double类型: #include stdio.h int main(void) { double a,b,c; a=55555.55555; b=123456.789e5; printf (a=%lf,b=%lf,b+40=%lf\n,a,b,b+40); return 0; } 基本类型与数据表示 1. 整数类型和整数的表示 2. 实数类型和实数的表示 3. 字符类型和字符的表示 字符类型 字符常量 字符串常量 符号常量 * 高级语言程序设计 * * 高级语言程序设计 * 字符类型用于输入输出(I/O)或文字处理 字符型数据存储时占用1个字节(8位),它实际存储的是字符对应的A

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档