网站大量收购闲置独家精品文档,联系QQ:2885784924

第四章C、C语言数据类型.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 数据类型 4.1 这是个有类型的世界 问大家一个问题: 现实生活,有哪些信息可以用计算机可以管理呢? 职工、学员、客户、工资、原材料、产品、商品……现实中实现用计算机管理的信息已是无数。 职工又有什么信息呢? 职工有姓名、性别、出生年月、家庭住址、电话,婚否、工龄、工种、工资、等等。   这两个问题你可能回答得不错,现在,考验你前几章有没有认真学习的时刻到了,请看下面这个问题: 所有的这些信息,在计算机里都是以什么样的数据形式来表达呢?请自觉闭上眼睛,想一想。再看以下的各种回答。   “二进数”,正确。 “已数字化的数据”,也算正确。 “0和1”,正确。 “机器语言”,正确,你还记得第一章的内容啊,不错。   本章需要继续的一个问题就由此开始。所有的信息都用机器语言——那些0和1——表达,那你我编写程序岂不很难? 这是第一章的问题,你还记得在第一章关于本问题回答吗?那就是:机器语言不好记,那就用高级语言。高级语言高级在哪里呢?第一章也有答案:就高级在它尽量向“高级动物”的思维习惯做了一些接近。当然,只能说尽量,它必须仍然保持符合机器的绝大部分特点,否则,大家就不要学计算机语言了。 数据类型,就是计算机语言向人类语言靠近时,走出的第一步,很重要的一步。(机器语言或汇编语里,没有数据类型一说。) 人类的世界,是有类型的世界。 树木花草,归一类:植物; 猪狗猫羊,动物; 金银铜铁,金属; 你我他她,人类。(不要告诉我你不是人类,在这虚拟的网络的世界……) 上一章笔者“鼓吹”过一个观点:整个世界都可以用数据和处理来表达。基于此,整个世界就是一个程序;而万物是世界的数据。如果你找一个人,对他说:“你等于一只猪”,他一定暴跳如雷。为什么呢?嘻嘻,学了这一章,我们就可以从程序的角度来解释了:人和猪不是一类型,不适于做赋值操作。待以后我们学了C++的“类”,则又有更好回答:上帝创造世界是,没有为人“类”实现参数为猪“类”的拷贝构造函数,或等号重载函数。 (想和上帝做同行?快做个程序员。) 4.2 数据类型基本概念 4.2.1 理解数据类型 “数据类型”就是这么一个很好理解的概念。我们的重点是了解在计算机编程世界中,有哪些基本的数据类型?在人类世界里,数据类型那就多了,把人类的对万物划分类型的方法照搬入计算机世界,显然不可能。怎么办呢?方法就是:抽象。 计算机先哲们为我们做了这一切。其中,最重要类型,也称为C/C++语言的基本数据类型,只有两个:“数值”和“字符”。 第一是“数值类型”。这样,在职工的信息中,譬如年纪,工龄、工资就有了归属。你现在需要暂时不将目光从屏幕前移开,想一想“数值类型”是一个多好的抽象结果!无论进行任何信息管理,离开了“数”,还能管理什么?   第二是“字符类型”。像职工姓名或家庭住址,这些由字符类型的数据组成。你可能想不到的还有,职工的电话号码 010-1234567,这也是由字符类型数据组成。0、1、2、3不是数字吗?应该属于上面的“数值”类型吧?嗯,你听我说:现实生活中,数字被广泛地应用在两种不同范畴:其一是那些典型的,需要进行计算的场合。比如鸡蛋1斤2.3元;其二则那些只用来表示符号的范畴。比如电话号码,比如车牌号。把两个电话号码进行相加或相减的操作是没有意义的。基于数字的两种完全不一样的使用范畴,所以在被抽象到计算机程序语言时,数字被分到“数值”和“字符”两种类型中。但字符类型并不只有阿拉伯数字,键盘上的字母符号,都属于字符类型。   在C/C++中,“字符类型”其实也可归入数值类型。在某些情况下,它仍然会被用来参与计算。比如在计算机中,字符‘A’加1后,会得到下一个字符‘B’,这种操作符合我们的习惯。 4.2.2 理解整型和实型 数值类型又被分为“整型”和“实型”。整型就是不带小数位的数,而实型则是指带小数位的数,也称为“浮点数”。我们在生活中一般并不做如此区分。譬如说鸡蛋的价格罢,今儿便宜了,一斤2块整,但这不防碍明儿价涨了,我们说成:涨了,2.30元一斤。在编程时可不能这样,你必须事先考虑到鸡蛋的价格是必须带小数的,就算现在是2块整,也得将价格定为实型,否则,涨成2块3时,计算机会把那0.3元给丢了,还是变成2元整。 你会问为什么不直接就定一个实型就好呢?实型不就包含了整型的值吗(如2.0等于2元)?好!问得好,我不喜欢书上说什么就记什么,一个“为什么”也不去想的学习方法。由于能力的限制,大多数人如你我,都不能为这个世界发明奉献什么新技术,我们只能作为技术的“接受者”而活在这个世上。然而正因为只能作为接受者,我们就更应该在学习任何技术前,先学会从一定的高度来询问:为什么会有这个技术(这个技术为什么会出现)?我现在需要这个技术吗(必竟学习需要占用时间)?这么做并非是一种消极态度,相反,它的积极意议

文档评论(0)

185****7617 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档