第二章C和C 语言基本知识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章C和C 语言基本知识

第二章 C和C++语言基本知识 2.1 数据类型(data types) 程序的主要任务之一是处理数据。数据的类型很多,可归纳为两大类:C++系统所提供的一系列“预定义数据类型”;用户自己所定义的一系列“用户自定义类型”。 本章主要介绍 “预定义数据类型”,各“预定义数据类型”可用以下关键词表达,例如: int,char,double,bool,long,等。 程序可以为各数据类型建立各变量(variable),例如: int j; 其中int是整型数据类型,而j则是整型变量。 变量被称为数据类型的实例(instances),建立变量的过程称为实例化(instantiation)。 2.1.1 各种数据类型的长度 所有数据类型的变量都在内存中占据一定空间,其长度可使用sizeof来确定。sizeof是一个宏而不是函数(本章§2.6.4中将介绍宏与函数的区别),可用于求某个变量在内存中的长度,也即它所占有的字节数。其使用格式如: 对int a;可用 sizeof(a);或 sizeof(int); 其它如sizeof(double);等 [例1]读取预定义(即由系统本身所定义的)类型数据的长度(这些数据的说明见任何C语言的书) // var_size.cpp // To check the sizes of different kinds of variables #include iostream.h void main() { coutsizeof(char) :sizeof(char)endl; coutsizeof(bool) :sizeof(bool)endl; coutsizeof(short) :sizeof(short)endl; coutsizeof(int) :sizeof(int)endl; coutsizeof(unsigned) :sizeof(unsigned)endl; coutsizeof(long) :sizeof(long)endl; coutsizeof(float) :sizeof(float)endl; coutsizeof(double) :sizeof(double)endl; coutsizeof(long double) :sizeof(long double)endl; } /* Results: (in a 32-bit machine) sizeof(char) :1 sizeof(bool) :1 sizeof(short) :2 sizeof(int) :4 sizeof(unsigned) :4 sizeof(long) :4 sizeof(float) :4 sizeof(double) :8 sizeof(long double) :8 */ 此结果在16位机上是不同的。但现已不用16位机。 2.1.2 整型数据 例如int j;(整数)和 unsigned int i;(正整数) 它们各占32个二进制位。 2.1.2.1 正整数 正整数有两类: 第一类为:“unsigned int i;” 表示使用32位表示正整数i,它不可能为负值。其范围为0至约为4.2x109,即0至(232-1)(约为 0至 +42亿,确切地为4,294,967,648,人口统计已够用)。 现以8位为例表示13: 13 = 0 0 0 0 1 1 0 1 128 64 32 16 8 4 2 1 其中最高有效位(MSB, Most Significant Bit)表示128,最低有效位(LSB, Least Significant Bit)表示1。 第二类为:“[signed] int j;”表示使用32位表示可正可负的整数j,其范围约为–21亿至 +21亿,即-232/2至(232/2)-1 (确切地为-2,147,483,648至+2,147,483,647)。 仍以8位为例表示13: 13 = 0 0 0 0 1 1 0 1 符号 64 32 16 8 4 2 1 其中最高有效位为符号位,正数的最高有效位为0,负数的最高有效位为1。 2.1.2.2 负整数 用补码(two?s complement)表示(“求反加”):0 加1得 -13为: 反码加1 1 1 1 1 0 0 1 1 负数的最高有效位为1。 读取负码的方法也是通过“求反加1”求得其绝对值如下 *2.1.3 浮点型(floating-point)或实型(real)数据 例如float f;(占32个二进制位)。 double d;(占64个二进制位)。 以64位浮点型数据为例: 它在内存中分为两部分:指数部分x

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档