版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 程序设计技术基础第1章 概述1.1 计算机的工作机制1.2 程序与程序设计1.3 算法与算法描述1.4 C语言 2022/7/2321.1 计算机的工作机制 1.1.1 硬件结构 1.1.2 软件系统1.1 计算机的工作机制1.1.1 硬件结构冯诺依曼计算机的硬件构成:控制器负责从内存中取指令并根据指令发出控制信号以引起其他部件的动作。运算器执行运算指令所规定的运算。寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果。内存储器(简称内存)用于存储计算机程序。外部设备(简称外设)提供了计算机与外界的接口,主要用于计算机的输入/输出以及为计算机提供大容量的信息存
2、储(简称外存)。1.1.2 软件系统计算机软件是计算机系统中的程序以及相关文档。程序是对计算任务的处理对象(数据)与处理规则(算法)的描述;文档是为了便于人理解程序所需要的资料说明,供程序开发与维护使用。软件系统可以分为系统软件、支撑软件和应用软件。1.2 程序与程序设计 1.2.1 程序设计范型 1.2.2 程序设计语言 1.2.3 程序设计步骤1.2 程序和程序设计程序:一组计算机能识别和执行的指令只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成计算机程序具有如下性质:(1)目的性:程序有明确的目的,在运行时能正确完
3、成赋予它的功能。(2)分步性:程序为完成其复杂的功能,由一系列计算机能执行的步骤组成。(3)有限性:程序中所包含的步骤是有限的。(4)有序性:程序的执行步骤是有序的,不能随意改变这些步骤的执行顺序。(5)操作性:程序是对某些对象的操作,完成其有意义的功能。1.2.1 程序设计范型程序设计范型是计算机编程中的基本风格和典范模式,是编程者在其所创造的虚拟世界中自觉不自觉采用的世界观和方法论。典型的程序设计范型有过程式(面向过程)、对象式(面向对象)、函数式以及逻辑式等。1.2.1 程序设计范型1过程式 过程式程序设计是一种以功能为中心、基于功能分解的程序设计范型。一个过程式程序由一些子程序构成,每
4、个子程序对应一个子功能,它实现了功能抽象。子程序描述了一系列的操作,它是操作的封装体。 Nicklaus Wirth提出了如下的经典公式,刻画了过程式程序设计的本质特征。 程序=数据结构+算法1.2.1 程序设计范型2对象式 对象式程序设计是一种以数据为中心、基于数据抽象的程序设计范型。对象式程序设计通常称为面向对象程序设计。一个面向对象的程序由一些对象构成,对象是由一些数据及可施加于这些数据上的操作所构成的封装体。 面向对象程序可简单地表示成下面的公式: 程序=对象/类+对象/类+ 对象/类=数据+操作1.2.1 程序设计范型3函数式与逻辑式 函数式程序设计是围绕函数及函数应用来进行的,它基
5、于递归函数理论和演算(演算即一套用于研究函数定义、函数应用和递归的形式系统),其中,函数也被作为值来看待。 逻辑式程序设计是把程序组织成一组事实和一组推理规则,它基于的是谓词演算。1.2.2 程序设计语言程序设计语言是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。简单地说:人和计算机交流信息的、计算机和人都能识别的语言。计算机语言发展阶段:机器语言(由0和1组成的指令)汇编语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言 (非结构化的语言、结构化语言)面向对象的语言低级语言程序翻译的方式 :编译方式 事先编好的一个称为“
6、编译程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,编译程序便把源程序整个翻译成机器指令表示的目标程序。然后执行该目标程序,得到计算结果。解释方式 事先编好的一个称为“解释程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,解释程序将源程序的每一条语句逐句翻译,逐句执行,即边解释边执行。1.2.3 程序设计步骤(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果(6)编写程序文档(1)问题分析对于接手的任务要进行认真的分析研究所给定的条件分析最后应达到的目标找出解决问题的规律选择解题的方法(1)问题分析(2)设计算
7、法设计出解题的方法和具体步骤(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果结果错了,程序肯定错结果对了,程序未必对1.3 算法与算法描述 1.3.1 算法概念 1.3.2 算法描述 1.3.3 结构化程序设计思想一个程序主要包括以下两方面的信息:(1) 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式这就是数据结构(data structure)(2) 对操作的描述。即要求计算机进行操作的步骤也就是算法(algorithm)1.3 算法与算法描述数据是操作的对象操作的目的是对数据进行加工处理,以得到期望的结果著名计
8、算机科学家沃思(Nikiklaus Wirth)提出一个公式: 算法 + 数据结构 = 程序一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识算法是解决“做什么”和“怎么做”的问题程序中的操作语句,是算法的体现不了解算法就谈不上程序设计1.3.1 算法概念广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”对同一个问题,可以有不同的解题方法和步骤为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法计算机算法可分为两大类别:数值运算算法非数值
9、运算算法数值运算的目的是求数值解非数值运算包括的面十分广泛,最常见的是用于事务管理领域一个有效算法应该具有以下特点:(1) 有穷性。一个算法应包含有限的操作步骤,而不能是无限的。(2) 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。一个有效算法应该具有以下特点:(3) 有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。(4) 有一个或多个输出。算法的目的是为了求解,“解” 就是输出。没有输出的算法是没有意义的。(5) 有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。1.3.2 算法描述常用的方法有:自然语言流程图N-S图伪代码1. 自
10、然语言用自然语言表示通俗易懂,但文字冗长,容易出现歧义性用自然语言描述包含分支和循环的算法,不很方便除了很简单的问题外,一般不用自然语言 2. 流程图(1)标准图符流程图描述的三种基本结构 顺序结构AB流程图描述的三种基本结构 选择结构ABYpNAYpN流程图描述的三种基本结构 循环结构 当型循环结构AYp1NYx51t输出t2it*iti+1i4. 伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用例如 求5! 的算法用为代码表示为:begin (算法开始) 1 t 2 i while i5 t*i t i
11、+1 i print tend (算法结束)1.3.3 结构化程序设计思想结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计思想 (1)结构化编码 (2)结构化程序的特点 (3)结构化程序的分析方法 (4)模块化设计 采取以下方法保证得到结构化的程序:(1) 自顶向下;(2) 逐步细化;(3) 模块化设计;(4) 结构化编码。1.4 C语言 1.4.1 C语言的特点 1.4.2 C程序的基本结构 1.4.3 C程序的执行过程 1.4 C语言C语
12、言是国际上广泛流行的计算机高级语言。C语言的发展:BCPL语言B语言C语言精练、接近硬件,但过于简单, 无数据类型具有多种数据类型最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(83 ANSI C)。1989年,ANSI公布了一个完整的C语言标准ANSI X3.159-1989(常称ANSI C,或C89)。1990年,国际标准化组织ISO(International Standard Organization) 接受C89作为国际标准IS
13、O/IEC 9899:1990,它和ANSI的C89基本上是相同的。1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C+中的一些功能,命名为ISO/IEC 9899:1999。2001、2004年先后进行了两次技术修正(TC1和TC2)。 ISO/IEC 9899:1999(及其技术修正)被称为 C99。C99是C89(及1995基准增补1)的扩充。C11是最新标准,该标准更好的支持汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一种用途广泛、功能强大、使用灵活的过程性(pro
14、cedural)编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C语言问世以后得到迅速推广。(1) 程序设计模块化。(2) 函数方式操作。(3) 数据类型多样化。(4) 运算功能强。(5) 存储类型丰富。(6) 具有预处理能力。(7) 程序简洁。1.4.1 C语言的特点#include int main( ) printf (”This is a C program.n”); return 0; 函数的名字,表示主函数C程序必须有一个 main 函数1.4.2 C程序的基本结构#include int main( ) printf (”This is a C program.n”);
15、 return 0; 主函数类型#include int main( ) printf (”This is a C program.n”); return 0; 函数体#include int main( ) printf (”This is a C program.n”); return 0; 输出函数输出语句#include int main( ) printf (”This is a C program.n”); return 0; 输出语句#include int main( ) printf (”This is a C program.n”); return 0; 换行符#inclu
16、de int main( ) printf (”This is a C program.n”); return 0; 当main函数执行结束前,将整数0作为函数值#include int main( ) printf (”This is a C program.n”); return 0; 表示语句结束用到函数库中的输入输出函数时C语言程序的结构特点:1.函数是C程序的基本单位一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个)每个函数都用来实现一个或几个特定功能被调用的函数可以是库函数,也可以是自己编制设计的函数C语言程序的结构特点:2. 函数由函数首部和函数体两部分组成
17、:函数首部int max ( int x, int y )函数的第1行函数类型函数名参数类型参数名C语言程序的结构特点:2. 函数由函数首部和函数体两部分组成:函数首部int max ( int x, int y )若函数无参,在括弧中写void或空括弧int main( void) 或 int main()C语言程序的结构特点:2. 函数由函数首部和函数体两部分组成:函数体声明部分定义在本函数中所用到的变量对本函数所调用函数进行声明执行部分:由若干个语句组成,指定在函数中所进行的操作可以没有声明部分C语言程序的结构特点:2. 函数由函数首部和函数体两部分组成:函数体void dump ( )
18、 可以是空函数C语言程序的书写格式与规则 (1)C程序中,每条语句和声明的最后,以分号为结束标志。(2)任何变量必须先定义类型,然后才能使用。(3)C语言程序一般都使用小写英文字母,x与X代表不同含义。(4)C语言程序的书写格式比较自由,允许一行、或多行书写。(5)C程序中,有两种形式的注释。C语言允许用两种注释方式:/:单行注释可单独占一行可出现在一行中其他内容的右侧/*/:块式注释可包含多行1.4.3 C程序的执行过程1. 上机输入和编辑源程序(.c文件)2. 对源程序进行编译(.obj文件)3. 进行连接处理(.exe文件)4. 运行可执行程序,得到运行结果编辑程序编译程序连接程序库函数源程序文件名.c目标程序文件名.o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年通信设备采购与维护合同2篇
- 电梯安装工程2025年度技术咨询合同6篇
- 二零二五年度论坛活动策划服务合同模板6篇
- 二零二五版搬家服务及家居清洁维护合同3篇
- 二零二五年度废钢市场供应与环保处理服务合同3篇
- 二零二五版房屋买卖及邻里关系协调服务合同3篇
- 二零二五年度股东干股合作企业社会责任履行合同3篇
- 幼儿园2025年度食品供应合同2篇
- 二零二五版租赁房屋改造装修合同3篇
- 二零二五年酒店股权分割与资产重组咨询合同3篇
- 2023社会责任报告培训讲稿
- 2023核电厂常规岛及辅助配套设施建设施工技术规范 第8部分 保温及油漆
- 2025年蛇年春联带横批-蛇年对联大全新春对联集锦
- 表B. 0 .11工程款支付报审表
- 警务航空无人机考试题库及答案
- 空气自动站仪器运营维护项目操作说明以及简单故障处理
- 新生儿窒息复苏正压通气课件
- 法律顾问投标书
- 班主任培训简报4篇(一)
- 成都市数学八年级上册期末试卷含答案
- T-CHSA 020-2023 上颌骨缺损手术功能修复重建的专家共识
评论
0/150
提交评论