程序设计技术概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言主要特点如下:

表达能力强。丰富的数据类型和运算符,其中运算符有34种,C把括号、赋值、逗号等都作 为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。 可直接访问内存物理地址和硬件寄存器,能实现二进制位运算。 C语言结构清晰,流程控制结构化、程序结构模块化。具有顺序、分支、循环三种结构化控 制结构,便于开发大型软件 C语言语言简练、紧凑,。如i=i+1; 在C中可写为 i++; C语言生成的目标代码质量高,程序执行速度快。编译后生成的目标程序运行速度高占用存 储空间少,几乎与汇编语言相媲美。 目前C语言版本 目前最流行的C语言是Microsoft C 或称 Turbo C,这些C语言版本不仅实现 了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
第一阶段:确定软件开发需求 第二阶段:软件设计与开发
• • • • 问题分析 选择一个全面的解决算法方案 编写程序 调试程序
第三阶段:文档整理 第四阶段:软件维护
1.4 C程序设计语言的产生与特点

C语言是一种得到广泛重视并普遍应用的计算机语言, 也是国际上公认的最重要的几种通用程序设计语言之一, 它既可用来写系统软件,也可用来写应用软件。
LOREM IPSUM DOLOR

综上所述,以上四种计算机语言各有优缺点。程序员在 使用时,需根据应用场合选用。

一般在实时控制中,特别是在对程序的空间和时间要求 很高,需要直接控制设备的场合,通常采用汇编语言;
在系统程序设计、多媒体应用、数据库等诸多领域采用 面向对象语言比较合适, 面向过程是程序设计的基础,所以对程序设计的初学者 来说,只有学习好面向过程的程序设计,才能对程序设 计的学习打下坚实的基础.
算法分析:这是一最原始方法: 步骤1:先求1×3,得到结果3。 步骤2:将步骤1得到的乘积3乘以5,得到结果15。 步骤3:将15再乘以7,得105。 步骤4:将105再乘以9,得945。 这样的算法虽然正确,但太繁锁。 改进的算法: s1: 使t=1 s2: 使i=3 s3: 使t×i, 乘积仍然放在在变量t中,可表示为t×i→t s4: 使i的值+2,即i+2→i s5: 如果i≤9, 返回重新执行步骤s3以及其后的s4和s5;否则,算法结束。
常用的流程图 符号
LOREM IPSUM DOLOR



【例1.4】将例1.1求1×3×5×7×9的算法用流程图表示, 流程图如图1-3所示。如果需要打印出来运算结果,这可 以用流程图1-4表示。 【例1.5】将例1.2的算法用流程图表示,流程图如图1-5 所示。 【例1.6】将例1.3的算用流程图表示,流程图如图1-6所 示
LOREM IPSUM DOLOR

(4)伪代码 虽然用流程图描述算法直观易理解,但画起来比较麻烦,当 算法稍微复杂时,算法修改很不方便。为使算法设计容易修 改,使用伪代码描述算法比较合适。伪代码也称为类程序设 计语言,是一种近似高级语言但又不受语法约束的一种算法 语言描述形式,是介于自然语言和计算机语言之间的文字符 号来描述算法。通过用伪代码描述的算法看到,其中可以包 含计算机语言语句,也可以不用像计算机语言语法那样严格, 有些地方还可以用自然语言进行描述。这样的方式方便修改 算法,很大程度上可以简化了算法的设计工作。
LOREM IPSUM DOLOR

(5)计算机语言 直接使用计算机语言书写算法,可以令算法由设计到实现一步到位,
通常对计算机语言非常熟悉的程序员来说,直接使用计算机语言编写
算法很方便,这种方法的优点是避免了算法到计算机语言的转换,其 缺点是要求程序员在书写时严格谨慎,必须按照程序语言的语法规则
LOREM IPSUM DOLOR

(1)机器语言。 机器语言(Machine Language)是直接用二进制编码指 令表示的计算机语言,就是机器指令的集合,它与计算 机同时诞生属于第一代计算机语言,其指令是由0 和1 组 成的一串代码,有一定的位数,并被分成若干段,各段 的编码表示不同的含义。


