C语言与程序概述.ppt

上传人:牧羊曲112 文档编号:5426218 上传时间:2023-07-05 格式:PPT 页数:38 大小:231.50KB
返回 下载 相关 举报
C语言与程序概述.ppt_第1页
第1页 / 共38页
C语言与程序概述.ppt_第2页
第2页 / 共38页
C语言与程序概述.ppt_第3页
第3页 / 共38页
C语言与程序概述.ppt_第4页
第4页 / 共38页
C语言与程序概述.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《C语言与程序概述.ppt》由会员分享,可在线阅读,更多相关《C语言与程序概述.ppt(38页珍藏版)》请在三一办公上搜索。

1、第1章 C语言与程序概述,C语言是现在世界上应用最广泛,最受欢迎的计算机语言之一。在本章的学习中需要掌握以下知识点:数据结构的概念和作用;算法的概念和作用;结构化程序设计的方法;三种基本结构;程序流程图和N-S流程图。,1.1 C语言历史,C语言已经经历了几十年的发展。在学习C语言之前,应该要先了解C语言是如何诞生的,它的历史是怎么样的。本节将介绍C言语的诞生、C语言的标准化过程及其重要特点,最后还将展示一个标准的“Hello,world!”的程序。,1.1.1 C语言的诞生,C语言是由著名的计算机科学家Dennis Ritchie创造的,其历史可以追溯到ALGOL 60。ALGOL 60,也

2、称为A语言,是纯粹的面向描述计算过程的语言。C语言的直接前身B语言就是从BCPL发展而来的。在19721973年间,Denis Ritchie改进了B语言,为其添加了数据类型的概念,并将原来的解释程序改写为可以在直接生成机器代码的编译程序,并将其命名为C。现在,C语言已成为用途最为广泛的计算机高级语言,不仅可以用于编写系统软件,还可以用于构建各个领域的应用软件。,1.1.2 C语言的标准化,C语言发展到现在已经经历了3个标准,分别为K&R C、C89和C99。1K&R C2C89或ANSI C3C99,1.1.3 C语言的特点,C语言之所以得到如此迅速的发展,并成为应用最广泛、最受欢迎的计算机

3、语言之一,主要是因为它语法灵活、使用方便,并能实现高效而强大的功能。C语言具有以下特点:1使用方便,功能强大2便于结构化编程3C语言是中级语言4执行效率高5C程序可移植性好,1.1.4 Hello,world!,作为结构性语言,C程序的结构十分严整。下面来认识一下第一个C程序,这是十分著名的“Hello,world!”程序。这个程序经常被用作介绍各种语言的第一个程序,其功能是向屏幕打印一个字符串“Hello,world!”。,1.2 数据结构与算法,一般来说,程序由数据结构和算法两个部分组成。数据结构是一个一个的实体,而算法是将它们联系在一起的各种手段。学习程序首先要了解数据结构和算法的概念,

4、以及它们之间的关系。由于篇幅有限,本小节将只是简要地介绍数据结构和算法的一些基本知识,要想深入了解数据结构和算法,还需要读者去学习其他专门的材料。,1.3 程序设计,如本章小结所述,C语言是一门便于结构化编程的语言。结构化编程,也就是结构化程序设计。那么,什么是结构化程序设计呢?结构化程序设计有什么好处?通过本小节的学习,读者可以得到这些问题的答案,同时会为学习以结构化程序设计为指导思想的C语言程序设计打下一个良好的铺垫。,1.3.1 结构化程序设计,结构化程序设计是荷兰科学家在1965年提出的,其主要思想是通过分解复杂问题为若干简单问题的方式降低程序的复杂性。它的主要观点是采用自顶向下、逐步

5、细化的程序设计方法,同时严格使用三种基本控制结构构造程序。三种基本控制结构是指顺序结构、选择结构和循环结构。所有的程序结构都可以分解为这三个基本控制结构。,1.3.2 三种基本结构,按照操作的执行顺序,程序可以分为三类基本结构:顺序结构、选择结构和循环结构。1996年,计算机科学家Bohm和Jacopini证明:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种结构组合而成。所以,这三种结构就被称为程序设计的三种基本结构,也是结构化程序设计建议采用的结构。,1顺序结构,在顺序结构的程序里,各操作是按照它们出现的先后顺序执行的。如下图所示,操作1和操作2按自上而下地顺序执行。这是最简

6、单的一种基本结构。这个结构里只有一个入口点A和一个出口点B,其特点是从入口点A开始,按顺序执行所有操作,直至出口点B处。事实上,所有的程序的总流程总是一个顺序结构。,2选择结构,选择结构,也叫分支结构。选择结构的程序里存在一些分支,程序通过对一些条件的判断选择执行的分支。按照分支数,选择结构又可以分为单选择、双选择和多选择三种形式。,双选择结构是最常见的,如下图所示,结构中有两个分支,必须要执行其中一支;如果满足条件则执行操作1,否则执行操作2。,2选择结构,2选择结构,单选择结构如下图所示,当双选择结构中某个分支为空时,就称为单选择结构。,多选择结构如下图所示,有多个分支共存,程序根据Typ

