C语言与程序概述PPT课件

上传人:无*** 文档编号:195609000 上传时间:2023-03-18 格式:PPT 页数:38 大小:201.50KB
收藏 版权申诉 举报 下载
C语言与程序概述PPT课件_第1页
第1页 / 共38页
C语言与程序概述PPT课件_第2页
第2页 / 共38页
C语言与程序概述PPT课件_第3页
第3页 / 共38页
资源描述:

《C语言与程序概述PPT课件》由会员分享,可在线阅读,更多相关《C语言与程序概述PPT课件(38页珍藏版)》请在装配图网上搜索。

1、联系方式:http:/北京源智天下科技有限公司第第1 1章章 C C语言与程序概述语言与程序概述C语言是现在世界上应用最广泛,最受欢迎的计算机语言之语言是现在世界上应用最广泛,最受欢迎的计算机语言之一。在本章的学习中需要掌握以下知识点:一。在本章的学习中需要掌握以下知识点:数据结构的概念和作用;数据结构的概念和作用;算法的概念和作用;算法的概念和作用;结构化程序设计的方法;结构化程序设计的方法;三种基本结构;三种基本结构;程序流程图和程序流程图和N-S流程图。流程图。联系方式:http:/北京源智天下科技有限公司1.1 C1.1 C语言历史语言历史 C语言已经经历了几十年的发展。在学习语言已经

2、经历了几十年的发展。在学习C语言之前,应语言之前,应该要先了解该要先了解C语言是如何诞生的,它的历史是怎么样的。语言是如何诞生的,它的历史是怎么样的。本节将介绍本节将介绍C言语的诞生、言语的诞生、C语言的标准化过程及其重要语言的标准化过程及其重要特点,最后还将展示一个标准的特点,最后还将展示一个标准的“Hello,world!”的程序的程序。联系方式:http:/北京源智天下科技有限公司1.1.1 C1.1.1 C语言的诞生语言的诞生C语言是由著名的计算机科学家语言是由著名的计算机科学家Dennis Ritchie创造的,其创造的,其历史可以追溯到历史可以追溯到ALGOL 60。ALGOL 6

3、0,也称为,也称为A语言语言,是纯粹的面向描述计算过程的语言。,是纯粹的面向描述计算过程的语言。C语言的直接前身语言的直接前身B语言就是从语言就是从BCPL发展而来的。发展而来的。在在19721973年间,年间,Denis Ritchie改进了改进了B语言,为其添语言,为其添加了数据类型的概念,并将原来的解释程序改写为可以加了数据类型的概念,并将原来的解释程序改写为可以在直接生成机器代码的编译程序,并将其命名为在直接生成机器代码的编译程序,并将其命名为C。现在,现在,C语言已成为用途最为广泛的计算机高级语言,不仅语言已成为用途最为广泛的计算机高级语言,不仅可以用于编写系统软件,还可以用于构建各

4、个领域的应可以用于编写系统软件,还可以用于构建各个领域的应用软件。用软件。联系方式:http:/北京源智天下科技有限公司1.1.2 C1.1.2 C语言的标准化语言的标准化C语言发展到现在已经经历了语言发展到现在已经经历了3个标准,分别为个标准,分别为K&R C、C89和和C99。1K&R C2C89或或ANSI C3C99联系方式:http:/北京源智天下科技有限公司1.1.3 C1.1.3 C语言的特点语言的特点C语言之所以得到如此迅速的发展,并成为应用最广泛、最语言之所以得到如此迅速的发展,并成为应用最广泛、最受欢迎的计算机语言之一,主要是因为它语法灵活、使受欢迎的计算机语言之一,主要是

5、因为它语法灵活、使用方便,并能实现高效而强大的功能。用方便,并能实现高效而强大的功能。C语言具有以下特语言具有以下特点:点:1使用方便,功能强大使用方便,功能强大2便于结构化编程便于结构化编程3C语言是中级语言语言是中级语言4执行效率高执行效率高5C程序可移植性好程序可移植性好联系方式:http:/北京源智天下科技有限公司1.1.4 Hello,world!1.1.4 Hello,world!作为结构性语言,作为结构性语言,C程序的结构十分严整。下面来认识一下程序的结构十分严整。下面来认识一下第一个第一个C程序,这是十分著名的程序,这是十分著名的“Hello,world!”程序。程序。这个程序

