C语言程序设计-第1章-概述.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计-第1章-概述.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 概述
- 资源描述:
-
1、 程序设计技术基础-C语言第1章 概述1.1 计算机的工作机制1.2 程序与程序设计1.3 算法与算法描述1.4 C语言 2022-8-82程序设计技术基础-C语言1.1 计算机的工作机制 1.1.1 硬件结构 1.1.2 软件系统程序设计技术基础-C语言1.1 计算机的工作机制1.1.1 硬件结构冯诺依曼计算机的硬件构成:控制器负责从内存中取指令并根据指令发出控制信号以引起其他部件的动作。运算器执行运算指令所规定的运算。寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果。内存储器(简称内存)用于存储计算机程序。外部设备(简称外设)提供了计算机与外界的接口,主
2、要用于计算机的输入/输出以及为计算机提供大容量的信息存储(简称外存)。程序设计技术基础-C语言程序设计技术基础-C语言1.1.2 软件系统 计算机软件是计算机系统中的程序以及相关文档。程序是对计算任务的处理对象(数据)与处理规则(算法)的描述;文档是为了便于人理解程序所需要的资料说明,供程序开发与维护使用。软件系统可以分为系统软件、支撑软件和应用软件。程序设计技术基础-C语言1.2 程序与程序设计 1.2.1 程序设计范型 1.2.2 程序设计语言 1.2.3 程序设计步骤程序设计技术基础-C语言1.2 程序和程序设计 程序:一组计算机能识别和执行的指令 只要让计算机执行这个程序,计算机就会自
3、动地、有条不紊地进行工作 计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成程序设计技术基础-C语言计算机程序具有如下性质:(1)目的性:程序有明确的目的,在运行时能正确完成赋予它的功能。(2)分步性:程序为完成其复杂的功能,由一系列计算机能执行的步骤组成。(3)有限性:程序中所包含的步骤是有限的。(4)有序性:程序的执行步骤是有序的,不能随意改变这些步骤的执行顺序。(5)操作性:程序是对某些对象的操作,完成其有意义的功能。程序设计技术基础-C语言1.2.1 程序设计范型 程序设计范型是计算机编程中的基本风格和典范模式,是编程者在其所创造的虚拟世界中自觉不自觉采用的世界观和方法论。典
4、型的程序设计范型有过程式(面向过程)、对象式(面向对象)、函数式以及逻辑式等。程序设计技术基础-C语言1.2.1 程序设计范型1过程式 过程式程序设计是一种以功能为中心、基于功能分解的程序设计范型。一个过程式程序由一些子程序构成,每个子程序对应一个子功能,它实现了功能抽象。子程序描述了一系列的操作,它是操作的封装体。Nicklaus Wirth提出了如下的经典公式,刻画了过程式程序设计的本质特征。程序=数据结构+算法程序设计技术基础-C语言1.2.1 程序设计范型2对象式 对象式程序设计是一种以数据为中心、基于数据抽象的程序设计范型。对象式程序设计通常称为面向对象程序设计。一个面向对象的程序由
5、一些对象构成,对象是由一些数据及可施加于这些数据上的操作所构成的封装体。面向对象程序可简单地表示成下面的公式:程序=对象/类+对象/类+对象/类=数据+操作程序设计技术基础-C语言1.2.1 程序设计范型3函数式与逻辑式 函数式程序设计是围绕函数及函数应用来进行的,它基于递归函数理论和演算(演算即一套用于研究函数定义、函数应用和递归的形式系统),其中,函数也被作为值来看待。逻辑式程序设计是把程序组织成一组事实和一组推理规则,它基于的是谓词演算。程序设计技术基础-C语言1.2.2 程序设计语言 程序设计语言是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。简单地
6、说:人和计算机交流信息的、计算机和人都能识别的语言。程序设计技术基础-C语言 计算机语言发展阶段:机器语言(由0和1组成的指令)汇编语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言 (非结构化的语言、结构化语言)面向对象的语言低级语言低级语言程序设计技术基础-C语言 程序翻译的方式:编译方式 事先编好的一个称为“编译程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,编译程序便把源程序整个翻译成机器指令表示的目标程序。然后执行该目标程序,得到计算结果。解释方式 事先编好的一个称为“解释程序”的程序,将其放在计算机中。当高级语言源程序输入到计算
7、机中时,解释程序将源程序的每一条语句逐句翻译,逐句执行,即边解释边执行。程序设计技术基础-C语言1.2.3 程序设计步骤(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果(6)编写程序文档程序设计技术基础-C语言(1)问题分析 对于接手的任务要进行认真的分析 研究所给定的条件 分析最后应达到的目标 找出解决问题的规律 选择解题的方法程序设计技术基础-C语言(1)问题分析(2)设计算法 设计出解题的方法和具体步骤程序设计技术基础-C语言(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果 结果错了,
8、程序肯定错 结果对了,程序未必对程序设计技术基础-C语言1.3 算法与算法描述 1.3.1 算法概念 1.3.2 算法描述 1.3.3 结构化程序设计思想程序设计技术基础-C语言 一个程序主要包括以下两方面的信息:(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 这就是数据结构(data structure)(2)对操作的描述。即要求计算机进行操作的步骤 也就是算法(algorithm)1.3 算法与算法描述程序设计技术基础-C语言 数据是操作的对象 操作的目的是对数据进行加工处理,以得到期望的结果 著名计算机科学家沃思(Nikiklaus Wirth)提出一个
9、公式:算法+数据结构=程序程序设计技术基础-C语言 一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示 算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识程序设计技术基础-C语言 算法是解决“做什么”和“怎么做”的问题 程序中的操作语句,是算法的体现 不了解算法就谈不上程序设计程序设计技术基础-C语言1.3.1 算法概念 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”对同一个问题,可以有不同的解题方法和步骤 为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法程序设计技术基础-C语言
10、 计算机算法可分为两大类别:数值运算算法非数值运算算法 数值运算的目的是求数值解 非数值运算包括的面十分广泛,最常见的是用于事务管理领域程序设计技术基础-C语言 一个有效算法应该具有以下特点:(1)有穷性。一个算法应包含有限的操作步骤,而不能是无限的。(2)确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。程序设计技术基础-C语言 一个有效算法应该具有以下特点:(3)有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。(4)有一个或多个输出。算法的目的是为了求解,“解”就是输出。没有输出的算法是没有意义的。(5)有效性。算法中的每一个步骤都应当能有效地执行
11、,并得到确定的结果。程序设计技术基础-C语言1.3.2 算法描述 常用的方法有:自然语言 流程图 N-S图 伪代码程序设计技术基础-C语言1.自然语言 用自然语言表示通俗易懂,但文字冗长,容易出现歧义性 用自然语言描述包含分支和循环的算法,不很方便 除了很简单的问题外,一般不用自然语言程序设计技术基础-C语言 2.流程图(1)标准图符程序设计技术基础-C语言流程图描述的三种基本结构 顺序结构AB程序设计技术基础-C语言流程图描述的三种基本结构 选择结构ABYpNAYpN程序设计技术基础-C语言流程图描述的三种基本结构 循环结构 当型循环结构AYp1NYx51t输出输出t2it*iti+1i程序
展开阅读全文