计算机算法通常可以分为两大类: 一类是用于解决数值计算,如科学计算中的数值积分、 解线性方程等计算方法,就是数值计算的算法; 另一类是用于解决非数值计算如信息管理、文字处理、 图象图形进行排序、分类、查找等操作,就是非数值计 算的算法。
【例1.1】求1×3×5×7×9。

LOREM IPSUM DOLOR



2.算法的特性 算法是有穷规则的集合,通过这些规则可以确定出解决某些问 题的运算序列。对于该类问题的任何输入值,都需要一步一步 地执行计算,经过有限步骤后终止计算并产生输出结果。归纳 起来,算法包括以下基本特性: ① 有穷性 ② 确定性 ③ 可行性 ④ 零个或则多个输入 ⑤ 一个或多个输出:一个算法中有一个或多个输出。
成立 不成立
成立
p
不成立
p
A
B
A
B
图1-8选择结构程序流程图

A
A
P 不成立
成立
P 成立
不成立
(a)当型循环
(b)直到型循环
图1-9循环结构程序流程图
LOREM IPSUM DOLOR

(3)N-S流程图 N-S流程图,是1973年美国学者I.Nassi和 B.Shneiderman提出了一种新型流程图形式,其中N-S是 两位学者的姓氏的首字母。这是一种去掉了流程线的流 程图,算法的描述是在一个矩形框内,每个框内又可以 包含下级矩形框,一个矩形框表示一个独立功能的N-S 图,因为其符合结构化程序设计要求的特点,比较适合 在软件工程中进行使用。
【例1-3】对给定的两个正整数m和n(m大于等于n),求它们的 最大公约数。

【算法分析:本题中属于一种数学数值运算题目,利用它成熟的算法可以很好的解决这个问题,这个算法就是 辗转相除法求解最大公约数。

例如:假设m=35,n=15,余数用r表示,它们的最大公约数的求法为: 35/15 商为2 余数为5 将n作新的m,以r作新的n,继续相除; 15/5 商为3 余数为0 当余数为零时,所得n就是两数的最大公约数。 所以35和15的最大公约数为5。 使用计算机解题的算法描述如下 s1:将两个正整数分别存放到变量m和n中。 s2: 求余数:将m除以n,所得到的余数存放到变量r中。 s3: 判断余数r是否为0,如果余数为0则执行s5,否则执行s4。 s4: 更新被除数和除数:将n的值放入m中,余数r的值方如入到n中,然后转向到s2。 S5:输出n当前的值。 S6:算法结束。
开始
开始 1→t
1→t
3→i
3→i
t×i→t i+2→i N i>9 Y 结束 图1-3 算法流程图 N
t×i→t i+2→i
i>9 Y
打印t 结束
图1-4算法流程图
开始
开始
输入a,b,c,x N x≤a?
输入m和n Y m/n求得余数→r f=3x+a r=0? Y
f=ax+b+c +c
N
n→m r→ n
LOREM IPSUM DOLOR

(2)汇编语言。 汇编语言(Assembly Language)也是面向机器的程序 设计语言。在汇编语言中,用助记符(Memoni)代替操 作码,用地址符号(Symbol)或标号(Label)代替地 址码。所以这种用符号代替机器语言的二进制码的计算 机语言也被称为符号语言。
输出f
输出n
结束 图1-5
结束 图1-6
LOREM IPSUM DOLOR

