C语言程序设计-第1章-概述课件_第1页
C语言程序设计-第1章-概述课件_第2页
C语言程序设计-第1章-概述课件_第3页
C语言程序设计-第1章-概述课件_第4页
C语言程序设计-第1章-概述课件_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计技术基础程序设计技术基础第1章概述1.1计算机的工作机制1.2程序与程序设计1.3算法与算法描述1.4C语言2022/12/192第1章概述1.1计算机的工作机制2022/12/1621.1计算机的工作机制1.1.1硬件结构1.1.2软件系统1.1计算机的工作机制1.1计算机的工作机制1.1.1硬件结构冯·诺依曼计算机的硬件构成:控制器负责从内存中取指令并根据指令发出控制信号以引起其他部件的动作。运算器执行运算指令所规定的运算。寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果。内存储器(简称内存)用于存储计算机程序。外部设备(简称外设)提供了计算机与外界的接口,主要用于计算机的输入/输出以及为计算机提供大容量的信息存储(简称外存)。1.1计算机的工作机制1.1.1硬件结构C语言程序设计-第1章--概述课件1.1.2软件系统计算机软件是计算机系统中的程序以及相关文档。程序是对计算任务的处理对象(数据)与处理规则(算法)的描述;文档是为了便于人理解程序所需要的资料说明,供程序开发与维护使用。软件系统可以分为系统软件、支撑软件和应用软件。1.1.2软件系统1.2程序与程序设计1.2.1程序设计范型1.2.2程序设计语言1.2.3程序设计步骤1.2程序与程序设计1.2程序和程序设计程序:一组计算机能识别和执行的指令只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成1.2程序和程序设计程序:一组计算机能识别和执行的指令计算机程序具有如下性质:(1)目的性:程序有明确的目的,在运行时能正确完成赋予它的功能。(2)分步性:程序为完成其复杂的功能,由一系列计算机能执行的步骤组成。(3)有限性:程序中所包含的步骤是有限的。(4)有序性:程序的执行步骤是有序的,不能随意改变这些步骤的执行顺序。(5)操作性:程序是对某些对象的操作,完成其有意义的功能。计算机程序具有如下性质:1.2.1程序设计范型程序设计范型是计算机编程中的基本风格和典范模式,是编程者在其所创造的虚拟世界中自觉不自觉采用的世界观和方法论。典型的程序设计范型有过程式(面向过程)、对象式(面向对象)、函数式以及逻辑式等。1.2.1程序设计范型1.2.1程序设计范型1.过程式

过程式程序设计是一种以功能为中心、基于功能分解的程序设计范型。一个过程式程序由一些子程序构成,每个子程序对应一个子功能,它实现了功能抽象。子程序描述了一系列的操作,它是操作的封装体。NicklausWirth提出了如下的经典公式,刻画了过程式程序设计的本质特征。

程序=数据结构+算法1.2.1程序设计范型1.2.1程序设计范型2.对象式

对象式程序设计是一种以数据为中心、基于数据抽象的程序设计范型。对象式程序设计通常称为面向对象程序设计。一个面向对象的程序由一些对象构成,对象是由一些数据及可施加于这些数据上的操作所构成的封装体。

面向对象程序可简单地表示成下面的公式:

程序=对象/类+对象/类+…

对象/类=数据+操作1.2.1程序设计范型1.2.1程序设计范型3.函数式与逻辑式

函数式程序设计是围绕函数及函数应用来进行的,它基于递归函数理论和λ演算(λ演算即一套用于研究函数定义、函数应用和递归的形式系统),其中,函数也被作为值来看待。

逻辑式程序设计是把程序组织成一组事实和一组推理规则,它基于的是谓词演算。1.2.1程序设计范型1.2.2程序设计语言程序设计语言是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。简单地说:人和计算机交流信息的、计算机和人都能识别的语言。1.2.2程序设计语言计算机语言发展阶段:机器语言(由0和1组成的指令)汇编语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言

(非结构化的语言、结构化语言)面向对象的语言低级语言计算机语言发展阶段:低级语言程序翻译的方式:编译方式