7、e值来选择其中之一执行。,2选择结构,3循环结构,在循环结构中,是反复地执行一系列操作,直到某条件为假(或为真)时才终止循环。按照判断条件出现的位置,可以分为while循环结构和until循环结构。,while循环结构中,先判断条件,如下图所示。如果A不大于1,则直接退出循环体到达流程出口处;如果满足A大于1,执行操作1,并且在操作1结束后返回到循环入口,重新判断条件;如果A还是大于1,再次执行操作1,再返回结构入口,如此反复。,3循环结构,until型循环结构中,在结构入口处先执行循环体,然后再判断条件,如下图所示。当程序执行完操作1后,判断A是否大于1。如果是,则再执行操作1;然后再次判断

8、A是否大于1;如果结果仍然为是,则再次执行操作1,3循环结构,3循环结构,在这两种结构中,操作1都可能被反复执行,直到A的值不大于1,才结束程序。同样,循环型结构也只有一个入口点A和一个出口点B。合理地使用这三种基本结构,可以组合成复杂的高级结构;而所有的复杂结构都可以分解为这三种基本结构。,1.3.3 算法描述方法,当算法过程比较复杂时,单靠自然语言来描述算法将显得十分困难,让人难以准确理解。此时,需要借助其他的算法描述手段,主要有:算法语言,有伪代码、各种程序设计语言、计算机语言等。图形描述,如流程图和N-S图,图的描述应与算法语言的描述对应;形式语言,用数学的方法,可以避免自然语言的二义

9、性。,1伪代码,伪代码是介于程序语言和自然语言之间的算法描述,即要具有自然语言通俗易懂的特点,还要能很容易地被转换为程序语言,这就要求伪代码具有清晰地逻辑结构,并且有准确的算法步骤。伪代码的形式有很多种,没有通用的规则,根据需要可以自行决定伪码的形式。在本书使用的伪代码一般为类C伪码,书写注重可读性和逻辑性。下面是上一小节直接排序算法的伪代码。该段伪代码已经细化到编程的每一小步,可以很容易使用C语言代替。,1伪代码,算法开始:设i值为0;当i stuArrayj设min的值为j;j自增1;交换第i个元素和第min个元素;i自增1;算法结束,1伪代码,技巧:在编程时,当设计好一个算法后,要都先将

10、它们使用伪代码描述出来,再使用程序语言来实现。这样有利于更有条理更有逻辑地书写程序语言,其作用就像写文章要先列好提纲一样。,2.程序流程图,程序流程图是算法的图形描述方式。它使用一些简单的几何图形来表示各种不同性质的程序操作,使用流程线将各个图形连接起来,指示算法的执行过程。由于流程图的符号统一,且画法简单,结构清晰,逻辑性强,便于理解,因此成为描述程序流程的主要方法。下图中的图形是流程图中常用的一些标志。,2.程序流程图,2.程序流程图,在小节介绍三种基本程序结构时,已经接触了流程图的部分图形。将小节中的直接排序算法使用流程图来表示,如下图所示。,2.程序流程图,2.程序流程图,由于本书中的

11、程序都较短小,而程序流程图描述小型程序时,能够发挥其简单灵活的优势,因此本书主要使用程序流程图来描述算法流程。,3N-S流程图,由于程序流程图使用流程线的导向来引导程序流程。当程序流程较复杂时,框图中会常常有很多的流程线,导致逻辑杂乱无章,失去了流程图简洁清晰的优点。后来,当结构化程序设计方法日益流行后,两个美国学者I.Nassi和B.Shneiderman基于结构化思想提出了一种新的流程图形式,被称为N-S流程图,N和S是两个发明人名字的首字母。按照结构化设计的思想,所有的程序都可以分解成三种基本结构的组合。N-S流程图为三种基本结构设计了特殊的结构图,并以它们为基础来描述其余所有的算法。,

12、下图为顺序结构的N-S表示图。先执行操作1,再执行操作2;操作1的方框上方为结构入口,操作2的方框下方为结构出口。,3N-S流程图,3N-S流程图,下图为双选择结构,省略其中之一即可得单选择结构。,3N-S流程图,下图中,左图为while循环结构,右图为until循环结构。,3N-S流程图,N-S使用这几种图形的组合便可以得到所有算法的N-S流程图。所以,在N-S流程图中去掉了程序流程图中眼花缭乱的流程线,并将整个程序流程放在一个大方框内,使程序流程更清楚。下图是直接排序算法的N-S流程图。,3N-S流程图,1.4 综合练习,1、使用伪码描述使用冒泡排序法将序列从小到大排序的算法,并画出其程序流程图或N-S流程图。【提示】冒泡排序的基本思想是,对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素。经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了要求的顺序。,1.4 综合练习,算法的伪码描述如下:算法开始:设i值为N1;当i 0设j值为0;当j arrayj1交换第j个元素和第j1个元素;j自增1;i自减1;算法结束,1.4 综合练习,程序流程图如右图所示。,1.4 综合练习,N-S流程图如右图所示。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号