在书写流程图时,人们规定了三种基本结构,这些结构 按照一定的规律组成算法结构,可以保证算法质量。三 种基本程序结构为:顺序结构(如图1-7)、分支结构 (如图1-8)和循环结构图(如图1-9)。
A
B
图1-7 顺序结构程序流程图
程序就是按某种顺序排列的,能使计算机执行某种任务(例
2.程序设计语言


程序设计语言,通常称为编程语言,是一组用来定义计 算机程序的语法规则。 一种程序设语言能够准确地定义计算机所需要使用的数 据,并能精确定义在不同情况下所应当采取的操作。 程序设计语言按照使用的方式和功能可分为:机器语言、 汇编语言等低级语言和面向过程向对象的高级语言。


1.2算法

1.算法的概念 什么是算法?当代著名计算机科学家D.E.Knuth 在他的一本书中写到:“一个算法,就是一个有穷 规则的集合,其中之规则规定了一个解决某一特 定类型的问题的运算序列。”简单的说,算法 (Algorithm)就是确定的解决问题方法和有限 步骤。
LOREM IPSUM DOLOR
第1 章 程序设计技术概述
LOREM IPSUM DOLOR
本章知识要点


������
������ ������
程序设计语言和程序设计的概念
算法的概念、特征以及描述方式 软件编制的基本步骤

������
C 语言特点及其运行环境
1.1 程序设计语言概述

1.程序 如,解题、检索数据或对一个系统进行控制等)的、连 续执行的一条条指令集合。
一个软件的开发,包含需求分析、可行性分析、初步设计、 详细设计、形成文档、建立初步模型、编写详细代码、测 试修改、发布等多个步骤。首先要找到解决问题的突破口 (先要搞明白需要做什么,然后再考虑如何做)。至于采 用什么表示方法(简单文本、UML 图、E-R 图)、什么语 言开发工具都是次要的问题。总体来看软件开发过程主要 包括以下四个阶段:
LOREM IPSUM DOLOR


程序流程图 程序流程图(Program Flow Chart)是最早提出的用图 形表示算法的工具,也称为传统流程图。用它表示算法, 具有直观性强、清晰性好、便于阅读、易于理解等特点, 也便于转化成计算机程序设计语言,是软件开发人员经 常使用的算法描述方式,具有程序无法取代的作用

LOREM IPSUM DOLOR

高级语言完全采用了符号化的描述形式,用类似自然语 言的形式描述对问题的处理过程,使得程序员可以认真 分析问题的求解过程,不需要了解和关心计算机的内部 结构和硬件细节,更易于被人们理解和接受。
LOREM IPSUM DOLOR

(4)面向对象的语言 面向对象语言(Object-Oriented Language)是以对象作 为程序基本结构单位的程序设计语言,程序设计的核心 是对象,对象是程序运行的基本成分。面向对象语言的 发展有两个方向:一种是纯面向对象语言,如Smalltalk、 Eiffel等;另一种是混合型面向对象语言,即在过程式 语言及其它语言中加入类、继承等成分,如C++、 Objective-C等。面向对象语言刻画客观系统较为自然, 便于软件扩充与复用。
汇编语言源程序汇编的过程
LOREM IPSUM DOLOR

(3)高级语言 高级语言语法和结构更类似普通英文,更关键的是不依赖于特 定计算机的结构与指令系统,用同一种高级语言缩写的源程序, 一般可以在不同计算机上运行而获得同一结果,计算机的硬件 结构没有多大关系。 目前常用的高级语言有BASIC、FORTRAN、COBOL、 PASCAL、PL/M、C等。
LOREM IPSUM DOLOR


3.算法的描述
原则上来说,算法可以用任何形式的语言和符号工具来 表示,采用不同的算法描述工具对算法的质量有很大的 影响。通常算法常用的表示方法有自然语言、传统流程 图、结构化N-S图、伪代码、程序设计语言等。
LOREM IPSUM DOLOR


自然语言
自然语言就是人们日常生活中使用的语言,可分为英语、 汉语或其他语言等,理想状态下,算法的描述过程应当 使用自然语言表达,因为其表示时算法通俗易懂,无需 任何的专业训练就能看明白。
编写语句,否则无法运行,同时改成其他计算机语言编程时,又需按
照新的计算机语言规则重新编写,对于不熟悉程序语言的人来说,看 不懂书写的算法。

允许在算法的描述和实现方法上有所不同,用各种算法描述方法描述 的同一算法功用是一样的。
1.3软件的编制步骤

日常生活中可以使用计算机进行画图、制表或者闲暇时 听歌曲、看电影,计算机可以帮我们做很多的事情,计 算机做为一种批量生产的设备,只有在安装了不同的软 件,才能处理问题,换句话说如果没有是计算机软件的 产生及其广泛应用,计算机也就不会在今天的工作以及 生活中产生如此巨大的影响。
相关文档
最新文档