计算机导论课件-第5章-程序设计基础.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机导论课件-第5章-程序设计基础.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 导论 课件 程序设计 基础
- 资源描述:
-
1、第第5 5章章 程序设计基础程序设计基础【学习目标学习目标】1.1.了解程序设计语言的演化过程了解程序设计语言的演化过程2.2.了解构建程序的各个阶段的特点了解构建程序的各个阶段的特点3.3.了解不同的编程模式的特点了解不同的编程模式的特点4.4.掌握高级程序设计语言的基本构成及相关语法知识掌握高级程序设计语言的基本构成及相关语法知识5.5.了解一些常用的高级程序设计语言了解一些常用的高级程序设计语言6.6.了解算法的相关概念与内容了解算法的相关概念与内容【学习内容学习内容】5.1 5.1 程序设计语言的演化程序设计语言的演化5.2 5.2 构建程序构建程序 5.35.3 编程模式编程模式5.
2、45.4 高级程序语言概述高级程序语言概述 5.55.5 常用高级语言常用高级语言 5.65.6 算法概述算法概述*第第5 5章章 程序设计基础程序设计基础5.1 程序设计语言的演化程序设计语言的演化 程序设计语言是人与计算机交互的工具,如果想要计算机完成程序设计语言是人与计算机交互的工具,如果想要计算机完成指定的工作,就需要使用程序设计语言编写程序让计算机去执行。指定的工作,就需要使用程序设计语言编写程序让计算机去执行。程序设计语言经历了程序设计语言经历了机器语言机器语言、汇编语言汇编语言和和高级程序设计语言高级程序设计语言几个阶段。几个阶段。5.1.1 机器语言机器语言 机器语言是由机器语
3、言是由“0”和和“1”的字符串组成,是一种的字符串组成,是一种“低级语言低级语言”,也是计算机能唯一能识别的语言。也是计算机能唯一能识别的语言。缺点:缺点:它依赖于计算机,不同类型的计算机具有不同的机器语言。它依赖于计算机,不同类型的计算机具有不同的机器语言。使用机器语言的指令系统使用机器语言的指令系统采用采用二进制二进制编码编码,编程和理解非常困难。,编程和理解非常困难。5.1.2 汇编语言汇编语言 使用使用符号或助记符符号或助记符的指令和地址代替二进制代码的语言就是汇的指令和地址代替二进制代码的语言就是汇编语言,也称之为符号语言。编语言,也称之为符号语言。(比如,比如,ADD代表加法,代表
4、加法,MOV代表代表数据传递等。数据传递等。)使用汇编语言编写的程序称为汇编语言程序,它需要经过汇编使用汇编语言编写的程序称为汇编语言程序,它需要经过汇编系统翻译成机器语言之后才能执行。系统翻译成机器语言之后才能执行。汇编语言比机器语言更容易理解和记忆,且能够直接描述计算汇编语言比机器语言更容易理解和记忆,且能够直接描述计算机硬件的操作,具有很强的灵活性,因此在实时控制、实时监测等机硬件的操作,具有很强的灵活性,因此在实时控制、实时监测等领域仍然使用汇编语言。领域仍然使用汇编语言。5.1 程序设计语言的演化程序设计语言的演化 高级语言有别于机器语言和汇编语言,它独立于计算机的类型,且高级语言有
5、别于机器语言和汇编语言,它独立于计算机的类型,且表达形式更接近于被描述的问题,更容易被人掌握、更便于程序的编表达形式更接近于被描述的问题,更容易被人掌握、更便于程序的编写。写。程序员只要使用简单的英文单词、熟悉的数学表达式及规定的语句程序员只要使用简单的英文单词、熟悉的数学表达式及规定的语句格式,就可方便地编写程序,而不必考虑计算机操作的具体细节。格式,就可方便地编写程序,而不必考虑计算机操作的具体细节。高级语言的设计目的就是使程序员摆脱汇编语言繁琐的细节,但其高级语言的设计目的就是使程序员摆脱汇编语言繁琐的细节,但其与汇编语言有一个共同点:编写的程序需要转化为机器语言才能被计与汇编语言有一个
6、共同点:编写的程序需要转化为机器语言才能被计算机执行,这个转化过程称之为解释或编译。算机执行,这个转化过程称之为解释或编译。5.1.3 高级高级语言语言5.1 程序设计语言的演化程序设计语言的演化5.2 构建程序构建程序 程序的开发过程可分成四个主要步骤:编辑程序的开发过程可分成四个主要步骤:编辑编译编译链接链接执行。执行。现在的高级程序设计语言开发平台都将程序的编辑、编译、连接、运现在的高级程序设计语言开发平台都将程序的编辑、编译、连接、运行等功能进行了集成,极大方便用户的使用。行等功能进行了集成,极大方便用户的使用。5.2.1编辑源程序编辑源程序 编辑源程序是指用户按照一定的程序设计语言规
7、范书写程序代码,编辑源程序是指用户按照一定的程序设计语言规范书写程序代码,并将代码保存到计算机中的过程。并将代码保存到计算机中的过程。源程序源程序的的载体载体:书籍书籍、磁带磁带、文本文件文本文件(最常用)(最常用)。5.2.2 编译程序编译程序 编译是指把用高级程序设计语言书写的源程序,编译是指把用高级程序设计语言书写的源程序,翻译翻译成计算机能成计算机能识别的机器语言,源程序经过编译后成为识别的机器语言,源程序经过编译后成为目标程序目标程序。编译程序时一般先分析源程序,检查源程序词法、语法和语义的正编译程序时一般先分析源程序,检查源程序词法、语法和语义的正确性,并将它分解为若干基本成分;然
8、后再根据这些基本成分建立相确性,并将它分解为若干基本成分;然后再根据这些基本成分建立相等价的目标程序部分;最后将目标程序部分综合为目标程序。等价的目标程序部分;最后将目标程序部分综合为目标程序。5.2 构建程序构建程序 5.2.3 链接程序链接程序 链接程序就是将所有与程序有关的目标文件彼此链接程序就是将所有与程序有关的目标文件彼此相连相连,形成一个能,形成一个能为操作系统执行的统一整体。目标文件经过链接后得到为操作系统执行的统一整体。目标文件经过链接后得到可执行文件可执行文件,依据目标文件与库函数的链接方式,可将链接分为依据目标文件与库函数的链接方式,可将链接分为静态链接静态链接与与动动态链
9、接态链接两大类。两大类。5.2.4 程序的执行程序的执行 源程序经过编辑、编译和链接后生成可执行程序,运行可执行程源程序经过编辑、编译和链接后生成可执行程序,运行可执行程序就可获得编程处理的结果。与编译、链接不同,运行可执行程序可序就可获得编程处理的结果。与编译、链接不同,运行可执行程序可以脱离语言编译环境。以脱离语言编译环境。5.2 构建程序构建程序 5.3编程模式编程模式 编程模式是使用计算机程序设计语言编写程序来解决具体问题的编程模式是使用计算机程序设计语言编写程序来解决具体问题的方式,通常有方式,通常有4种编程模式:种编程模式:过程式过程式、面向对象式面向对象式、函数式函数式和和说明式
10、说明式。每种编程模式每种编程模式有着其有着其对应的高级程序设计语言对应的高级程序设计语言,如如下下图所示。图所示。5.3.1 过程式模式过程式模式 在过程式模式中存在在过程式模式中存在被动对象被动对象及被动对象的及被动对象的活动主体活动主体两个概念。其两个概念。其中,被动对象本身不能开始动作,但能通过活动主体接收动作。中,被动对象本身不能开始动作,但能通过活动主体接收动作。过程式过程式编程编程模式下,模式下,数据项数据项属于被动对象,存储在计算机内存中;属于被动对象,存储在计算机内存中;程序程序属于被动对象的活动主体,对被动对象进行操纵。为了操纵被动对属于被动对象的活动主体,对被动对象进行操纵
11、。为了操纵被动对象,活动主体发布动作,称之为象,活动主体发布动作,称之为过程过程。【例例】进行文件打印,先要将文件(被动对象)存储在内存中,然后进行文件打印,先要将文件(被动对象)存储在内存中,然后程序(活动主体)调用程序(活动主体)调用PrintPrint过程完成打印。在过程模式中,被动对象(过程完成打印。在过程模式中,被动对象(文件)和过程(文件)和过程(PrintPrint)是完全独立的实体。)是完全独立的实体。5.3编程模式编程模式5.3.2 面向对象模式面向对象模式 面向对象模式处理的是面向对象模式处理的是活动对象活动对象。通常在活动对象上能执行的所。通常在活动对象上能执行的所有动作
12、都包含在活动对象自身之中,只需接收合适的外部刺激就可执有动作都包含在活动对象自身之中,只需接收合适的外部刺激就可执行其中相应的动作。行其中相应的动作。在面向对象模式中,将文件能执行的所有操作过程(打印、拷贝在面向对象模式中,将文件能执行的所有操作过程(打印、拷贝、删除等)打包在一起,称为、删除等)打包在一起,称为“方法方法”,此时程序仅仅只需向活动对,此时程序仅仅只需向活动对象发出相应请求(打印、拷贝、删除等),文件就会被打印、拷贝或象发出相应请求(打印、拷贝、删除等),文件就会被打印、拷贝或删除。删除。5.3编程模式编程模式5.3.3 函数式模式函数式模式 在函数式模式中,程序被当作一个在函
13、数式模式中,程序被当作一个函数函数。例如,求和可认为是具。例如,求和可认为是具有有n个输入个输入,1个输出的函数。个输出的函数。函数式语言具有以下主要功能。函数式语言具有以下主要功能。1.定义一系列可供任何程序员调用的原始函数。定义一系列可供任何程序员调用的原始函数。2.允许程序员将若干原始函数进行组合创建新的函数。允许程序员将若干原始函数进行组合创建新的函数。5.3编程模式编程模式【例例】定义函数定义函数first,功能是从一个数据列表中取出第一个元素;再,功能是从一个数据列表中取出第一个元素;再定义函数定义函数rest,功能是从一个数据列表中取出除第一个元素以外的所,功能是从一个数据列表中
14、取出除第一个元素以外的所有元素。通过函数有元素。通过函数rest和和first的组合,可以创建一个新函数的组合,可以创建一个新函数third,来,来完成对数据列表中第三个元素的抽取。完成对数据列表中第三个元素的抽取。5.3.4 说明式模式说明式模式 说明式模式是在规范的逻辑基础上发展而来,它依据说明式模式是在规范的逻辑基础上发展而来,它依据逻辑推理逻辑推理原原则响应查询,后来发展成为一阶谓词演算。则响应查询,后来发展成为一阶谓词演算。逻辑推理以推导为基础,根据已知正确的事实,运用逻辑推理的逻辑推理以推导为基础,根据已知正确的事实,运用逻辑推理的可靠准则推导出新的事实。可靠准则推导出新的事实。【
15、例例】逻辑学有以下著名的推导原则:逻辑学有以下著名的推导原则:If(A is B)and(B is C),then(A is C),将此原则应用于事实,将此原则应用于事实1和事实和事实2,可以推导出事实,可以推导出事实3。l 事实事实1:Socrates is a human A is Bl 事实事实2:A human is mortal B is Cl 事实事实3:Sccrates is mortal A is C5.3编程模式编程模式5.4 高级程序语言概述高级程序语言概述 1.变量变量 变量本质上是变量本质上是存储单元的名称存储单元的名称,用于引用计算机内存地址。对于程,用于引用计算机内
16、存地址。对于程序员来说,可将变量理解为是一种使用方便的占位符,只需通过变量名序员来说,可将变量理解为是一种使用方便的占位符,只需通过变量名就可以使用变量或者查看、修改变量的值,而不须了解变量在计算机内就可以使用变量或者查看、修改变量的值,而不须了解变量在计算机内存中的具体地址。存中的具体地址。5.4.1变量、运算符和表达式变量、运算符和表达式(1)变量声明)变量声明 大部分程序语言要求变量在大部分程序语言要求变量在使用前必须先要声明使用前必须先要声明,声明的主要作,声明的主要作用就是告诉计算机该变量及变量类型将在程序中使用,同时要求计算用就是告诉计算机该变量及变量类型将在程序中使用,同时要求计
17、算机预留出相应的存储区域。机预留出相应的存储区域。【例】char a;int b;double c;(2)变量初始化)变量初始化 变量初始化是为已声明过的变量赋初值,并为后续使用该变量做变量初始化是为已声明过的变量赋初值,并为后续使用该变量做准备,未初始化的变量其内存中的值是准备,未初始化的变量其内存中的值是随机随机的。变量初始化可以在变的。变量初始化可以在变量声明后进行,也可以在声明变量的同时进行。量声明后进行,也可以在声明变量的同时进行。【例】char a;a=z;int b=125;double c=123.45;5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变
18、量、运算符和表达式 1.变量变量 程序中用来表示各种运算的程序中用来表示各种运算的符号符号称为运算符;参与运算的数据称为称为运算符;参与运算的数据称为运算对象,或称为运算量、操作数运算对象,或称为运算量、操作数。使用运算符将运算对象连接起来的式子称为运算表达式。常见的表使用运算符将运算对象连接起来的式子称为运算表达式。常见的表达式有达式有算术表达式算术表达式、关系表达式关系表达式、逻辑表达式逻辑表达式等。等。(1)算术运算符和算术表达式算术运算符和算术表达式 算术运算符包括算术运算符包括基本算术运算符基本算术运算符(+,-,*,/,%)和)和自增运算符自增运算符(+)、自减运算符()、自减运算
19、符(-)两大类。)两大类。使用算术运算符和括号将运算对象连接起来的符合某种语言语法规使用算术运算符和括号将运算对象连接起来的符合某种语言语法规则的式子成为算术表达式。则的式子成为算术表达式。5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变量、运算符和表达式 2.运算符和表达式运算符和表达式(1)算术运算符和算术表达式算术运算符和算术表达式5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变量、运算符和表达式 2.运算符和表达式运算符和表达式 关系运算符主要用于关系运算符主要用于比较比较两个数据量的大小关系,运算结果是两个数据量的大小关系,运算结果
20、是逻逻辑值辑值(true或或false)。常用的关系运算符有)。常用的关系运算符有6种,如种,如下下表所示。表所示。(2)关系)关系运算符和运算符和关系关系表达式表达式5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变量、运算符和表达式 2.运算符和表达式运算符和表达式 逻辑运算符主要用于逻辑运算符主要用于逻辑值逻辑值(true或或false)的运算,逻辑运算的结果)的运算,逻辑运算的结果仍然是逻辑值。逻辑运算符有仍然是逻辑值。逻辑运算符有3种,分别是种,分别是逻辑与逻辑与(&)、)、逻辑或逻辑或(|)、逻辑非逻辑非(!),如(!),如下下表所示。表所示。(3)逻辑)逻
21、辑运算符和运算符和逻辑逻辑表达式表达式5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变量、运算符和表达式 2.运算符和表达式运算符和表达式说明:说明:C语言中规定,当运算对象为语言中规定,当运算对象为0时,即判定其为假,当运算对象为非时,即判定其为假,当运算对象为非0的任的任何值(包括负值),即判定其为真。何值(包括负值),即判定其为真。(4)运算符的优先级和结合方向)运算符的优先级和结合方向 当一个表达式中存在多个运算符时,运算符被处理的先后次序称为运当一个表达式中存在多个运算符时,运算符被处理的先后次序称为运算符的优先级。算符的优先级。C语言中常见运算符的优先级和
22、结合方向如表语言中常见运算符的优先级和结合方向如表5-4所示所示(见书(见书P87)。5.4 高级程序语言概述高级程序语言概述 5.4.1变量、运算符和表达式变量、运算符和表达式 2.运算符和表达式运算符和表达式 程序中使用的每个数据必须属于某种类型。高级程序设计语言提程序中使用的每个数据必须属于某种类型。高级程序设计语言提供了丰富的数据类型,归纳起来可分为两类:供了丰富的数据类型,归纳起来可分为两类:基本数据类型基本数据类型和和组合数组合数据类型据类型。C语言中的数据类型如语言中的数据类型如下下图所示。图所示。5.4 高级程序语言概述高级程序语言概述 5.4.2 数据类型数据类型1.基本数据
23、类型基本数据类型 基本数据类型也称为原子类型、标量类型或内建类型,是基本数据类型也称为原子类型、标量类型或内建类型,是不能分解不能分解为更小数据类型的数据类型。常用的基本数据类型主要包括以下几为更小数据类型的数据类型。常用的基本数据类型主要包括以下几种:种:整数类型:不带小数部分的数字。整数类型:不带小数部分的数字。实数类型:带小数部分的数字。实数类型:带小数部分的数字。字符类型:字符类型:Unicode字符集中的符号。字符集中的符号。布尔类型:只有两种取值(真或假)的数据类型。布尔类型:只有两种取值(真或假)的数据类型。5.4.2 数据类型数据类型5.4 高级程序语言概述高级程序语言概述 2
24、.构造数据类型构造数据类型 构造数据类型也称为组合数据类型,是由一组元素构造数据类型也称为组合数据类型,是由一组元素组合而成组合而成,其中每个元素都是基本数据类型或复合数据类型。大部分高级语言其中每个元素都是基本数据类型或复合数据类型。大部分高级语言都定义了以下几种构造数据类型:数组、结构体、共用体等。都定义了以下几种构造数据类型:数组、结构体、共用体等。5.4.2 数据类型数据类型5.4 高级程序语言概述高级程序语言概述 5.4.3 赋值语句赋值语句 赋值是指将一个具体的值赋给已经声明过的变量,大多数高赋值是指将一个具体的值赋给已经声明过的变量,大多数高级程序设计语言(如级程序设计语言(如C
25、、C+)使用)使用“=”来赋值。来赋值。【例例】int a,b,c;/声明声明3个整型变量;个整型变量;a=b=c=3;/通过赋值符号通过赋值符号“=”对变量对变量a,b,c同时赋值同时赋值3;5.4.4 输入输出输入输出 输入、输出数据是绝大多数程序所必需的,高级程序设计语言通常输入、输出数据是绝大多数程序所必需的,高级程序设计语言通常都具有都具有预定义好预定义好的输入、输出函数,用户只需直接调用即可完成输入、的输入、输出函数,用户只需直接调用即可完成输入、输出。输出。1.输入输入 输入就是将外部数据送入程序,供程序使用或处理。输入就是将外部数据送入程序,供程序使用或处理。C语言中预定语言中
展开阅读全文