6、经常被用作介绍各种语言的第一个程序,其功这个程序经常被用作介绍各种语言的第一个程序,其功能是向屏幕打印一个字符串能是向屏幕打印一个字符串“Hello,world!”。联系方式:http:/北京源智天下科技有限公司1.2 1.2 数据结构与算法数据结构与算法一般来说,程序由数据结构和算法两个部分组成。数据结构一般来说,程序由数据结构和算法两个部分组成。数据结构是一个一个的实体,而算法是将它们联系在一起的各种是一个一个的实体,而算法是将它们联系在一起的各种手段。学习程序首先要了解数据结构和算法的概念,以手段。学习程序首先要了解数据结构和算法的概念,以及它们之间的关系。由于篇幅有限,本小节将只是简要

7、及它们之间的关系。由于篇幅有限,本小节将只是简要地介绍数据结构和算法的一些基本知识,要想深入了解地介绍数据结构和算法的一些基本知识,要想深入了解数据结构和数据结构和算法,还需要读者去学习其他专门的材料。算法,还需要读者去学习其他专门的材料。联系方式:http:/北京源智天下科技有限公司1.3 1.3 程序设计程序设计如本章小结所述,如本章小结所述,C语言是一门便于结构化编程的语言语言是一门便于结构化编程的语言。结构化编程,也就是结构化程序设计。那么,什。结构化编程,也就是结构化程序设计。那么,什么是结构化程序设计呢?结构化程序设计有什么好么是结构化程序设计呢?结构化程序设计有什么好处?通过本小

8、节的学习,读者可以得到这些问题的处?通过本小节的学习,读者可以得到这些问题的答案,同时会为学习以结构化程序设计为指导思想答案,同时会为学习以结构化程序设计为指导思想的的C语言程序设计打下一个良好的铺垫。语言程序设计打下一个良好的铺垫。联系方式:http:/北京源智天下科技有限公司1.3.1 1.3.1 结构化程序设计结构化程序设计结构化程序设计是荷兰科学家在结构化程序设计是荷兰科学家在1965年提出的,其主要思年提出的,其主要思想是通过分解复杂问题为若干简单问题的方式降低程序想是通过分解复杂问题为若干简单问题的方式降低程序的复杂性。它的主要观点是采用自顶向下、逐步细化的的复杂性。它的主要观点是

9、采用自顶向下、逐步细化的程序设计方法,同时严格使用三种基本控制结构构造程程序设计方法,同时严格使用三种基本控制结构构造程序。序。三种基本控制结构是指顺序结构、选择结构和循环结构。所三种基本控制结构是指顺序结构、选择结构和循环结构。所有的程序结构都可以分解为这三个基本控制结构。有的程序结构都可以分解为这三个基本控制结构。联系方式:http:/北京源智天下科技有限公司1.3.2 1.3.2 三种基本结构三种基本结构按照操作的执行顺序,程序可以分为三类基本结构:顺序结按照操作的执行顺序,程序可以分为三类基本结构:顺序结构、选择结构和循环结构。构、选择结构和循环结构。1996年,计算机科学家年,计算机

10、科学家Bohm和和Jacopini证明:任何简单或复杂的算法都可以由证明:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种结构组合而成。顺序结构、选择结构和循环结构这三种结构组合而成。所以,这三种结构就被称为程序设计的三种基本结构,所以,这三种结构就被称为程序设计的三种基本结构,也是结构化程序设计建议采用的结构。也是结构化程序设计建议采用的结构。联系方式:http:/北京源智天下科技有限公司1 1顺序结构顺序结构在顺序结构的程序里,各操作是按照它们出现的先后顺序执行的在顺序结构的程序里,各操作是按照它们出现的先后顺序执行的。如下图所示,操作。如下图所示,操作1和操作和操作2按自上

