第2章-数据的存储与运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.1 计算机的内存与数 据存储
计算机的内存容量通常是指随机存储器(RAM)的容量,是内存 条的关键性参数。内存容量以MB作为单位,可以简写为M。内 存的容量一般都是2的整次方倍,比如256M,512M,1G,2G 等。对于一个容量为2G的内存,可以看成是一个具有 (2G=2*1024*1024*1024*1024)个存储单元的集合,每个物理 存储单元大小为一个字节,每个字节包括八位,每位具有两个状 态,分别用0和1表示。对每一个物理存储单元(一个字节)分 配一个号码,通常叫作“编址”。分配一个号码给一个存储单元 的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻 址”。 位(bit),又称比特,存储信息的最小单位。值为0或1 字节(byte),又称拜特,存储器容量大,直接用bit来表示和管 理不方便,1byte=8bit,byte是最常用的存储单位,常用来表 示一个存储单元。后来又出现了kb,mb,gb,tb等(以 1024/1000倍增)。 地址,存储器包含许多存储单元,使用的时候通过地址进行 查找,这里的地址是指存储单元在存储器里的编号 6
11
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量与常量
程序设计过程中出现的任何明确的数值都称为常量 (constant)。像0,3.1415926,‘a’等均是常量。 本质上,程序里没有常量。因为当每个常量第一次出现时, 编译器会根据其类型自动为其分配合适大小的空间。比如 1287600,当这个数出现时,编译器发现它的范围在int(2^31 ~ 2^31-1)内,所以分配4个字节,类型为int 在计算机内存里,变量和常量都代表了一块存储空间,变 量是一块命名的存储空间,即可以通过变量的名字找到那 块空间,并进行读写。常量则是存储在一块匿名存储空间 里,这段空间临时用来保存一个固定的数值,不可修改。
16
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量命名
principal
lastname zip code
123rate
discount% cost_price city currency$ marks_3
无效名称
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.2 程序设计中使用的 数据及其分类
程序是辅助人解决问题的,所以程序所需要处理 的数据来源于自然界中存在的数据,包括各种数 值,视频,音频,图片,字符等。 基本数据类型主要有两类,一类是数值型,一类 是字符,其中数值型对应为数学中常用的整数和 实数,故又可以细分为整型数据和浮点型数据。 字符型数据则是指以字母形式出现的‘a’,‘b’等 符号。本章将主要介绍这几种基本数据类型 在C语言中,这些数据按照不同类型大体可分为 基本数据类型、构造数据类型(包括数组、枚举 类型、结构体和联合体)、指针类型、空类型四 大类。
1
高职学院 计算机专业 程序设计基础》 《程序设计基础》
第二章
数据的存储与运算
高职学院 计算机专业 程序设计基础》 《程序设计基础》
导入
读者现在一定很渴望立刻编写程序,使用计算机来辅助我 们解决一些问题,我们先来看下面的例子。 例如,在初等数学时我们可以用【πr2】描述一个圆的面 积,C程序里要想实现这样的计算,也要使用类似的表达 式,具体描述为【π*r*r】。与数学相比,这段描述告诉了 C C语言的编译系统,如何来自动完成相应的运算,获取结 果。前面我们用到的π,2我们称之为是程序设计中需要使 用到数据,由数据和运算符构成的描述我们称之为表达式。 在正式编写程序前我们还需要认识一下C语言都能处理哪 些数据,以及这些数据具有什么样的特性,数据是程序加 工的对象,自然界中存在的实物在程序世界里都通过数据 进行表示,只有充分了解各种类型的数据的特性才能在程 序设计过程中更为准确的使用。
这些问题都是我们在开始编写程序前需要知道的, 也是本章重点讲解的内容。
4
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.1 计算机的内存与数 据存储
内存(Memory)也被称为内存储器,其作用是用于暂时存放 CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只 要计算机在运行中,CPU就会把需要运算的数据调到内存中进 行运算,当运算完成后CPU再将结果传送出来。 外存是指的磁盘,磁带,光盘,U盘等等这些介质.它们都是通 过磁,光坑,可存储半导体等方式存储数据,这些都是不需要 加电来保持的介质,所以可以永久存储数据,但是他们读数据 时,都需要进行光电转换,或是磁电转换,都需要有个转换的 过程,所以速度相对内存而言比较慢。容量能根据介质的特点 做得比较大,可以永久保存数据。 平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。 就好比在一个图书馆里,存放书籍的书架和书柜相当于电脑的 外存,而我们学习和看书的办公桌就是内存。通常我们把要永 久保存的、大量的数据存储在外存上,而把一些临时的或少量 的数据和程序放在内存上,当然内存的好坏会直接影响电脑的 运行速度。
7
高职学院 计算机专业 程序设计基础》 《程序设计基础》
数据分类的原因
那么,为什么要对数据进行分类呢? 程序设计语言的发明创造过程中,人们首先看到的就是数 据和数据之间的不同, 就像交通工具要分为汽车、飞机、 轮船一样,因为它们有不同的特点,适用于不同的地方。 因而对数据进行归类总结提炼出不同的数据类型,以方便 . 人操纵计算机.。我们可以根据不同的需要,而选择类型。 从程序设计角度看,数据分类主要是两方面考虑:1.确定 大小 2.限制行为。程序运行时数据是放在内存里的,而数 据是有大小的, 计算机需要知道程序员准备“借”它的 内存放多大的数据?安排得多了浪费,少了不够。同时不 同的数据具有不同的行为,如数值型数据可以进行加减乘 除等算术运算,而对于字符型数据则不同。
10
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量与常量
变量的使用(读出/写入)次数是不受限制的,程序里变 量的数量也是没有限制的,变量的值不是固定的,可以根 据程序需要随时修改变量的值,且次数不受限制。 程序中使用变量保存的数据是有类型区分的,程序设计语 言中使用的变量具有三个重要属性:名称、类型和值。名 称是对变量进行读取的标记,类型决定了变量代表的存储 空间可以存放何种类型数据,值则是指存放的数据值。 为了理解三个属性间的关系,可以将变量看做一个外面贴 有标签的盒子。变量的名字写在标签上,作为盒子的标志 以区分不同的盒子。变量的值则对应于盒子内装的东西。 盒子标签上的名称从不改变,但盒子里放的东西可以随时 改变。变量类型相当于盒子所能盛放物品的规定,即限定 了只有某一类物品可以存放在这个盒子中。
8
高职学院 计算机专业 程序设计基础》 《程序设计基础》
数据类型的含义
数据类型可以由两个性质定义:值的集合和操作 的集合。 值的集合也称为值域,即该类型的元素的值的集 合。例如整数的值域就是机器硬件所能构造的所 有整数(…-2,-1,0,1,2…)字符型数据的值域则 是键盘上出现的或可以显示在终端屏幕上的所有 符号的集合。 操作集合由操作该数据的值的工具构成。例如, 给出两个整数,可以对他们进行加减乘除等操作, 则加减乘除即为其操作集合中的一员,而对于文 本数据,则无法进行类似操作,但可以进行比较 字母顺序等操作。因此,操作必须与值域的元素 相对应。
15
高职学院 计算机专业 程序设计基础》 《程序设计基础》
关键字
C语言的所有命令,系统函数名等,就称为C语言 的关键字。就像你用英语,是用英语单词写文章, 你用C语言写程序,就是用C语言关键字完成你的 程序,通过关键字向计算机发出指令,完成指定 的任务。 由ANSI标准定义的共32个 : auto double int st百度文库uct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static
12
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的分类
变量被用于保存数据,故根据前面对C语言中使用数 据的分类,变量可分为整型变量,浮点型变量,字符 型变量,数组变量,指针变量,结构体变量等类型, 每种变量都用于存储特定类型的数据。 变量的使用:变量的声明(定义) —— 变量的初始 化(赋值) —— 读取变量的值
13
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的声明
变量的声明:即声明一个变量,在内存空间开辟一块存储 空间,并命名,具体方法如下: Datatype variablename; 例如:声明一个整型(类型关键字为int)变量,并将其 命名为a,具体的声明语句为: int a; 其中int规定了这块存储空间的性质(存储整型数据,大 小固定),a是变量的名字,程序中可以通过a来访问变量 的值。 可以一次声明多个同一类型的变量,变量名称间通过逗号 分隔,如下语句就一次声明了三个整形变量: int a,b,c;
14
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的命名
在 C 语言中,变量命名需要遵循一定的规则 变量的命名规则: 变量名必须以字母或 _(下划线)开头 名称中的其他字符可由字母、数字和 _(下划线)组 合而成,不能包含除 _ 以外的任何特殊字符,如:%、 # 、逗号、空格等,不能包含空白字符(换行符、空 格和制表符) 名称不可以是C语言编译系统中的关键字,具体见表 C 语言区分大小写,因此变量 price 与变量 PRICE 是 两个不同的变量 变量名的长度不是无限的。不同的编译系统有自己的 规定 变量名应该使读者易于明白其中存储的值是什么
3
高职学院 计算机专业 程序设计基础》 《程序设计基础》
导入
可以带着如下问题来学习本章内容:
程序运行时所需数据要驻留在内存中,内存的结构和 容量是如何表示的? 程序设计中都会用到哪些数据?每种数据通常都具备 哪些特征(取值范围,都支持哪些操作; 如何在内存 中存储; 程序里如何对其进行读取)? 程序中数据是以何种形式保存在内存中呢? 变量与常量
高职学院 计算机专业 程序设计基础》 《程序设计基础》 1、什么是程序?什么是程序设计语言?
课程回顾
2、程序设计语言经历过哪几个发展阶段?高级语言都有哪几 种实现方式,各有什么特点? 3、简单的C语言程序由哪些部分构成? 4、用C语言开发程序的过程可以分为哪几个阶段? 5、函数的种类,函数的定义和函数调用,错误的种类 6、上机编写C程序的步骤?
9
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.3 数据的表现形式 --变量与常量 变量与常量
内存那么大,如何才能够找到和处理所需的单个数据呢?程序 设计语言中经常会使用变量 变量这样一个概念,变量代表了计算机 变量 里一块特定的内存,它是由一个或多个连续的字节所组成,每 个变量都有一个名称,名称也代表了变量在内存中的存储位置, 对变量的使用都是按名存取,即通过变量名字读取或者修改变 量代表的存储单元中的值。当程序里需要保存数据时就可以先 声明一个变量(在内存中分配一块空间,并命名),然后将对 变量赋值(将需要保存的数据保存到变量所代表的存储空间), 变量代表的存储空间内保存的数据称为变量的值,后面程序中 可以通过变量名对变量的值进行读取。 例如一段程序要统计一篇英文稿子里有多少个单词,可以在内 存中分配一段存储空间,命名为count(声明或定义一个变量), 用于保存当前统计过的单词数量。统计前单词数量为0,即将0 保存到count代表的存储空间中(对变量赋值),每次读取到一 个有效的单词后修改count存储的数值,使其加一,当读取到稿 子结尾时,count变量内存储的值即为单词的总数。
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.1 计算机的内存与数 据存储
计算机的内存容量通常是指随机存储器(RAM)的容量,是内存 条的关键性参数。内存容量以MB作为单位,可以简写为M。内 存的容量一般都是2的整次方倍,比如256M,512M,1G,2G 等。对于一个容量为2G的内存,可以看成是一个具有 (2G=2*1024*1024*1024*1024)个存储单元的集合,每个物理 存储单元大小为一个字节,每个字节包括八位,每位具有两个状 态,分别用0和1表示。对每一个物理存储单元(一个字节)分 配一个号码,通常叫作“编址”。分配一个号码给一个存储单元 的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻 址”。 位(bit),又称比特,存储信息的最小单位。值为0或1 字节(byte),又称拜特,存储器容量大,直接用bit来表示和管 理不方便,1byte=8bit,byte是最常用的存储单位,常用来表 示一个存储单元。后来又出现了kb,mb,gb,tb等(以 1024/1000倍增)。 地址,存储器包含许多存储单元,使用的时候通过地址进行 查找,这里的地址是指存储单元在存储器里的编号 6
11
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量与常量
程序设计过程中出现的任何明确的数值都称为常量 (constant)。像0,3.1415926,‘a’等均是常量。 本质上,程序里没有常量。因为当每个常量第一次出现时, 编译器会根据其类型自动为其分配合适大小的空间。比如 1287600,当这个数出现时,编译器发现它的范围在int(2^31 ~ 2^31-1)内,所以分配4个字节,类型为int 在计算机内存里,变量和常量都代表了一块存储空间,变 量是一块命名的存储空间,即可以通过变量的名字找到那 块空间,并进行读写。常量则是存储在一块匿名存储空间 里,这段空间临时用来保存一个固定的数值,不可修改。
16
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量命名
principal
lastname zip code
123rate
discount% cost_price city currency$ marks_3
无效名称
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.2 程序设计中使用的 数据及其分类
程序是辅助人解决问题的,所以程序所需要处理 的数据来源于自然界中存在的数据,包括各种数 值,视频,音频,图片,字符等。 基本数据类型主要有两类,一类是数值型,一类 是字符,其中数值型对应为数学中常用的整数和 实数,故又可以细分为整型数据和浮点型数据。 字符型数据则是指以字母形式出现的‘a’,‘b’等 符号。本章将主要介绍这几种基本数据类型 在C语言中,这些数据按照不同类型大体可分为 基本数据类型、构造数据类型(包括数组、枚举 类型、结构体和联合体)、指针类型、空类型四 大类。
1
高职学院 计算机专业 程序设计基础》 《程序设计基础》
第二章
数据的存储与运算
高职学院 计算机专业 程序设计基础》 《程序设计基础》
导入
读者现在一定很渴望立刻编写程序,使用计算机来辅助我 们解决一些问题,我们先来看下面的例子。 例如,在初等数学时我们可以用【πr2】描述一个圆的面 积,C程序里要想实现这样的计算,也要使用类似的表达 式,具体描述为【π*r*r】。与数学相比,这段描述告诉了 C C语言的编译系统,如何来自动完成相应的运算,获取结 果。前面我们用到的π,2我们称之为是程序设计中需要使 用到数据,由数据和运算符构成的描述我们称之为表达式。 在正式编写程序前我们还需要认识一下C语言都能处理哪 些数据,以及这些数据具有什么样的特性,数据是程序加 工的对象,自然界中存在的实物在程序世界里都通过数据 进行表示,只有充分了解各种类型的数据的特性才能在程 序设计过程中更为准确的使用。
这些问题都是我们在开始编写程序前需要知道的, 也是本章重点讲解的内容。
4
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.1 计算机的内存与数 据存储
内存(Memory)也被称为内存储器,其作用是用于暂时存放 CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只 要计算机在运行中,CPU就会把需要运算的数据调到内存中进 行运算,当运算完成后CPU再将结果传送出来。 外存是指的磁盘,磁带,光盘,U盘等等这些介质.它们都是通 过磁,光坑,可存储半导体等方式存储数据,这些都是不需要 加电来保持的介质,所以可以永久存储数据,但是他们读数据 时,都需要进行光电转换,或是磁电转换,都需要有个转换的 过程,所以速度相对内存而言比较慢。容量能根据介质的特点 做得比较大,可以永久保存数据。 平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。 就好比在一个图书馆里,存放书籍的书架和书柜相当于电脑的 外存,而我们学习和看书的办公桌就是内存。通常我们把要永 久保存的、大量的数据存储在外存上,而把一些临时的或少量 的数据和程序放在内存上,当然内存的好坏会直接影响电脑的 运行速度。
7
高职学院 计算机专业 程序设计基础》 《程序设计基础》
数据分类的原因
那么,为什么要对数据进行分类呢? 程序设计语言的发明创造过程中,人们首先看到的就是数 据和数据之间的不同, 就像交通工具要分为汽车、飞机、 轮船一样,因为它们有不同的特点,适用于不同的地方。 因而对数据进行归类总结提炼出不同的数据类型,以方便 . 人操纵计算机.。我们可以根据不同的需要,而选择类型。 从程序设计角度看,数据分类主要是两方面考虑:1.确定 大小 2.限制行为。程序运行时数据是放在内存里的,而数 据是有大小的, 计算机需要知道程序员准备“借”它的 内存放多大的数据?安排得多了浪费,少了不够。同时不 同的数据具有不同的行为,如数值型数据可以进行加减乘 除等算术运算,而对于字符型数据则不同。
10
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量与常量
变量的使用(读出/写入)次数是不受限制的,程序里变 量的数量也是没有限制的,变量的值不是固定的,可以根 据程序需要随时修改变量的值,且次数不受限制。 程序中使用变量保存的数据是有类型区分的,程序设计语 言中使用的变量具有三个重要属性:名称、类型和值。名 称是对变量进行读取的标记,类型决定了变量代表的存储 空间可以存放何种类型数据,值则是指存放的数据值。 为了理解三个属性间的关系,可以将变量看做一个外面贴 有标签的盒子。变量的名字写在标签上,作为盒子的标志 以区分不同的盒子。变量的值则对应于盒子内装的东西。 盒子标签上的名称从不改变,但盒子里放的东西可以随时 改变。变量类型相当于盒子所能盛放物品的规定,即限定 了只有某一类物品可以存放在这个盒子中。
8
高职学院 计算机专业 程序设计基础》 《程序设计基础》
数据类型的含义
数据类型可以由两个性质定义:值的集合和操作 的集合。 值的集合也称为值域,即该类型的元素的值的集 合。例如整数的值域就是机器硬件所能构造的所 有整数(…-2,-1,0,1,2…)字符型数据的值域则 是键盘上出现的或可以显示在终端屏幕上的所有 符号的集合。 操作集合由操作该数据的值的工具构成。例如, 给出两个整数,可以对他们进行加减乘除等操作, 则加减乘除即为其操作集合中的一员,而对于文 本数据,则无法进行类似操作,但可以进行比较 字母顺序等操作。因此,操作必须与值域的元素 相对应。
15
高职学院 计算机专业 程序设计基础》 《程序设计基础》
关键字
C语言的所有命令,系统函数名等,就称为C语言 的关键字。就像你用英语,是用英语单词写文章, 你用C语言写程序,就是用C语言关键字完成你的 程序,通过关键字向计算机发出指令,完成指定 的任务。 由ANSI标准定义的共32个 : auto double int st百度文库uct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static
12
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的分类
变量被用于保存数据,故根据前面对C语言中使用数 据的分类,变量可分为整型变量,浮点型变量,字符 型变量,数组变量,指针变量,结构体变量等类型, 每种变量都用于存储特定类型的数据。 变量的使用:变量的声明(定义) —— 变量的初始 化(赋值) —— 读取变量的值
13
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的声明
变量的声明:即声明一个变量,在内存空间开辟一块存储 空间,并命名,具体方法如下: Datatype variablename; 例如:声明一个整型(类型关键字为int)变量,并将其 命名为a,具体的声明语句为: int a; 其中int规定了这块存储空间的性质(存储整型数据,大 小固定),a是变量的名字,程序中可以通过a来访问变量 的值。 可以一次声明多个同一类型的变量,变量名称间通过逗号 分隔,如下语句就一次声明了三个整形变量: int a,b,c;
14
高职学院 计算机专业 程序设计基础》 《程序设计基础》
变量的命名
在 C 语言中,变量命名需要遵循一定的规则 变量的命名规则: 变量名必须以字母或 _(下划线)开头 名称中的其他字符可由字母、数字和 _(下划线)组 合而成,不能包含除 _ 以外的任何特殊字符,如:%、 # 、逗号、空格等,不能包含空白字符(换行符、空 格和制表符) 名称不可以是C语言编译系统中的关键字,具体见表 C 语言区分大小写,因此变量 price 与变量 PRICE 是 两个不同的变量 变量名的长度不是无限的。不同的编译系统有自己的 规定 变量名应该使读者易于明白其中存储的值是什么
3
高职学院 计算机专业 程序设计基础》 《程序设计基础》
导入
可以带着如下问题来学习本章内容:
程序运行时所需数据要驻留在内存中,内存的结构和 容量是如何表示的? 程序设计中都会用到哪些数据?每种数据通常都具备 哪些特征(取值范围,都支持哪些操作; 如何在内存 中存储; 程序里如何对其进行读取)? 程序中数据是以何种形式保存在内存中呢? 变量与常量
高职学院 计算机专业 程序设计基础》 《程序设计基础》 1、什么是程序?什么是程序设计语言?
课程回顾
2、程序设计语言经历过哪几个发展阶段?高级语言都有哪几 种实现方式,各有什么特点? 3、简单的C语言程序由哪些部分构成? 4、用C语言开发程序的过程可以分为哪几个阶段? 5、函数的种类,函数的定义和函数调用,错误的种类 6、上机编写C程序的步骤?
9
高职学院 计算机专业 程序设计基础》 《程序设计基础》
2.3 数据的表现形式 --变量与常量 变量与常量
内存那么大,如何才能够找到和处理所需的单个数据呢?程序 设计语言中经常会使用变量 变量这样一个概念,变量代表了计算机 变量 里一块特定的内存,它是由一个或多个连续的字节所组成,每 个变量都有一个名称,名称也代表了变量在内存中的存储位置, 对变量的使用都是按名存取,即通过变量名字读取或者修改变 量代表的存储单元中的值。当程序里需要保存数据时就可以先 声明一个变量(在内存中分配一块空间,并命名),然后将对 变量赋值(将需要保存的数据保存到变量所代表的存储空间), 变量代表的存储空间内保存的数据称为变量的值,后面程序中 可以通过变量名对变量的值进行读取。 例如一段程序要统计一篇英文稿子里有多少个单词,可以在内 存中分配一段存储空间,命名为count(声明或定义一个变量), 用于保存当前统计过的单词数量。统计前单词数量为0,即将0 保存到count代表的存储空间中(对变量赋值),每次读取到一 个有效的单词后修改count存储的数值,使其加一,当读取到稿 子结尾时,count变量内存储的值即为单词的总数。