《第1章程序设计概述》由会员分享,可在线阅读,更多相关《第1章程序设计概述(23页珍藏版)》请在金锄头文库上搜索。
1、第第1章章程序设计概述程序设计概述C语言程序设计语言程序设计教师:肖教师:肖琳琳Email:tel:18950426987第第1章章程序设计概述程序设计概述一、课程的任务与目标:一、课程的任务与目标:1 1掌掌握握C C语语言言的的数数据据类类型型、控控制制结结构构、常常用用算算法法、编程技术及编程技术及模块化的程序设计思想模块化的程序设计思想;2 2熟熟悉悉C C语语言言程程序序的的编编辑辑、编编译译、调调试试、运运行行的的方法;方法;3 3在在掌掌握握C C语语言言程程序序设设计计基基本本方方法法的的同同时时,着着重重通通过过程程序序设设计计实实践践培培养养学学生生分分析析问问题题和和解解
2、决决问问题的能力,提高题的能力,提高计算机专业素养;计算机专业素养;4使使学学生生具具备备计计算算机机二二级级(C)考考试试所所要要求求的的水水平和能力。平和能力。5为后续单片机为后续单片机数控等课程打下良好的基础;数控等课程打下良好的基础;第第1章章程序设计概述程序设计概述二、教材选用:二、教材选用:1教科书:教科书:C语语言言程程序序设设计计教教程程,叶叶东东毅毅主主编编,厦厦门门大大学出版社学出版社学习指导,叶东毅主编,厦门大学出版社学习指导,叶东毅主编,厦门大学出版社2参考书:参考书:(1 1)C C程程序序设设计计题题解解与与上上机机指指导导,谭谭浩浩强强著著,北北京:京:清华大学出
3、版社清华大学出版社(2 2) C语语言言程程序序设设计计与与应应用用教教程程,严严桂桂兰兰主主编编,厦门厦门大学出版社大学出版社(3 3)C C程程序序设设计计(第第二二版版),谭谭浩浩强强著著,北北京京:清华大学出版社清华大学出版社第第1章章程序设计概述程序设计概述第第1章章程序设计概述程序设计概述1.1程序设计基础程序设计基础1.2算法及其表示算法及其表示1.3结构化程序设计方法结构化程序设计方法第第1章章程序设计概述程序设计概述本章学习目标本章学习目标l l计计算算机机语语言言按按其其发发展展过过程程一一般般分分为为:机机器器语语言言、汇汇编编语语言言和和高高级级语语言言、非非过过程程化
4、化的的高高级级语言语言 、面向对象的程序设计语言、面向对象的程序设计语言 l l算法的概念、特性及描述算法的概念、特性及描述l l结构化程序设计的概念及设计步骤结构化程序设计的概念及设计步骤第第1章章程序设计概述程序设计概述1.1程序设计基础程序设计基础1.1.1程序设计语言程序设计语言1.1.2常用编程语言及适用范围常用编程语言及适用范围第第1章章程序设计概述程序设计概述1.1.1程序设计语言程序设计语言1.机器语言机器语言 机器语言是最底层、最早产生和使用的计算机语言。用机器语言编写的程序,计算机硬件可以直接识别。 机器语言程序都是由二进制0和1组成的系列,程序编写起来非常繁琐,可以用“难
5、学、难记、难写、难检查、难调试”来概括,尤其是用机器语言编写的程序完全依赖于机器,所以程序的可移植性差。由于用机器语言编写的程序直接针对计算机硬件,因此它的执行效率比较高,能充分发挥出计算机的速度性能,这也是机器语言的优点。 第第1章章程序设计概述程序设计概述2.汇编语言汇编语言为为了了克克服服机机器器语语言言的的缺缺点点,人人们们对对机机器器语语言言进进行行了了改改进进,用用一一些些容容易易记记忆忆和和辨辨别别的的有有意意义义的的符符号号代代替替机机器器指指令令,如如:用用指指令令助助记记符符来来代代替替机机器器语语言言指指令令代代码码中中的的操操作作码码,用用地地址址符符号号来来代代替替地
6、地址址码码。用用这这样样一一些些符符号号代代替替机机器器指指令令所所产产生生的的语语言言就就称称为为汇汇编编语语言言,也也称为符号语言。称为符号语言。如计算表达式:如计算表达式:9+8的值,用汇编语言实现:的值,用汇编语言实现:语句序号汇编语言指令指令功能1MOV AL,9把加数9送到累加器AL中2ADD AL,8把累加器AL中的内容与另一数相加,结果存在累加器AL中(即完成9+8运算)3HLT停止操作第第1章章程序设计概述程序设计概述 在该汇编语言程序中,以在该汇编语言程序中,以MOVMOV(MOVEMOVE的缩写)代表的缩写)代表“数据传送数据传送”,ADDADD代表代表“加加”,HLTH
7、LT(HALTHALT的缩写)代的缩写)代表表“停止停止”等。这些符号含义明确,容易记忆,所以又等。这些符号含义明确,容易记忆,所以又称为助记符。这些助记符编写的程序,可读性好,容易称为助记符。这些助记符编写的程序,可读性好,容易查错,修改方便;但计算机硬件不能直接识别查错,修改方便;但计算机硬件不能直接识别, ,必须由必须由一种专门的翻译程序将汇编语言程序翻译成机器语言程一种专门的翻译程序将汇编语言程序翻译成机器语言程序后,计算机才能识别并执行。这种翻译的过程称为序后,计算机才能识别并执行。这种翻译的过程称为“汇编汇编”,负责翻译的程序称为汇编程序,翻译出的程序,负责翻译的程序称为汇编程序,
8、翻译出的程序称为目标程序,而翻译前的程序称为源程序。如下图:称为目标程序,而翻译前的程序称为源程序。如下图: 汇编语言源程序目标程序汇编程序图1-1 汇编程序的作用第第1章章程序设计概述程序设计概述3.高级语言高级语言 2020世世纪纪5050年年代代中中期期开开始始逐逐步步发发展展出出面面向向问问题题的的程程序序设设计计语语言言,称称为为高高级级语语言言。1954年年出出现现了了第第一一种种高高级级语语言言FORTRAN。40多多年年来来,有有几几百百种种高高级级语语言言出出现现 ,使用较普遍的有 FORTRAN、 ALGOL、 COBOL、 BASIC、 LISP、SNOBOL、 PL/1
9、、 Pascal、 C、 PROLOG、 Ada、 C+、VC+、VB、Delphi、JAVA等。 用高级语言编写的程序,计算机也不能直接执行,也需要一种工具将它翻译为机器语言程序,这种工具就是高级语言的编译系统。一般地将高级语言程序翻译为意义等价的机器语言程序的方法有编译方式和解释方式两类:1)编译方式、2)解释方式。 第第1章章程序设计概述程序设计概述4.非过程化的高级语言非过程化的高级语言面向过程的高级语言,用这种语言解决问题时,人们首先要理解问题要求我们“做什么”,然后去构造“怎么做”的解题过程。程序设计者要详细地规定计算机操作的每一个细节。 非过程化的高级语言,只需告诉计算机“做什么
10、”,而无需去构造“怎么做”的过程。如各种数据库语言SQL、dBASE、FoxBASE、FoxPro等均属此类语言。 5.面向对象的程序设计语言面向对象的程序设计语言Visual Basic、Visual C+、Visual Foxpro、Delphi、Java等面向对象的程序设计语言 。第第1章章程序设计概述程序设计概述1.2算法概述算法概述1.2.1算法的概念算法的概念 1.2.2算法的表示算法的表示1.2.3算法的特点算法的特点第第1章章程序设计概述程序设计概述1.2.1算法算法1、算法 :为解决一个问题而采取的方法和步骤。 数据结构 + 算法 = 程序 沃思(Nikiklaus Wirt
11、h)数据结构主要是数据的类型和数据的组织形式,即对程序中数据的描述算法是对程序中操作的描述,即操作步骤处理一个问题,可以有不同的算法如求到100之间的所有偶数和要保证算法的正确,还要考虑算法的质量和效率 第第1章章程序设计概述程序设计概述1.2.2算法的表示算法的表示 常用的描述算法的方法有:自然语言、传统流程图、N-S结构流程图、伪代码、PAD图等,这里主要介绍前面三种。1、用自然语言表示算法、用自然语言表示算法 自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言描述算法具有通俗易懂的优点,但缺点也比较多:(1)比较繁琐。(2)容易出现“歧义性”。(3)用自然语言容易描述
12、顺序执行的步骤。第第1章章程序设计概述程序设计概述例例1.1 1.1 将两个变量将两个变量x x和和y y的值互换的值互换用自然语言描述如下:用自然语言描述如下:步骤步骤1 1 将将x x值存入中间变量值存入中间变量z z中:中:xzxz步骤步骤2 2 将将y y值存入变量值存入变量x x中:中:yxyx步骤步骤3 3 将中间变量将中间变量z z的值存入的值存入y y中:中:zyzy第第1章章程序设计概述程序设计概述2.用传统流程图表示算法用传统流程图表示算法 传统流程图是用一些图框表示各种操作。用图形表示算法,直观形象,易于理解。美国国家标准化协会ANSI(American National
13、 Standard Institute)规定了一些常用的流程图符号 :起止框输入输出框判断框处理框流程线连接点注释框图1-2 常用流程图符号第第1章章程序设计概述程序设计概述4.用用N-S流程图表示三种基本结构流程图表示三种基本结构AB成立成立PAB不成立不成立 I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线 -N-S流程图顺序结构选择结构当当P1成立成立A(a)直到直到P1不成立不成立A(b)循环结构第第1章章程序设计概述程序设计概述1.3结构化程序设计方法结构化程序设计方法1.3.1结构化程序基本控制结构结构化程序基本控制结构1
14、.3.2程序设计的原则和步骤程序设计的原则和步骤第第1章章程序设计概述程序设计概述AB条件条件?AB成立成立不成立不成立.三种基本结构三种基本结构Bohra和Jacopini提出了组成结构化程序的三种基本结构单元,它们是:顺序结构、选择结构和循环结构。 顺序结构顺序结构选择结构选择结构第第1章章程序设计概述程序设计概述循环结构循环结构 条件条件?A成立成立不成立不成立A条件条件?成立成立不成立不成立循环结构流程图循环结构流程图第第1章章程序设计概述程序设计概述结构化程序设计方法结构化程序设计方法 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢?
15、具体说,采取以下方法可以保证得到结构化的程序:(1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编码第第1章章程序设计概述程序设计概述1.3.程序设计的步骤程序设计的步骤一般来说,程序设计的过程可以分为以下几个步骤:(1)分析问题:即分析任务的要求、要给出什么结果、提供什么资源、有无解决的可能。(2)建立数学模型:即用数学语言描述它。(3)选择计算方法:即选择用计算机求解该数学模型的近似方法。(4)算法设计:即制定出计算机运算的全部步骤。(5)编写程序:即选择一种计算机语言,根据前一步的算法编写程序。(6)运行、调试程序:即上机运行程序,用各种不同的数据测试在不同的情况下能否得到正确结果。(7)整理文档:即写出一份技术报告或程序说明书,其中应包括题目、任务要求、原始数据、数据结构、算法、程序清单、运行结果、所用计算机系统配置、使用的编程方法及工具、操作说明等,以便作为资料交流或保存。 第第1章章程序设计概述程序设计概述THANKYOUVERYMUCH!本章到此结束,本章到此结束,谢谢您的光临!谢谢您的光临!