11、而下地顺序执行。这是最按自上而下地顺序执行。这是最简单的一种基本结构。这个结构里只有一个入口点简单的一种基本结构。这个结构里只有一个入口点A和一个出和一个出口点口点B,其特点是从入口点,其特点是从入口点A开始,按顺序执行所有操作,直开始,按顺序执行所有操作,直至出口点至出口点B处。事实上,所有的程序的总流程总是一个顺序结处。事实上,所有的程序的总流程总是一个顺序结构。构。联系方式:http:/北京源智天下科技有限公司2 2选择结构选择结构选择结构,也叫分支结构。选择结构的程序里存在一些分支选择结构,也叫分支结构。选择结构的程序里存在一些分支,程序通过对一些条件的判断选择执行的分支。按照分,程序

12、通过对一些条件的判断选择执行的分支。按照分支数,选择结构又可以分为单选择、双选择和多选择三支数,选择结构又可以分为单选择、双选择和多选择三种形式。种形式。联系方式:http:/北京源智天下科技有限公司 双选择结构是最常见的,如下图所示,结构中有两个分支,双选择结构是最常见的,如下图所示,结构中有两个分支,必须要执行其中一支;如果满足条件则执行操作必须要执行其中一支;如果满足条件则执行操作1,否则,否则执行操作执行操作2。2 2选择结构选择结构联系方式:http:/北京源智天下科技有限公司2 2选择结构选择结构单选择结构如下图所示,当双选择结构中某个分支为空时,单选择结构如下图所示,当双选择结构

13、中某个分支为空时,就称为单选择结构。就称为单选择结构。联系方式:http:/北京源智天下科技有限公司 多选择结构如下图所示,有多个分支共存,程序根据多选择结构如下图所示,有多个分支共存,程序根据Type值来选择其中之一执行。值来选择其中之一执行。2 2选择结构选择结构联系方式:http:/北京源智天下科技有限公司3 3循环结构循环结构在循环结构中,是反复地执行一系列操作,直到某条件为假在循环结构中,是反复地执行一系列操作,直到某条件为假(或为真)时才终止循环。按照判断条件出现的位置,(或为真)时才终止循环。按照判断条件出现的位置,可以分为可以分为while循环结构和循环结构和until循环结构

14、。循环结构。联系方式:http:/北京源智天下科技有限公司 while循环结构中,先判断条件,如下图所示。如果循环结构中,先判断条件,如下图所示。如果A不大于不大于1,则,则直接退出循环体到达流程出口处;如果满足直接退出循环体到达流程出口处;如果满足A大于大于1,执行操作,执行操作1,并且在操作,并且在操作1结束后返回到循环入口,重新判断条件;如果结束后返回到循环入口,重新判断条件;如果A还是大于还是大于1,再次执行操作,再次执行操作1,再返回结构入口,再返回结构入口,如此反,如此反复。复。3 3循环结构循环结构联系方式:http:/北京源智天下科技有限公司until型循环结构中,在结构入口处

15、先执行循环体,然后再判型循环结构中,在结构入口处先执行循环体,然后再判断条件,如下图所示。当程序执行完操作断条件,如下图所示。当程序执行完操作1后,判断后,判断A是是否大于否大于1。如果是,则再执行操作。如果是,则再执行操作1;然后再次判断;然后再次判断A是否是否大于大于1;如果结果仍然为是,则再次执行操作;如果结果仍然为是,则再次执行操作13 3循环结构循环结构联系方式:http:/北京源智天下科技有限公司3 3循环结构循环结构在这两种结构中,操作在这两种结构中,操作1都可能被反复执行,直到都可能被反复执行,直到A的值不的值不大于大于1,才结束程序。同样,循环型结构也只有一个入口,才结束程序

16、。同样,循环型结构也只有一个入口点点A和一个出口点和一个出口点B。合理地使用这三种基本结构,可以组合成复杂的高级结构;合理地使用这三种基本结构,可以组合成复杂的高级结构;而所有的复杂结构都可以分解为这三种基本结构。而所有的复杂结构都可以分解为这三种基本结构。联系方式:http:/北京源智天下科技有限公司1.3.3 1.3.3 算法描述方法算法描述方法当算法过程比较复杂时,单靠自然语言来描述算法将显得十当算法过程比较复杂时,单靠自然语言来描述算法将显得十分困难,让人难以准确理解。此时,需要借助其他的算分困难,让人难以准确理解。此时,需要借助其他的算法描述手段,主要有:法描述手段,主要有:算法语言

