C语言 第四章 数据类型共14页文档文档格式.docx

上传人:b****4 文档编号:15878055 上传时间:2022-11-16 格式:DOCX 页数:12 大小:28.14KB
下载 相关 举报
C语言 第四章 数据类型共14页文档文档格式.docx_第1页
第1页 / 共12页
C语言 第四章 数据类型共14页文档文档格式.docx_第2页
第2页 / 共12页
C语言 第四章 数据类型共14页文档文档格式.docx_第3页
第3页 / 共12页
C语言 第四章 数据类型共14页文档文档格式.docx_第4页
第4页 / 共12页
C语言 第四章 数据类型共14页文档文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言 第四章 数据类型共14页文档文档格式.docx

《C语言 第四章 数据类型共14页文档文档格式.docx》由会员分享,可在线阅读,更多相关《C语言 第四章 数据类型共14页文档文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

C语言 第四章 数据类型共14页文档文档格式.docx

我在教学中,注意听说结合,训练幼儿听的能力,课堂上,我特别重视教师的语言,我对幼儿说话,注意声音清楚,高低起伏,抑扬有致,富有吸引力,这样能引起幼儿的注意。

当我发现有的幼儿不专心听别人发言时,就随时表扬那些静听的幼儿,或是让他重复别人说过的内容,抓住教育时机,要求他们专心听,用心记。

平时我还通过各种趣味活动,培养幼儿边听边记,边听边想,边听边说的能力,如听词对词,听词句说意思,听句子辩正误,听故事讲述故事,听谜语猜谜底,听智力故事,动脑筋,出主意,听儿歌上句,接儿歌下句等,这样幼儿学得生动活泼,轻松愉快,既训练了听的能力,强化了记忆,又发展了思维,为说打下了基础。

4.2数据类型基本概念

4.2.1理解数据类型

4.2.2理解整型和实型

4.2.3理解数值的范围

4.2.4理解有符号数和无符号数

4.3字符集和保留字

4.3.1字符集

4.3.2保留字

4.4基本数据类型

4.4.1字符型和各种整型、实型

4.4.2布尔型(bool)和无类型(void)

4.4.3为数据类型起别名:

typedef4.5sizeof的使用

4.5.1sizeof例程

4.1这是个有类型的世界

问大家一个问题:

现实生活,有哪些信息可以用计算机可以管理呢?

职工、学员、客户、工资、原材料、产品、商品…现实中实现用计算机管理的信息已是无数。

职工又有什么信息呢?

职工有姓名、性别、出生年月、家庭住址、电话,婚否、工龄、工种、工资、等等。

这两个问题你可能回答得不错,现在,考验你前几章有没有认真学习的时刻到了,请看下面这个问题:

所有的这些信息,在计算机里都是以什么样的数据形式来表达呢?

请自觉闭上眼睛,想一想。

再看以下的各种回答。

"

二进数"

,正确。

已数字化的数据"

,也算正确。

0和1"

机器语言"

,正确,你还记得第一章的内容啊,不错。

本章需要继续的一个问题就由此开始。

所有的信息都用机器语言--那些0和1--表达,那你我编写程序岂不很难?

这是第一章的问题,你还记得在第一章关于本问题回答吗?

那就是:

机器语言不好记,那就用高级语言。

高级语言高级在哪里呢?

第一章也有答案:

就高级在它尽量向"

高级动物"

的思维习惯做了一些接近。

当然,只能说尽量,它必须仍然保持符合机器的绝大部分特点,否则,大家就不要学计算机语言了。

数据类型,就是计算机语言向人类语言靠近时,走出的第一步,很重要的一步。