事先编好的一个称为“编译程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,编译程序便把源程序整个翻译成机器指令表示的目标程序。然后执行该目标程序,得到计算结果。解释方式

事先编好的一个称为“解释程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,解释程序将源程序的每一条语句逐句翻译,逐句执行,即边解释边执行。程序翻译的方式:1.2.3程序设计步骤(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果(6)编写程序文档1.2.3程序设计步骤(1)问题分析对于接手的任务要进行认真的分析研究所给定的条件分析最后应达到的目标找出解决问题的规律选择解题的方法(1)问题分析(1)问题分析(2)设计算法设计出解题的方法和具体步骤(1)问题分析(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果结果错了,程序肯定错结果对了,程序未必对(1)问题分析1.3算法与算法描述

1.3.1算法概念1.3.2算法描述1.3.3结构化程序设计思想1.3算法与算法描述一个程序主要包括以下两方面的信息:(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式这就是数据结构(datastructure)(2)对操作的描述。即要求计算机进行操作的步骤也就是算法(algorithm)1.3算法与算法描述一个程序主要包括以下两方面的信息:1.3算法与算法描述数据是操作的对象操作的目的是对数据进行加工处理,以得到期望的结果著名计算机科学家沃思(NikiklausWirth)提出一个公式:

算法

+数据结构=程序数据是操作的对象一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序算法是解决“做什么”和“怎么做”的问题程序中的操作语句,是算法的体现不了解算法就谈不上程序设计算法是解决“做什么”和“怎么做”的问题1.3.1算法概念广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”对同一个问题,可以有不同的解题方法和步骤为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法1.3.1算法概念广义地说,为解决一个问题而采取的方法和步计算机算法可分为两大类别:数值运算算法非数值运算算法数值运算的目的是求数值解非数值运算包括的面十分广泛,最常见的是用于事务管理领域计算机算法可分为两大类别:一个有效算法应该具有以下特点:(1)

有穷性。一个算法应包含有限的操作步骤,而不能是无限的。(2)

确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。一个有效算法应该具有以下特点:一个有效算法应该具有以下特点:(3)

有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。(4)

有一个或多个输出。算法的目的是为了求解,“解”就是输出。没有输出的算法是没有意义的。(5)

有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。一个有效算法应该具有以下特点:1.3.2算法描述常用的方法有:自然语言流程图N-S图伪代码1.3.2算法描述常用的方法有:1.

自然语言用自然语言表示通俗易懂,但文字冗长,容易出现歧义性用自然语言描述包含分支和循环的算法,不很方便除了很简单的问题外,一般不用自然语言1.自然语言2.

流程图(1)标准图符2.流程图(1)标准图符流程图描述的三种基本结构

顺序结构AB流程图描述的三种基本结构AB流程图描述的三种基本结构

选择结构ABYpNAYpN流程图描述的三种基本结构ABYpNAYpN流程图描述的三种基本结构

循环结构①当型循环结构AYp1NYx<5N0x输出x的值x+1x输出1,2,3,4,5流程图描述的三种基本结构AYp1NYx<5N0x输出x的值流程图描述的三种基本结构

循环结构②直到型循环结构AYp2NYx≥5N0x输出x的值x+1x输出1,2,3,4,5流程图描述的三种基本结构AYp2NYx≥5N0x输出x的值以上三种基本结构,有以下共同特点:(1)只有一个入口(2)只有一个出口一个判断框有两个出口一个选择结构只有一个出口(3)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它(4)结构内不存在“死循环”以上三种基本结构,有以下共同特点:3.N-S图ABABYNpA当p1成立A直到p2成立顺序结构选择结构循环结构(当型)循环结构(直到型)3.N-S图ABABYNpA当p1成立A直到p2成立顺序结例如

求5!的算法用N-S图表示为:直到i>51t输出t2it*iti+1i例如求5!的算法用N-S图表示为:直到i>51t输出4.伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用4.伪代码伪代码是用介于自然语言和计算机语言之间的文字和符例如

求5!的算法用为代码表示为:begin(算法开始)1

t2iwhilei≤5{t*iti+1i}printtend(算法结束)例如求5!的算法用为代码表示为:1.3.3结构化程序设计思想结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。1.3.3结构化程序设计思想结构化程序设计强调程序设计风格结构化程序设计思想(1)结构化编码(2)结构化程序的特点(3)结构化程序的分析方法(4)模块化设计C语言程序设计-第1章--概述课件采取以下方法保证得到结构化的程序:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。采取以下方法保证得到结构化的程序:1.4C语言

1.4.1C语言的特点

1.4.2C程序的基本结构

1.4.3C程序的执行过程1.4C语言1.4C语言C语言是国际上广泛流行的计算机高级语言。C语言的发展:BCPL语言B语言C语言精练、接近硬件,但过于简单,无数据类型具有多种数据类型1.4C语言C语言是国际上广泛流行的计算机高级语言。BC最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(’83ANSIC)。1989年,ANSI公布了一个完整的C语言标准—ANSIX3.159-1989(常称ANSIC,或C89)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言1990年,国际标准化组织ISO(InternationalStandardOrganization)接受C89作为国际标准ISO/IEC9899:1990,它和ANSI的C89基本上是相同的。1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C++中的一些功能,命名为ISO/IEC9899:1999。1990年,国际标准化组织ISO(International2001、2004年先后进行了两次技术修正(TC1和TC2)。

ISO/IEC9899:1999(及其技术修正)被称为C99。C99是C89(及1995基准增补1)的扩充。C11是最新标准,该标准更好的支持汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一种用途广泛、功能强大、使用灵活的过程性(procedural)编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C语言问世以后得到迅速推广。2001、2004年先后进行了两次技术修正(TC1和TC2)(1)程序设计模块化。(2)函数方式操作。(3)数据类型多样化。(4)运算功能强。(5)存储类型丰富。(6)具有预处理能力。(7)程序简洁。1.4.1C语言的特点(1)程序设计模块化。1.4.1C语言的特点#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}函数的名字,表示主函数C程序必须有一个main函数1.4.2C程序的基本结构#include<stdio.h>函数的名字,表示主函数C#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

主函数类型#include<stdio.h>主函数类型#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

函数体#include<stdio.h>函数体#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

输出函数输出语句#include<stdio.h>输出函数输出语句#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

输出语句#include<stdio.h>输出语句#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

换行符#include<stdio.h>换行符#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

当main函数执行结束前,将整数0作为函数值#include<stdio.h>当main函数执行结束前#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

表示语句结束用到函数库中的输入输出函数时#include<stdio.h>表示语句结束用到函数库中C语言程序的结构特点:1.函数是C程序的基本单位一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个)每个函数都用来实现一个或几个特定功能被调用的函数可以是库函数,也可以是自己编制设计的函数C语言程序的结构特点:C语言程序的结构特点:2.函数由函数首部和函数体两部分组成:函数首部intmax(intx,inty)函数的第1行函数类型函数名参数类型参数名C语言程序的结构特点:函数的第1行函数类型函数名参数类型参数C语言程序的结构特点:2.函数由函数首部和函数体两部分组成:函数首部intmax(intx,inty)若函数无参,在括弧中写void或空括弧intmain(void)或intmain()C语言程序的结构特点:intmain(void)C语言程序的结构特点:2.函数由函数首部和函数体两部分组成:函数体声明部分定义在本函数中所用到的变量对本函数所调用函数进行声明执行部分:由若干个语句组成,指定在函数中所进行的操作可以没有声明部分C语言程序的结构特点:可以没有声明部分C语言程序的结构特点:2.函数由函数首部和函数体两部分组成:函数体voiddump(){}可以是空函数C语言程序的结构特点:可以是空函数C语言程序的书写格式与规则

(1)C程序中,每条语句和声明的最后,以分号为结束标志。(2)任何变量必须先定义类型,然后才能使用。(3)C语言程序一般都使用小写英文字母,x与X代表不同含义。(4)C语言程序的书写格式比较自由,允许一行、或多行书写。(5)C程序中,有两种形式的注释。C语言程序的书写格式与规则C语言允许用两种注释方式://:单行注释可单独占一行可出现在一行中其他内容的右侧/*……*/:块式注释可包含多行C语言允许用两种注释方式:1.4.3C程序的执行过程1.上机输入和编辑源程序(.c文件)2.对源程序进行编译(.obj文件)3.进行连接处理(.exe文件)4.运行可执行程序,得到运行结果1.4.3C程序的执行过程1.上机输入和编辑源程序(.编辑程序编译程序连接程序库函数源程序文件名.c目标程序文件名.obj可执行程序文件名.exe编译连接其他目标文件出错出错出错执行结果C编译系统编辑程序编译程序连接程序库函数源程序目标程序可执行程序编译连2022/12/1968

1.硬件结构、软件系统2.程序设计范型、程序设计语言、程序设计步骤3.算法及其特点、算法描述、结构化程序设计思想4.C语言特点、C程序基本结构、C程序执行过程本章小结注意本章节知识点!!2022/12/16681.硬件结构、软件系统2022/12/1969

通过对本章的学习,对C语言程序有了初步的认识,通过上机调试简单的C语言程序,体会学习C语言程序的快乐。

学习C语言最重要的是领会程序设计要旨,领会计算思维,掌握常用算法,多多编程,在不断地实践中培养和提高程序设计的能力。本章小结注意本章节知识点!!2022/12/1669通过对本章的学习,对

程序设计技术基础程序设计技术基础第1章概述1.1计算机的工作机制1.2程序与程序设计1.3算法与算法描述1.4C语言2022/12/1971第1章概述1.1计算机的工作机制2022/12/1621.1计算机的工作机制1.1.1硬件结构1.1.2软件系统1.1计算机的工作机制1.1计算机的工作机制1.1.1硬件结构冯·诺依曼计算机的硬件构成:控制器负责从内存中取指令并根据指令发出控制信号以引起其他部件的动作。运算器执行运算指令所规定的运算。寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果。内存储器(简称内存)用于存储计算机程序。外部设备(简称外设)提供了计算机与外界的接口,主要用于计算机的输入/输出以及为计算机提供大容量的信息存储(简称外存)。1.1计算机的工作机制1.1.1硬件结构C语言程序设计-第1章--概述课件1.1.2软件系统计算机软件是计算机系统中的程序以及相关文档。程序是对计算任务的处理对象(数据)与处理规则(算法)的描述;文档是为了便于人理解程序所需要的资料说明,供程序开发与维护使用。软件系统可以分为系统软件、支撑软件和应用软件。1.1.2软件系统1.2程序与程序设计1.2.1程序设计范型1.2.2程序设计语言1.2.3程序设计步骤1.2程序与程序设计1.2程序和程序设计程序:一组计算机能识别和执行的指令只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成1.2程序和程序设计程序:一组计算机能识别和执行的指令计算机程序具有如下性质:(1)目的性:程序有明确的目的,在运行时能正确完成赋予它的功能。(2)分步性:程序为完成其复杂的功能,由一系列计算机能执行的步骤组成。(3)有限性:程序中所包含的步骤是有限的。(4)有序性:程序的执行步骤是有序的,不能随意改变这些步骤的执行顺序。(5)操作性:程序是对某些对象的操作,完成其有意义的功能。计算机程序具有如下性质:1.2.1程序设计范型程序设计范型是计算机编程中的基本风格和典范模式,是编程者在其所创造的虚拟世界中自觉不自觉采用的世界观和方法论。典型的程序设计范型有过程式(面向过程)、对象式(面向对象)、函数式以及逻辑式等。1.2.1程序设计范型1.2.1程序设计范型1.过程式

过程式程序设计是一种以功能为中心、基于功能分解的程序设计范型。一个过程式程序由一些子程序构成,每个子程序对应一个子功能,它实现了功能抽象。子程序描述了一系列的操作,它是操作的封装体。NicklausWirth提出了如下的经典公式,刻画了过程式程序设计的本质特征。

程序=数据结构+算法1.2.1程序设计范型1.2.1程序设计范型2.对象式

对象式程序设计是一种以数据为中心、基于数据抽象的程序设计范型。对象式程序设计通常称为面向对象程序设计。一个面向对象的程序由一些对象构成,对象是由一些数据及可施加于这些数据上的操作所构成的封装体。

面向对象程序可简单地表示成下面的公式:

程序=对象/类+对象/类+…

对象/类=数据+操作1.2.1程序设计范型1.2.1程序设计范型3.函数式与逻辑式

函数式程序设计是围绕函数及函数应用来进行的,它基于递归函数理论和λ演算(λ演算即一套用于研究函数定义、函数应用和递归的形式系统),其中,函数也被作为值来看待。

逻辑式程序设计是把程序组织成一组事实和一组推理规则,它基于的是谓词演算。1.2.1程序设计范型1.2.2程序设计语言程序设计语言是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。简单地说:人和计算机交流信息的、计算机和人都能识别的语言。1.2.2程序设计语言计算机语言发展阶段:机器语言(由0和1组成的指令)汇编语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言

(非结构化的语言、结构化语言)面向对象的语言低级语言计算机语言发展阶段:低级语言程序翻译的方式:编译方式

事先编好的一个称为“编译程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,编译程序便把源程序整个翻译成机器指令表示的目标程序。然后执行该目标程序,得到计算结果。解释方式

事先编好的一个称为“解释程序”的程序,将其放在计算机中。当高级语言源程序输入到计算机中时,解释程序将源程序的每一条语句逐句翻译,逐句执行,即边解释边执行。程序翻译的方式:1.2.3程序设计步骤(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果(6)编写程序文档1.2.3程序设计步骤(1)问题分析对于接手的任务要进行认真的分析研究所给定的条件分析最后应达到的目标找出解决问题的规律选择解题的方法(1)问题分析(1)问题分析(2)设计算法设计出解题的方法和具体步骤(1)问题分析(1)问题分析(2)设计算法(3)编写程序(4)对源程序进行编辑、编译和连接(5)运行程序,分析结果结果错了,程序肯定错结果对了,程序未必对(1)问题分析1.3算法与算法描述

1.3.1算法概念1.3.2算法描述1.3.3结构化程序设计思想1.3算法与算法描述一个程序主要包括以下两方面的信息:(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式这就是数据结构(datastructure)(2)对操作的描述。即要求计算机进行操作的步骤也就是算法(algorithm)1.3算法与算法描述一个程序主要包括以下两方面的信息:1.3算法与算法描述数据是操作的对象操作的目的是对数据进行加工处理,以得到期望的结果著名计算机科学家沃思(NikiklausWirth)提出一个公式:

算法

+数据结构=程序数据是操作的对象一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序算法是解决“做什么”和“怎么做”的问题程序中的操作语句,是算法的体现不了解算法就谈不上程序设计算法是解决“做什么”和“怎么做”的问题1.3.1算法概念广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”对同一个问题,可以有不同的解题方法和步骤为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法1.3.1算法概念广义地说,为解决一个问题而采取的方法和步计算机算法可分为两大类别:数值运算算法非数值运算算法数值运算的目的是求数值解非数值运算包括的面十分广泛,最常见的是用于事务管理领域计算机算法可分为两大类别:一个有效算法应该具有以下特点:(1)

有穷性。一个算法应包含有限的操作步骤,而不能是无限的。(2)

确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。一个有效算法应该具有以下特点:一个有效算法应该具有以下特点:(3)

有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。(4)

有一个或多个输出。算法的目的是为了求解,“解”就是输出。没有输出的算法是没有意义的。(5)

有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。一个有效算法应该具有以下特点:1.3.2算法描述常用的方法有:自然语言流程图N-S图伪代码1.3.2算法描述常用的方法有:1.

自然语言用自然语言表示通俗易懂,但文字冗长,容易出现歧义性用自然语言描述包含分支和循环的算法,不很方便除了很简单的问题外,一般不用自然语言1.自然语言2.

流程图(1)标准图符2.流程图(1)标准图符流程图描述的三种基本结构

顺序结构AB流程图描述的三种基本结构AB流程图描述的三种基本结构

选择结构ABYpNAYpN流程图描述的三种基本结构ABYpNAYpN流程图描述的三种基本结构

循环结构①当型循环结构AYp1NYx<5N0x输出x的值x+1x输出1,2,3,4,5流程图描述的三种基本结构AYp1NYx<5N0x输出x的值流程图描述的三种基本结构

循环结构②直到型循环结构AYp2NYx≥5N0x输出x的值x+1x输出1,2,3,4,5流程图描述的三种基本结构AYp2NYx≥5N0x输出x的值以上三种基本结构,有以下共同特点:(1)只有一个入口(2)只有一个出口一个判断框有两个出口一个选择结构只有一个出口(3)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它(4)结构内不存在“死循环”以上三种基本结构,有以下共同特点:3.N-S图ABABYNpA当p1成立A直到p2成立顺序结构选择结构循环结构(当型)循环结构(直到型)3.N-S图ABABYNpA当p1成立A直到p2成立顺序结例如

求5!的算法用N-S图表示为:直到i>51t输出t2it*iti+1i例如求5!的算法用N-S图表示为:直到i>51t输出4.伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用4.伪代码伪代码是用介于自然语言和计算机语言之间的文字和符例如

求5!的算法用为代码表示为:begin(算法开始)1

t2iwhilei≤5{t*iti+1i}printtend(算法结束)例如求5!的算法用为代码表示为:1.3.3结构化程序设计思想结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。1.3.3结构化程序设计思想结构化程序设计强调程序设计风格结构化程序设计思想(1)结构化编码(2)结构化程序的特点(3)结构化程序的分析方法(4)模块化设计C语言程序设计-第1章--概述课件采取以下方法保证得到结构化的程序:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。采取以下方法保证得到结构化的程序:1.4C语言

1.4.1C语言的特点

1.4.2C程序的基本结构

1.4.3C程序的执行过程1.4C语言1.4C语言C语言是国际上广泛流行的计算机高级语言。C语言的发展:BCPL语言B语言C语言精练、接近硬件,但过于简单,无数据类型具有多种数据类型1.4C语言C语言是国际上广泛流行的计算机高级语言。BC最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(’83ANSIC)。1989年,ANSI公布了一个完整的C语言标准—ANSIX3.159-1989(常称ANSIC,或C89)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言1990年,国际标准化组织ISO(InternationalStandardOrganization)接受C89作为国际标准ISO/IEC9899:1990,它和ANSI的C89基本上是相同的。1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C++中的一些功能,命名为ISO/IEC9899:1999。1990年,国际标准化组织ISO(International2001、2004年先后进行了两次技术修正(TC1和TC2)。

ISO/IEC9899:1999(及其技术修正)被称为C99。C99是C89(及1995基准增补1)的扩充。C11是最新标准,该标准更好的支持汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一种用途广泛、功能强大、使用灵活的过程性(procedural)编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C语言问世以后得到迅速推广。2001、2004年先后进行了两次技术修正(TC1和TC2)(1)程序设计模块化。(2)函数方式操作。(3)数据类型多样化。(4)运算功能强。(5)存储类型丰富。(6)具有预处理能力。(7)程序简洁。1.4.1C语言的特点(1)程序设计模块化。1.4.1C语言的特点#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}函数的名字,表示主函数C程序必须有一个main函数1.4.2C程序的基本结构#include<stdio.h>函数的名字,表示主函数C#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

主函数类型#include<stdio.h>主函数类型#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

函数体#include<stdio.h>函数体#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

输出函数输出语句#include<stdio.h>输出函数输出语句#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

输出语句#include<stdio.h>输出语句#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

换行符#include<stdio.h>换行符#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;

温馨提示

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

评论

0/150

提交评论