17、,有伪代码、各种程序设计语言、计算机语言等。算法语言,有伪代码、各种程序设计语言、计算机语言等。图形描述,如流程图和图形描述,如流程图和N-S图,图的描述应与算法语言的描图,图的描述应与算法语言的描述对应;述对应;形式语言,用数学的方法,可以避免自然语言的二义性。形式语言,用数学的方法,可以避免自然语言的二义性。联系方式:http:/北京源智天下科技有限公司1 1伪代码伪代码伪代码是介于程序语言和自然语言之间的算法描述,即要具伪代码是介于程序语言和自然语言之间的算法描述,即要具有自然语言通俗易懂的特点,还要能很容易地被转换为有自然语言通俗易懂的特点,还要能很容易地被转换为程序语言,这就要求伪代

18、码具有清晰地逻辑结构,并且程序语言,这就要求伪代码具有清晰地逻辑结构,并且有准确的算法步骤。伪代码的形式有很多种,没有通用有准确的算法步骤。伪代码的形式有很多种,没有通用的规则,根据需要可以自行决定伪码的形式。的规则,根据需要可以自行决定伪码的形式。在本书使用的伪代码一般为类在本书使用的伪代码一般为类C伪码,书写注重可读性和逻伪码,书写注重可读性和逻辑性。下面是上一小节直接排序算法的伪代码。该段伪辑性。下面是上一小节直接排序算法的伪代码。该段伪代码已经细化到编程的每一小步,可以很容易使用代码已经细化到编程的每一小步,可以很容易使用C语言语言代替。代替。联系方式:http:/北京源智天下科技有限

19、公司1 1伪代码伪代码算法开始:算法开始:设设i i值为值为0 0;当当i N 1i N 1 设设j j值为值为i i1 1;设设minmin等于等于i i;当当j N j stuArrayjstuArraymin stuArrayj 设设minmin的值为的值为j j;j j自增自增1 1;交换第交换第i i个元素和第个元素和第minmin个元素;个元素;i i自增自增1 1;算法结束算法结束联系方式:http:/北京源智天下科技有限公司1 1伪代码伪代码技巧:在编程时,当设计好一个算法后,要都先将它们使用技巧:在编程时,当设计好一个算法后,要都先将它们使用伪代码描述出来,再使用程序语言来实

20、现。这样有利于伪代码描述出来,再使用程序语言来实现。这样有利于更有条理更有逻辑地书写程序语言,其作用就像写文章更有条理更有逻辑地书写程序语言,其作用就像写文章要先列好提纲一样。要先列好提纲一样。联系方式:http:/北京源智天下科技有限公司2.2.程序流程图程序流程图程序流程图是算法的图形描述方式。它使用一些简单的几何程序流程图是算法的图形描述方式。它使用一些简单的几何图形来表示各种不同性质的程序操作,使用流程线将各图形来表示各种不同性质的程序操作,使用流程线将各个图形连接起来,指示算法的执行过程。由于流程图的个图形连接起来,指示算法的执行过程。由于流程图的符号统一,且画法简单,结构清晰,逻辑

21、性强,便于理符号统一,且画法简单,结构清晰,逻辑性强,便于理解,因此成为描述程序流程的主要方法。下图中的图形解,因此成为描述程序流程的主要方法。下图中的图形是流程图中常用的一些标志。是流程图中常用的一些标志。联系方式:http:/北京源智天下科技有限公司2.2.程序流程图程序流程图联系方式:http:/北京源智天下科技有限公司2.2.程序流程图程序流程图在小节介绍三种基本程序结构时,已经接触了流程图的部分在小节介绍三种基本程序结构时,已经接触了流程图的部分图形。将小节中的直接排序算法使用流程图来表示,如图形。将小节中的直接排序算法使用流程图来表示,如下图所示。下图所示。联系方式:http:/北

22、京源智天下科技有限公司2.2.程序流程图程序流程图联系方式:http:/北京源智天下科技有限公司2.2.程序流程图程序流程图由于本书中的程序都较短小,而程序流程图描述小型程序时由于本书中的程序都较短小,而程序流程图描述小型程序时,能够发挥其简单灵活的优势,因此本书主要使用程序,能够发挥其简单灵活的优势,因此本书主要使用程序流程图来描述算法流程。流程图来描述算法流程。联系方式:http:/北京源智天下科技有限公司3 3N-SN-S流程图流程图由于程序流程图使用流程线的导向来引导程序流程。当程序由于程序流程图使用流程线的导向来引导程序流程。当程序流程较复杂时,框图中会常常有很多的流程线,导致逻流程