(机器语言或汇编语里,没有数据类型一说。

人类的世界,是有类型的世界。

树木花草,归一类:

植物;

猪狗猫羊,动物;

金银铜铁,金属;

你我他她,人类。

(不要告诉我你不是人类,在这虚拟的网络的世界…)

上一章笔者"

鼓吹"

过一个观点:

整个世界都可以用数据和处理来表达。

基于此,整个世界就是一个程序;

而万物是世界的数据。

如果你找一个人,对他说:

你等于一只猪"

,他一定暴跳如雷。

为什么呢?

嘻嘻,学了这一章,我们就可以从程序的角度来解释了:

人和猪不是一类型,不适于做赋值操作。

待以后我们学了C++的"

类"

,则又有更好回答:

上帝创造世界是,没有为人"

实现参数为猪"

的拷贝构造函数,或等号重载函数。

(想和上帝做同行?

快做个程序员。

4.2数据类型基本概念

数据类型"

就是这么一个很好理解的概念。

我们的重点是了解在计算机编程世界中,有哪些基本的数据类型?

在人类世界里,数据类型那就多了,把人类的对万物划分类型的方法照搬入计算机世界,显然不可能。

怎么办呢?

方法就是:

抽象。

计算机先哲们为我们做了这一切。

其中,最重要类型,也称为C/C++语言的基本数据类型,只有两个:

数值"

和"

字符"

第一是"

数值类型"

这样,在职工的信息中,譬如年纪,工龄、工资就有了归属。

你现在需要暂时不将目光从屏幕前移开,想一想"

是一个多好的抽象结果!

无论进行任何信息管理,离开了"

数"

,还能管理什么?

第二是"

字符类型"

像职工姓名或家庭住址,这些由字符类型的数据组成。

你可能想不到的还有,职工的电话号码010-*******,这也是由字符类型数据组成。

0、1、2、3不是数字吗?

应该属于上面的"

类型吧?

嗯,你听我说:

现实生活中,数字被广泛地应用在两种不同范畴:

其一是那些典型的,需要进行计算的场合。

比如鸡蛋1斤2.3元;

其二则那些只用来表示符号的范畴。

比如电话号码,比如车牌号。

把两个电话号码进行相加或相减的操作是没有意义的。

基于数字的两种完全不一样的使用范畴,所以在被抽象到计算机程序语言时,数字被分到"

两种类型中。

但字符类型并不只有阿拉伯数字,键盘上的字母符号,都属于字符类型。

在C/C++中,"

其实也可归入数值类型。

在某些情况下,它仍然会被用来参与计算。

比如在计算机中,字符'

A'

加1后,会得到下一个字符'

B'

,这种操作符合我们的习惯。

数值类型又被分为"

整型"

实型"

整型就是不带小数位的数,而实型则是指带小数位的数,也称为"

浮点数"

我们在生活中一般并不做如此区分。

譬如说鸡蛋的价格罢,今儿便宜了,一斤2块整,但这不防碍明儿价涨了,我们说成:

涨了,2.30元一斤。

在编程时可不能这样,你必须事先考虑到鸡蛋的价格是必须带小数的,就算现在是2块整,也得将价格定为实型,否则,涨成2块3时,计算机会把那0.3元给丢了,还是变成2元整。

你会问为什么不直接就定一个实型就好呢?

实型不就包含了整型的值吗(如2.0等于2元)?

好!

问得好,我不喜欢书上说什么就记什么,一个"

为什么"

也不去想的学习方法。

由于能力的限制,大多数人如你我,都不能为这个世界发明奉献什么新技术,我们只能作为技术的"

接受者"

而活在这个世上。

然而正因为只能作为接受者,我们就更应该在学习任何技术前,先学会从一定的高度来询问:

为什么会有这个技术(这个技术为什么会出现)?

我现在需要这个技术吗(必竟学习需要占用时间)?

这么做并非是一种消极态度,相反,它的积极意议在于:

经过这种思考,你不仅可以把有限的时间花在值的学习上,而且只有弄明白了一样技术(或技术的概念)产生的需要,我们才有可能真正理解它,从而比别人学得更深刻更本质。

一个问题牵出一堆废话,回答却很简单:

因为在计算机里,对整数的运算要远远快于对浮点数的运算,所以,在人类的思维习惯与计算机特点之间,必须做一个折衷。

折衷的结果就是虽然都是数值类型,但程序员在程序时,必须事先想好,哪些数据是必须带小数计算的,那些数据定为实型,比如工资,没有哪个员工会认为老板可以将自已工资中的小数位忽略不计;

而那些可以不用,或者可以不计较小数的数值,则被建议设计成整型,比如人的年纪,虽然可以,但我们很少需要有类似1.6岁这种说法。

想想,假如一位女士说自已28岁,而你却立刻纠正她:

不,准确地说,您已经28.7岁了"

…结局会怎样呢?

为了那0.7岁,不仅你的程序会跑得慢,而且会倍受女人的白眼杀伤。

想想其实也很自然:

工资必须设计成实型,而年龄虽然不是必须,但建议设计成整型。

然而事情并未就此结束。

顾及计算机的运行速度,人(程序员)做出了妥协,必须面对"

或"

的考虑。

另一方面,和速度同样重要的是计算机的空间的考虑。

它让程序员必须再做一步妥协。

小时候你一定有过这样的经历:

你说100,另一个小伙伴就说101。

你说1000,他就说1001,你说10000,他就说:

那我10001。

总之他就是要比你大1。

这种游戏不会有分出胜负的结局,只会让你郁闷为什么就不能有个最大数让你说了以后,那家伙就再了无法往上加1了!

现在你学编程,儿时的"

妄想"

终于在计算机的世界中实现了。

在计算机世界中,你可以说一个数,当别人再住这个数加1时,真不幸,计算机会告诉他说:

加1是加1了,可是结果变成0,甚至是负数。

这就是计算机的空间问题:

任何一个量,都有一个大的上限,和小的下限,出了这个范围(比上限还大,比下限还小),就会称为溢出。

这是一种物理的现实,也是一种人为的规定。

为什么要这样规定?

原因是计算机的存储器,特别是其中很重要的内存(见上章),其可存储的数据多少总是有限度。

(而且,同样大小数,2进制的表达形式比10进制长得多),如果允许编程像生活中一样任何一个数都可以很大很大,也就是这个量表达起来将很长很长,那么存储器的空间就会很快用完!

(无穷大就不用说了,因为不可能有无穷大的存储器)。

就是这样,数值类型在被划分为整型和实型后,将根据所占用的空间而被继续划分为几种不同类型。

而我们,在考虑工资必须设计成带小数的实型后,必须再面对一个设计上的考虑,工资这个量在程序里要占多大空间?

依据其实很简单,就看你的单位最高月薪是多少,凭此找到一个合适的类型。

比如月薪不超过1万元,那我们选择一个刚刚可以包含10000的数据类型。

两种基础类型:

数值类型和字符类型,前者说了很多,现在我们也来对字符类型做一些附加说明。

字符类型要比数值类型简单得多:

它不能带小数,所以没有整型实型之说。

它占用1个字节,已经是计算机能单独处理的最小空间单位,所以也不存在继续分为不同空间长度的问题。

因此,我们将以它为例,详细说明有关数据类型的一些基本而重要的概念。

第1、由于计算机和编程都是老外的发明,而老外生活中常用的的字符并不多--主要是阿拉伯数字、英文字母、标点符号等--所以字符的宽度被定为1个字节(如果忘了什么叫字节,请看上章)。

1字节=8位,所以它能表示的最大数当然是8位都是1(既然2进制的数只能是0或1,如果是我们常见的10进制,那就8位都为9,这样

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1