C语言程序设计概述

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

1.3 算法
1 算法特性
(1)有穷性:一个算法应该包含有限的操作步骤,不 是无限的。 (2)确定性:算法的含义应该是唯一的,算法中的每 一个步骤应当是确定的。 不应当产生 “ 歧义性 ”。 (3)可行性:算法中的每个操作都应当是有效、可行 的,并得到正确的结果。 (4)有零个或多个输入:所谓输入是在执行算法时需 要从外界取得的必要信息。 (5)有一个或多个输出:算法得到的结果(不一定是 打印结果)就是算法的输出。没有输出的算法是没有 意义的。
第1章 C语言程序 设计概述
主要内容
1.1 C语言的发展历史 1.2 C语言特点 1.3 算法 1.4 结构化程序设计和模块化结构 1.5 C语言程序的编辑与运行
1.1 C语言的发展历史
1 程序设计语言分类
• 低级语言 •机器语言:直接用0和1表示的指令序列来编程的 语言。例1011100011101000000000011的功能是 将1000送入寄存器AX中。 •汇编语言:为方便记忆和编程,用一些助记符号 和简单的语法来帮助编程。例MOV AX,1000的功 能是将1000送入寄存器AX中。 缺点:可读性差、可维护性差、可移植性差
1.3 算法
补充:算法是程序的灵魂
我们知道,计算机执行的是人们事先编制好的程 序。一个程序,它包括两个方面: 一是对数据的描述,即数据结构( Data Structure ),它 在程序中的作用是指定数据的类型和组织形式。 二是对操作的描述,即算法( Algorithm ),它在程序 中的作用是控制操作的步骤,是程序实现的基本思 想。 著名计算机科学家沃思( Nikiklaus Wirth )就曾提出:
1.3 算法
例:对一个大于或等于3的正整数,判断它是不是一 个素数。
概念:所谓素数,是指除了1和该数本身之外,不能 被其它任何整数整除的数。例如,13是素数。因为 它不能被2,3,4,…,12整除。 分析:判断一个数n(n≥3)是否素数的方法: 将n作为被除数,将2到(n-1)各个整数轮流作为除数, 如果都不能被整除,则n为素数。
1.1 C语言的发展历史
2 C语言的发展
• 1975年UNIX第6版发布,C优点突出引起关注。 •1977年出现了《可移植C语言编译程序》 ,推动了 UNIX在各种机器上实现 ,C语言也得到推广,其发 展相辅相成。 •1978年影响深远的名著《The C Programming Language》由 Brian W.Kernighan和Dennis M.Ritchie 合著,被称为标准C。 • 之后,C语言先后移植到大、中、小、微型计算机上, 已独立于UNIX和PDP,风靡世界,成为最广泛的几种 计算机语言之一。
1.1 C语言的发展历史
2 C语言的发展
• 1983年,美国国家标准化协会(ANSI)根据C语言各 种版本对C的发展和扩充,制定了新的标准ANSI C, 比标准C有了很大的发展。 •1988年K & R按照 ANSI C修改了他们的《The C Programming Language》。 •1987年,ANSI公布了新标准——87 ANSI C。 •1990年,国际标准化组织接受了87 ANSI C为ISO C 的标准(ISO9899—1990)。 • 1994年,ISO又修订了C语言标准。 •目前流行的C语言编译系统大多是以ANSI C为基础 进行开发的。
这里,我们要讨论的算法是指计算机算法,即计 算机能够执行的算法。算法是指解决某个特定问题 而采取的确定且有效的步骤。它包括: (1)数值运算算法:解决的是如何求数值解的问题, 主要应用于科学计算领域,其发展较早,研究也很 深入,是比较成熟的计算机算法。 (2)非数值运算算法:主要用于事务管理领域,其 范围相当广泛,而且随着计算机技术的不断发展, 其应用领域还在不断扩大,其算法的研究也在不断 的完善和深入。
• 高级语言 C、C++、Java...
1.1 C语言的发展历史
2 C语言的发展
ALGOL-60 剑桥大学 CPL 剑桥大学 BCPL
1960 ISO C ANSI C
1963
1967
贝尔实验室 贝尔实验室
标准C
B
1972
1970
1.1 C语言的发展历史
2 C语言的发展
• C语言是国际上广泛流行的高级语言。 • C语言是在B语言的基础上发展起来的。 • B(BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。 优点:精练,接近硬件,缺点:过于简单,数据无类型。 •1973年贝尔实验室的D.M.Ritchie 在B语言的基础上 设计出了C语言,对B取长补短,并用之改写了原来 用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔 实验室使用。
1.2 C语言特点
(7)目标代码质量高,程序执行效率高。只比汇编程 序生成的目标代码效率低10%-20%。 (8)程序可移植性好(与汇编语言比)。基本上不做修 改就能用于各种百度文库号的计算机和各种操作系统。
1.3 算法
广义的算法,是指为解决生活、学习和工作中的 某个问题而采取的方法和步骤,范围十分广泛。
程序 = 数据结构 + 算法
1.3 算法
补充:算法是程序的灵魂
除此以外,在现代软件工程中程序设计还采用一 定的程序设计方法,并用某种计算机语言来表示。 因此,程序还应该包括程序设计的方法和所采用的 语言工具及环境。 我们这门课对于算法涉及不多,主要解决的是语言工 具问题,但算法的思想十分重要。望大家一开始就 要有这方面的意识,这对我们今后分析问题、解决问 题(具体就是:读/写程序)将很有帮助。
1.1 C语言的发展历史
2 C语言的发展
说明:不同版本的C编译系统所实现的语言功能和语 法规则又略有差别,因此读者应了解所用的C语言编 译系统的特点(可以参阅有关手册)。本书的叙述基本 上以ANSI C为基础。
1.2 C语言特点
(1)语言简洁、紧凑,使用方便、灵活。 32个关键字、 9种控制语句,程序形式自由。 (2)运算符丰富。34种运算符 (3)数据类型丰富,具有现代语言的各种数据结构。 (4)具有结构化的控制语句,是完全模块化和结构 化的语言。 (5)语法限制不太严格,程序设计自由度大。 (6)允许直接访问物理地址,能进行位操作,能实 现汇编语言的大部分功能,可直接对硬件进行操作。 兼有高级和低级语言的特点。
相关文档
最新文档