第5章程序设计知识课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章程序设计知识课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章程 设计 知识 课件
- 资源描述:
-
1、 计算机导论(计算机导论(20142014)第第5 5章章 程序设计知识程序设计知识5.1 5.1 程序设计语言程序设计语言5.2 C5.2 C语言程序设计语言程序设计5.3 5.3 数据结构数据结构5.4 5.4 编译原理编译原理 计算机导论(计算机导论(20142014)5.1 5.1 程序设计语言程序设计语言机器语言机器语言汇编语言汇编语言高级语言高级语言结构化程序设计语言结构化程序设计语言 面向对象程序设计语言面向对象程序设计语言可视化程序设计语言可视化程序设计语言 人工智能程序设计语言人工智能程序设计语言学习语言是设计程序的基础 计算机导论(计算机导论(20142014)5.1.1
2、5.1.1 机器语言机器语言机器语言的特点机器语言的特点 由二进制编码指令构成的语言由二进制编码指令构成的语言。是一种依附于机器硬件的语言。是一种依附于机器硬件的语言。机器语言程序可以直接执行。机器语言程序可以直接执行。机器语言程序片段机器语言程序片段 0001 0101 01101100 /把地址为把地址为01101100的内存单元中的数装入的内存单元中的数装入0101号寄存器号寄存器 0001 0110 01101101 /把地址为把地址为01101101的内存单元中的数装入的内存单元中的数装入0110号寄存器号寄存器 0101 0000 01010110 /把把01101100和和011
3、01101中的数相加中的数相加,结果存入结果存入0000号寄存器号寄存器 0011 0000 01101110 /把把0000号寄存器中的数存入地址为号寄存器中的数存入地址为01101110的内存单元中的内存单元中 计算机导论(计算机导论(20142014)5.1.2 5.1.2 汇编语言汇编语言汇编语言的特点汇编语言的特点 由助记符指令构成的语言由助记符指令构成的语言。也是一种依附于机器硬件的语言。也是一种依附于机器硬件的语言。汇编语言源程序需要汇编后才能执行。汇编语言源程序需要汇编后才能执行。汇编语言程序片段汇编语言程序片段 MOV R5,X /把内存单元把内存单元X中的数装入中的数装入R
4、5寄存器寄存器 ADD R5,Y /把把R5中的数与中的数与Y单元中的数相加,结果存入单元中的数相加,结果存入R5 MOV Z,R5 /把把R5中的数存入中的数存入Z单元中单元中 计算机导论(计算机导论(20142014)5.1.3 5.1.3 高级语言高级语言高级语言的特点高级语言的特点 由自然语言和数学公式表示的语言由自然语言和数学公式表示的语言。是一种独立于机器硬件的语言。是一种独立于机器硬件的语言。高级语言程序需要编译后才能执行。高级语言程序需要编译后才能执行。高级语言程序片段高级语言程序片段 Z=X+Y /把内存单元把内存单元X中的数与中的数与Y中的数相加,结果存入中的数相加,结果存
5、入Z单元单元 计算机导论(计算机导论(20142014)5.1.3 5.1.3 高级语言高级语言常用高级语言常用高级语言 FORTRAN语言语言FORTRAN是是FORmula TRANslator(公式翻译器)的缩写。(公式翻译器)的缩写。主要用于复杂的科学计算领域。主要用于复杂的科学计算领域。ALGOL语言语言ALGOL是是ALGOrithm Language(算法语言)的缩写。(算法语言)的缩写。主要用于数学与科学计算。主要用于数学与科学计算。计算机导论(计算机导论(20142014)5.1.3 5.1.3 高级语言高级语言常用高级语言常用高级语言 COBOL语言语言 COBOL是是CO
6、mmon Business-Oriented Language(面向商业的(面向商业的通用语言)的缩写。通用语言)的缩写。主要用于企业管理和事务处理。主要用于企业管理和事务处理。BASIC语言语言 BASIC是是Beginners All-purpose Symbolic Instruction Code(初(初学者通用符号指令码)的缩写。学者通用符号指令码)的缩写。主要用于初学者和较小规模的程序开发。主要用于初学者和较小规模的程序开发。计算机导论(计算机导论(20142014)5.1.4 5.1.4 结构化程序设计语言结构化程序设计语言早期程序设计方法的不足早期程序设计方法的不足注重功能的实
7、现注重功能的实现/注重内存的节省注重内存的节省/注重执行效率的提高。注重执行效率的提高。不注重程序结构的清晰性。不注重程序结构的清晰性。不注重程序的可理解性和可修改性。不注重程序的可理解性和可修改性。结构化程序设计语言的特点结构化程序设计语言的特点 注重程序结构的注重程序结构的清晰性清晰性。注重程序的注重程序的可理解性可理解性和和可修改性可修改性。采用采用模块化程序设计方法模块化程序设计方法。计算机导论(计算机导论(20142014)5.1.4 5.1.4 结构化程序设计语言结构化程序设计语言常用结构化程序设计语言常用结构化程序设计语言 PASCAL语言语言 是在是在ALGOL语言的基础上发展
8、起来的。语言的基础上发展起来的。以法国著名科学家帕斯卡的名字命名。以法国著名科学家帕斯卡的名字命名。严格的语法格式与结构化形式严格的语法格式与结构化形式。C语言语言 是在是在ALGOL60语言的基础上发展起来的。语言的基础上发展起来的。兼具低级语言和高级语言的特点兼具低级语言和高级语言的特点。是最为流行的程序设计语言之一。是最为流行的程序设计语言之一。计算机导论(计算机导论(20142014)5.1.5 5.1.5 面向对象程序设计语言面向对象程序设计语言结构化程序设计方法的不足结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方式仍然存在一面向过程的设计方法与人们习惯的思维方式仍然
9、存在一定的距离,所以很难自然、准确地反映真实世界,因而定的距离,所以很难自然、准确地反映真实世界,因而用编写出来的程序,特别是规模比较大的程序,其质量用编写出来的程序,特别是规模比较大的程序,其质量是难以保证的。是难以保证的。强调了要实现功能的操作方法(模块),而被操作的数强调了要实现功能的操作方法(模块),而被操作的数据(变量)处于实现功能的从属地位,即据(变量)处于实现功能的从属地位,即程序模块和数程序模块和数据结构是松散地耦合在一起据结构是松散地耦合在一起,当程序复杂度较高时,容,当程序复杂度较高时,容易出错,而且错误难以查找和修改。易出错,而且错误难以查找和修改。计算机导论(计算机导论
10、(20142014)5.1.5 5.1.5 面向对象程序设计语言面向对象程序设计语言面向对象程序设计语言的特点面向对象程序设计语言的特点 将问题分解为对象。将问题分解为对象。对象将自己的属性和方法封装成一个整体对象将自己的属性和方法封装成一个整体,供程序设计,供程序设计者使用。者使用。对象之间的相互作用则通过消息传递来实现。对象之间的相互作用则通过消息传递来实现。使人们对复杂系统的认识过程与程序设计过程尽可能一致。使人们对复杂系统的认识过程与程序设计过程尽可能一致。能够更好地保证程序的质量和开发效率能够更好地保证程序的质量和开发效率。计算机导论(计算机导论(20142014)5.1.5 5.1
11、.5 面向对象程序设计语言面向对象程序设计语言常用面向对象程序设计语言常用面向对象程序设计语言 Simula 67 发布于发布于1967年,是面向对象语言的鼻祖。年,是面向对象语言的鼻祖。C+发布于发布于1983年,是在年,是在C语言的基础上发展起来的。语言的基础上发展起来的。C+C+是得到广泛应用的一种面向对象语言是得到广泛应用的一种面向对象语言。目前常用的版本有目前常用的版本有Visual C+,C#,Visual C+.Net等。等。Java发布于发布于1995年,适合于年,适合于网络程序设计网络程序设计。也是目前得到广泛应用的一种面向对象程序设计语言。也是目前得到广泛应用的一种面向对象
12、程序设计语言。计算机导论(计算机导论(20142014)5.1.6 5.1.6 可视化程序设计语言可视化程序设计语言可视化程序设计语言的特点可视化程序设计语言的特点 以图形化的编程方式将面向对象技术的特性体现出来。以图形化的编程方式将面向对象技术的特性体现出来。使开发软件这一原本枯燥、难以理解的工作变得相对轻使开发软件这一原本枯燥、难以理解的工作变得相对轻松快捷。松快捷。常用可视化程序设计语言常用可视化程序设计语言Visual C+功能强大,比较适合专业人员使用。功能强大,比较适合专业人员使用。Visual Basic易于学习和掌握,比较适合非专业人员和初学者使用。易于学习和掌握,比较适合非专
13、业人员和初学者使用。计算机导论(计算机导论(20142014)5.1.7 5.1.7 人工智能程序设计语言人工智能程序设计语言人工智能程序设计语言的特点人工智能程序设计语言的特点 适合于知识表示和逻辑推理。适合于知识表示和逻辑推理。常用人工智能程序设计语言常用人工智能程序设计语言 LISP LISP是是LISt Processing(表处理)的缩写。(表处理)的缩写。可以解决人工智能中的符号处理问题。可以解决人工智能中的符号处理问题。PROLOG 是是PROgramming in LOGic(逻辑程序设计)的缩写。(逻辑程序设计)的缩写。自动实现模式匹配、自动回溯这两种人工智能中常用的基本操作
14、。自动实现模式匹配、自动回溯这两种人工智能中常用的基本操作。计算机导论(计算机导论(20142014)5.2 C5.2 C语言程序设计语言程序设计C C语言的主要特点语言的主要特点简洁、紧凑、灵活。简洁、紧凑、灵活。语法限制不太严格,使用方便灵活;数据结语法限制不太严格,使用方便灵活;数据结构描述能力及表达式能力强;程序书写形式自由。构描述能力及表达式能力强;程序书写形式自由。模块化、结构化。模块化、结构化。用语言编写程序层次清晰,便于按模块组织用语言编写程序层次清晰,便于按模块组织程序,易于实现程序的结构化。程序,易于实现程序的结构化。功能强大。功能强大。C语言除了能实现一般的高级语言的功能
15、外,还能实语言除了能实现一般的高级语言的功能外,还能实现汇编语言的大部分功能,兼具高级语言和低级语言的特点。现汇编语言的大部分功能,兼具高级语言和低级语言的特点。可移植性好。可移植性好。C语言程序可以容易地移植到不同型号计算机、不语言程序可以容易地移植到不同型号计算机、不同操作系统环境下执行。同操作系统环境下执行。计算机导论(计算机导论(20142014)5.2 C5.2 C语言程序设计语言程序设计C C语言的基本要素语言的基本要素C C语言的数据类型语言的数据类型 C C语言的运算符及表达式语言的运算符及表达式 C C语言语句语言语句 C C语言程序的三种基本结构及实现语言程序的三种基本结构
16、及实现 程序设计风格程序设计风格 算法设计与分析算法设计与分析 计算机导论(计算机导论(20142014)5.2.1 C5.2.1 C语言的基本要素语言的基本要素C C语言的基本词法语言的基本词法字符集字符集英文字母英文字母/数字数字/特殊字符特殊字符/转义字符。转义字符。标识符标识符C语言中各种对象的名字用标识符表示。语言中各种对象的名字用标识符表示。标识符是由字母、数字和下划线三种字符构成的且第标识符是由字母、数字和下划线三种字符构成的且第一个字符必须是字母或下划线的字符序列。一个字符必须是字母或下划线的字符序列。标识符分为三类标识符分为三类 关键字关键字/预定义标识符预定义标识符/用户标
17、识符。用户标识符。计算机导论(计算机导论(20142014)5.2.1 C5.2.1 C语言的基本要素语言的基本要素常量常量在程序的执行过程中其值不能被改变的量。在程序的执行过程中其值不能被改变的量。数值型常量数值型常量 整型常量整型常量/浮点型常量(实型常量)。浮点型常量(实型常量)。字符型常量字符型常量 字符常量字符常量/字符串常量。字符串常量。变量变量在程序运行过程中,其值可以被改变的量。在程序运行过程中,其值可以被改变的量。一般要先定义,再使用,变量定义的一般形式为:一般要先定义,再使用,变量定义的一般形式为:数据类型名数据类型名 变量名;变量名;计算机导论(计算机导论(2014201
18、4)5.2.2 C5.2.2 C语言的数据类型语言的数据类型基本数据类型基本数据类型整型整型整型变量的定义形式为:整型变量的定义形式为:int int 变量名;变量名;实型实型实型变量的定义形式为:实型变量的定义形式为:float float 变量名;变量名;字符型字符型字符型变量的定义格式为:字符型变量的定义格式为:char char 变量名;变量名;构造数据类型构造数据类型数组数组/结构体结构体/共用体共用体/枚举类型枚举类型/用户自定义类型。用户自定义类型。指针类型指针类型在动态数据结构及其应用中有着不可替代的作用。在动态数据结构及其应用中有着不可替代的作用。计算机导论(计算机导论(20
19、142014)5.2.3 C5.2.3 C语言的运算符及表达式语言的运算符及表达式算术运算符算术运算符,*,/,%(求余数)。(求余数)。赋值运算符赋值运算符在在C语言中,语言中,称为赋值运算符,其使用形式为:称为赋值运算符,其使用形式为:变量名变量名 表达式表达式自增、自减运算符自增、自减运算符+是自增运算符是自增运算符,其功能是使变量的值增,其功能是使变量的值增1。-是自减运算符是自减运算符,其功能是使变量的值减,其功能是使变量的值减1。关系运算符关系运算符大小判断大小判断(大于)(大于)/(大于等于)(大于等于)/(小于)(小于)/(小于等于)。(小于等于)。相等判断相等判断(等于)(等
20、于)/!(不等于)。(不等于)。计算机导论(计算机导论(20142014)5.2.4 C5.2.4 C语言语句语言语句控制语句控制语句 用于实现一定的控制功能。用于实现一定的控制功能。条件语句:用于实现程序执行过程中的条件转移。条件语句:用于实现程序执行过程中的条件转移。循环语句:用于实现程序中重复进行某些操作。循环语句:用于实现程序中重复进行某些操作。复合语句复合语句由一对花括号由一对花括号 括起来的一组语句。括起来的一组语句。如果要在只执行一条语句的地方执行多条语句,那么这如果要在只执行一条语句的地方执行多条语句,那么这多条语句要写成一条复合语句。多条语句要写成一条复合语句。计算机导论(计
21、算机导论(20142014)5.2.5 C5.2.5 C语言程序的三种基本结构语言程序的三种基本结构顺序结构顺序结构程序的执行按照语句出现的先后次序顺序进行。程序的执行按照语句出现的先后次序顺序进行。程序中的每个语句都会被执行到。程序中的每个语句都会被执行到。程序示例程序示例:通过键盘输入一个三角形的底和高,计算其面积并输出。通过键盘输入一个三角形的底和高,计算其面积并输出。main()float width,height,area;/*定义变量定义变量*/printf(nEnter width and height:);/*输出提示信息输出提示信息*/scanf(%f,%f,&width,&
22、height);/*通过键盘输入底和高通过键盘输入底和高*/area=(width*height)/2.0;/*计算面积计算面积*/printf(nThe arae is:%f,area);/*输出面积的值输出面积的值*/计算机导论(计算机导论(20142014)5.2.5 C5.2.5 C语言程序的三种基本结构语言程序的三种基本结构分支结构分支结构根据逻辑条件的成立与否,分别选择执行不同的处理。根据逻辑条件的成立与否,分别选择执行不同的处理。if语句:语句:ifif(表达式)(表达式)语句语句if-else语句:语句:if if(表达式)语句(表达式)语句1 1 else else 语句语句
23、2 2 计算机导论(计算机导论(20142014)5.2.5 C5.2.5 C语言程序的三种基本结构语言程序的三种基本结构分支结构分支结构程序示例程序示例:根据输入的学生成绩对其进行判断处理,如果成绩根据输入的学生成绩对其进行判断处理,如果成绩及格,则输出及格,则输出Passed,否则输出,否则输出Failed。main()float score;/*定义变量定义变量*/printf(nEnter a score:);/*显示提示信息显示提示信息*/scanf(%f,&score);/*通过键盘输入一个成绩通过键盘输入一个成绩*/if(score=60.0)printf(nPassed);/*
24、大于等于大于等于60输出输出Passed*/else printf(nFailed);/*小于小于60输出输出Failed*/计算机导论(计算机导论(20142014)5.2.5 C5.2.5 C语言程序的三种基本结构语言程序的三种基本结构循环结构循环结构根据循环条件的变化,决定是否继续重复执行某些语句。根据循环条件的变化,决定是否继续重复执行某些语句。for循环语句的格式为:循环语句的格式为:for for(表达式(表达式1 1;表达式;表达式2 2;表达式;表达式3 3)循环体语句循环体语句 计算机导论(计算机导论(20142014)5.2.5 C5.2.5 C语言程序的三种基本结构语言程
25、序的三种基本结构循环结构循环结构程序示例程序示例:从键盘上输入从键盘上输入10个整数,求其累加和并输出。个整数,求其累加和并输出。main()int i,num,sum;/*定义变量定义变量*/sum=0;/*累加变量清零累加变量清零*/for(i=1;i=10;i+)/*循环次数为循环次数为10*/printf(Enter a data:n);/*显示提示信息显示提示信息*/scanf(%d,&num);/*通过键盘输入一个整数通过键盘输入一个整数*/sum=sum+num;/*累加求和累加求和*/printf(“nsum=%d,sum);/*输出累加结果输出累加结果*/计算机导论(计算机导
展开阅读全文