第2章基本数据类型课程.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 基本数据类型 2.0 数制与编码 2.1 基本数据类型的特征 2.2 数据常量 2.3 数据类型转换 2.4 数据的控制台输入与输出 2.1 基本数据类型的特征 C语言提供的基本数据类型包括: char (字符)型、 int (整)型、 float (单精度实)型、 double (双精度实)型 并且还可以通过使用: short、long、signed 和 unsigned 修饰char 和 int,用 long 修饰 double,形成更多的类型。 2.1.1 数值的定点表示与浮点表示 定点表示和浮点表示,是C语言基本数据类型的重要特征。 为了说明什么是“定点”,什么是“浮点”,先看π值的几种表示形式: 日常的表示法 C语言中的表示形式 3.14159×100 3.14159e0 0.314159×101 0. 314159e+1 0.0314159×102 0.0314159e+2 31.4159×10-1 31.4159e-1 3141.59×10-3 3141.59e-3 浮点形式存储 2.1.2 整数的有符号类型与无符号类型 内存中的数值是以补码形式存放的,一个正数的补码就是该数的二进制数。 对一个负数(如-10 ),求补码的方法如下: ① 先取该数的绝对值: 先取10 ② 然后表示为二进制形式: 00001010 ③ 再对其按位取反: 11110101 ④ 然后加1:得 11110110 即-10的16位存储形式(补码)为: 11110110 2.1.3 类型宽度与取值范围 C语言对不同类型的数据分配不同宽度的存储空间。 典型的存储空间宽度有: 1B(8位)、2B(16位)、4B(32位)、8B(64位)和10B(80位)几种。 不同的长度对应的数据取值范围是不同的。 同样长度的取值范围还与有无符号、是定点表示(整型)还是浮点表示(实型)有关。 另外还取决于所用的编译系统。 2.1.3 类型宽度与取值范围 多数编译系统带符号整数的数值范围为: -2n-1 ~ 2n-1-1 其中n为该整数所占的bit数 若一个整数所占的bit数为16,则其范围为: -32 768~ 32 767 少数编译系统带符号整数的数值范围为: -(2n-1 –1)~ 2n-1-1。 若一个整数所占的bit数为16,则其范围为: -32 767 ~ 32 767。 不同长度整型数据的取值范围 整型数据的类型 字符型: [signed] char, unsigned char 普通整型: [signed] int, unsigned [int] 短整型: [signed] short [int], unsigned short [int] 长整型: [signed] long [int], unsigned long [int] 超长整型: (很多编译系统未实现) [signed] long long [int], unsigned long long [int] C语言中不同长度 实型数据的取值范围和表数精度 C语言提供了一个测定某一种类型数据所占存储空间长度的运算符“sizeof”。 它的格式为: sizeof (类型标识符或数据) 当不了解所使用的编译器中的某数据类型的宽度时,可使用这个运算符计算之。 /*** 文件名:ex020101.c *** 测定数据类型长度 ***/ #include stdio.h int main(void) { int i = 0; printf (char: %d bytes.\n,sizeof(char)); printf (short: %d bytes.\n,sizeof(short)); printf (i: %d bytes\n,sizeof (i)); /* 计算变量i的字节数*/ printf (long: %d bytes\n,sizeof(long)); printf (float: %d bytes\n,sizeof(float)); printf (double: %d byte

文档评论(0)

富贵礼包 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档