- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章程序设计知识上
第5章 程序设计知识 程序设计能力是计算机专业学生必备的基本能力之一,提高程序设计能力主要涉及到3个方面的知识:一是语言知识,至少熟悉一种语言的语法格式,能够根据算法思路熟练的编写出程序; 二是数据结构知识,能够为要解决的目标问题设计出高效的数据逻辑结构和存储结构,保证算法和程序的效率;三是编译知识,深入理解高级语言程序的执行过程,有助于编写出高质量的中大规模程序。为此,本章对高级语言程序设计、数据结构、编译原理3门课程作简要介绍。 第5章 程序设计知识目录 5.1 高级语言程序设计 5.2 数据结构 5.3 编译原理 计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。 1. 机器语言 就是写出一串串由“ 0”和“ 1”组成的指令序列交由计算机执行,这种语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。 2. 汇编语言 为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ A D D”代表加法,“M O V”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。 然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。 汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 3. 高级语言 从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力, 1 9 5 7年,第一个完全脱离机器硬件的高级语言—F O RT R A N问世了, 几十年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、A d a、C + +、V C、V B、D e l p h i、J AVA等。 5.1 高级语言程序设计 程序设计能力是计算机专业人员与非专业人员的重要区别,通过本课程的学习,掌握程序设计的基本知识和方法,具备一定的程序设计能力,为解决实际问题和学习数据结构、面向对象程序设计等课程打下坚实的基础。 5.1 高级语言程序设计 5.1.1 概述 5.1.2 C语言简介 5.1.3 数据类型 5.1.4 运算符及表达式 5.1.5 结构化程序设计及控制语句 5.1.1 概述 一、程序与算法 1、程序及算法的概念 现实生活中,做任何事情都需要经过一定的步骤才能完成。例如,乐队演奏乐曲、教师按教学计划授课、工程师设计施工方案等等都必须按照一定的步骤进行。 为解决一个问题而采取得方法和步骤,称为算法。算法就是被精确定义的一组规则,规定先做什么,再做什么,以及判断某种情况下做哪种操作;或者说算法是步进式的完成所需任务的过程。 计算机程序是指为让计算机完成特定的任务而设计的指令序列。程序设计是用来沟通算法与计算机的桥梁;程序是编程者写的、计算机能够理解并执行的一些命令的集合,是解决问题的具体算法在计算机中的实现。 2、算法的特点及评价标准 算法反映解决问题的步骤,不同的问题需要用不同的算法来解决,同一问题也可能有不同的解决方法,但是一个算法必须具有以下特性: ①有穷性。一个算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。即对于一个算法,要求其在时间和空间上均是有穷的。 ②确定性。算法中的每一步都必须有明确的含义,不允许存在二义性。 ③有效性。算法中描述的每一步操作都应该能有效地执行,并最终得到确定的结果。 ④输入及输出。一个算法应该有零个或多个输入数据、有1个或多个输出数据。执行算法的目的是为了求解,而“解”就是输出,因此没有输出的算法是毫无意义的。 3
文档评论(0)