当前位置:C++技术网 > 资讯 > C++语言零基础入门教程:4.1 什么是数据类型,数据类型知识背景分析

C++语言零基础入门教程:4.1 什么是数据类型,数据类型知识背景分析

更新时间:2015-11-05 16:07:51浏览次数:1+次

    从这节课开始,我们开始进入C++的基本语法的学习了。我们不会按照任何一本书的结构来学习,而是根据我们的开发经验自己整理的一套学习顺序来讲解。我们课程主要是站在学习者的角度讲解,也就是以学习的方式学习,而不是知识的分类来讲解。
    在《C++语言零基础入门教程:2.6 标准输出printf和cout的对比分析》和《C++语言零基础入门教程:2.7 标准输入scanf和cin的对比分析》两节中,我们介绍了基本的输入输出。目前知道这样就可以了。
    我们下面就开始介绍数据类型。这里就从整体上来分析一下数据类型的背景思想,促进理解。而具体的数据类型的讲解,将在后面的章节依次分析。
    数据类型是编程的开始。没有类型就没法确定承载信息的实体,没有承载信息的实体,就无法对信息进行处理运算,也就无法基于这些信息以及处理后的信息解决实际的逻辑,更没办法解决实际的业务需求。
    我们所有的信息,在计算机中都被模拟成数据,不同的数据的不断变化更替,也就展示了真实世界的各种信息的变化。而各种信息要用计算机处理,就要数据化。而数据就是计算机的根本。没有数据,处理数据也就失去了意义,没有数据,算法也就是空计算。
    而在编程中,数据就是我们要处理的固定的值,可变的值等,这些值根据信息的类型不同,表示也就不同。而这些不同的信息的类型,就需要用不同的数据类型来表示。比如,几个人,在数学中,我们用整数来计数,而不是用小数来计数。因为人的单位是一,不可再分。这个特性就决定了对人的计数就不能用小数,否则0.5个人到底如何理解,这不是毁三观的节奏吗!
    计算机的数据类型,都不是哪个人吃多了没事干空想出来的。计算机的发明,本来就是为了解决现实中的问题。所以,计算机中用到的,只是对现实世界的抽象而已,并没有额外增加什么。不管是什么,总是可以从现实世界中找到原型。
    所以,说到数据类型,我们不能忽略现实中的信息的类别。联系了现实的信息类别,再来理解计算机的数据类型,我想,不仅觉得更亲切,也会觉得更加具体。

    人是一个感知动物,并非逻辑机器,对于抽象的事物的理解,往往都是很困难的。而既然我们所学的东西本来就源自现实,那么我们也要追根溯源,这样学起来更符合人的学习过程。

  这匹马不等于马

    我们说的冰箱、电视、电脑,等等,都是一个名词。实际上,它代表的是一类事物,就是一个信息类型。可能你并没有这么觉得。在哲学里,就谈到过这个问题。如,这匹马不是马。这匹马就是一个活生生的动物,实实在在存在的一个东西。而马是一个动物的统称,所以是一种类型。所以这匹马确实不是马。这个从逻辑上讲就很好理解了。很多人在学习哲学这个概念的时候,始终搞不清楚。只能说,他看的不够深,没有看到事情的本质。通过一个动物个体和动物类别,我们就可以轻松的分析这一句话。
    那么,在计算机中,类型就和马是一样的存在,只代表一种类型。计算机是创造的学科。而现实存在的世界,是被创造的学科,叫做自然科学。所以,计算机的学习,应该是从造物主的角度来学习,而不是像学习自然科学一样去发现,更多的计算机学习,应该是去创造。
    在现实世界中,马这个类型是我们人为的总结,属于一个抽象的层次,用来概括这种动物。而一匹马的创造实际上与这个类型没有一点关系。一匹马还是由两匹具体的马来创造。
    但是在计算机中,我们要模拟出一个创造的过程,但又要考虑到计算机实际的特性,所以,用到的东西就都是从源头来创造,这就是造物的过程,从无到有的过程。在计算机中,就是用一个类型来将一个东西造出来了。而在现实中,我们无法追溯到源头来发现这个过程。
    用来创造东西的一种特征就是一个类型,在创造时就按照这个特征一步步把东西做出来。我们在做一个东西的时候,往往就可以用模具。那么这个模具就可以看成是一种类型。实际上,在计算机中,类型反应的就是内存的占用大小,排列和访问方式等。只不过在我们看来,编程语言已经将这些全部屏蔽,我们不需要关注底层的细节。实际上,看上去简单的一个创建一个存储数据的东西,即定义变量或常量,在计算机底层做了很多的事情。千万不要以为理所当然。前面已经讲过了,计算机是一门创造性的学科,每一个现象都是创造出来的,并不是自然世界中已经存在好的那样。
    而数据类型,就是实现定义好的一个模板,我们在创建变量或者常量的时候,就按照这个模板来分配内存,指定各种操作规则,然后就按照数据类型的规定来操作。
    所以,说到数据类型,我们并不需要你出口而说什么int、char这些词汇。它们并不能解释数据类型的,它们只是数据类型的一个代号而已。这节课就只想让你对数据类型的概念引起深思,而不是习惯性的接受一个概念而已。
    总结一下,数据类型是用于创造可以存储信息的实体的模板,是一个抽象概念。而这些实体,在计算机中通常称为变量、常量。对于变量和常量的值的运算,就是对信息的处理。
    因为是抽象的概念,如果你是第一次接触这样的讲解,可能会有所疑惑,可能感觉没讲什么,但是多体会一下,又会发现讲了很多东西。当你慢慢接受这些分析和讲解方法,你会慢慢的形成比较深入的思维逻辑,会促使你思考和自主学习。如果有任何疑问,请一定要留言,欢迎交流你的想法。如果想及时沟通,请加入网站的QQ群。