23、较复杂时,框图中会常常有很多的流程线,导致逻辑杂乱无章,失去了流程图简洁清晰的优点。后来,当辑杂乱无章,失去了流程图简洁清晰的优点。后来,当结构化程序设计方法日益流行后,两个美国学者和基于结构化程序设计方法日益流行后,两个美国学者和基于结构化思想提出了一种新的流程图形式,被称为结构化思想提出了一种新的流程图形式,被称为N-S流程流程图,图,N和和S是两个发明人名字的首字母。按照结构化设计是两个发明人名字的首字母。按照结构化设计的思想,所有的程序都可以分解成三种基本结构的组合的思想,所有的程序都可以分解成三种基本结构的组合。N-S流程图为三种基本结构设计了特殊的结构图,并以流程图为三种基本结构设

24、计了特殊的结构图,并以它们为基础来描述其余所有的算法。它们为基础来描述其余所有的算法。联系方式:http:/北京源智天下科技有限公司 下图为顺序结构的下图为顺序结构的N-S表示图。先执行操作表示图。先执行操作1,再执行操作,再执行操作2;操作;操作1的方框上方为结构入口,操作的方框上方为结构入口,操作2的方框下方为结的方框下方为结构出口。构出口。3 3N-SN-S流程图流程图联系方式:http:/北京源智天下科技有限公司3 3N-SN-S流程图流程图下图为双选择结构,省略其中之一即可得单选择结构。下图为双选择结构,省略其中之一即可得单选择结构。联系方式:http:/北京源智天下科技有限公司3

25、3N-SN-S流程图流程图下图中,左图为下图中,左图为while循环结构,右图为循环结构,右图为until循环结构。循环结构。联系方式:http:/北京源智天下科技有限公司3 3N-SN-S流程图流程图N-S使用这几种图形的组合便可以得到所有算法的使用这几种图形的组合便可以得到所有算法的N-S流程流程图。所以,在图。所以,在N-S流程图中去掉了程序流程图中眼花缭乱流程图中去掉了程序流程图中眼花缭乱的流程线,并将整个程序流程放在一个大方框内,使程的流程线,并将整个程序流程放在一个大方框内,使程序流程更清楚。下图是直接排序算法的序流程更清楚。下图是直接排序算法的N-S流程图。流程图。联系方式:ht

26、tp:/北京源智天下科技有限公司3 3N-SN-S流程图流程图联系方式:http:/北京源智天下科技有限公司1.4 1.4 综合练习综合练习1、使用伪码描述使用冒泡排序法将序列从小到大排序的算、使用伪码描述使用冒泡排序法将序列从小到大排序的算法,并画出其程序流程图或法,并画出其程序流程图或N-S流程图。流程图。【提示】冒泡排序的基本思想是,对尚未排序的各元素从头【提示】冒泡排序的基本思想是,对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素。经过第一轮比较排序后反),若逆序就交换这两元素。经过第一轮比

27、较排序后便可把最大(或最小)的元素排好,然后再用同样的方便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了要求的顺序。法把剩下的元素逐个进行比较,就得到了要求的顺序。联系方式:http:/北京源智天下科技有限公司1.4 1.4 综合练习综合练习算法的伪码描述如下:算法的伪码描述如下:算法开始:算法开始:设设i i值为值为N N1 1;当当i 0i 0 设设j j值为值为0 0;当当j i j arrayjarrayj arrayj11 交换第交换第j j个元素和第个元素和第j j1 1个元素;个元素;j j自增自增1 1;i i自减自减1 1;算法结束算法结束联系方式:http:/北京源智天下科技有限公司1.4 1.4 综合练习综合练习程序流程图如右图所示。程序流程图如右图所示。联系方式:http:/北京源智天下科技有限公司1.4 1.4 综合练习综合练习N-S流程图如右图所示。流程图如右图所示。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!