资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言程序设计,主讲人:郑岚,本课程的设置目的,专业设置的需要 C语言程序设计是计算机专业和非计算机专业的公共基础课程,同时,这门课程也是计算机等级考试二级考试的主要语种之一。 本课程的先行课程为计算机应用基础,是数据结构操作系统数学建模等课程的前导课程。 就业的需要,学习本课程的方法,上机实习,学习者,看书,听课,积累词汇,课程目标,熟记C语言的基本概念 熟悉Turbo C的上机操作环境 会读、会编、会调试程序,本课程的教学安排及成绩评定,教学安排: 理论课(1-16周):2节课/周 上机实践(1-16周) : 2节课/周 成绩评定: 期末考试成绩(60%) 平时成绩(30%+10%),本课程的主要内容,程序设计基础 C语言概述 数据类型、运算符及其表达式 结构化的C语言程序设计 数组 函数 指针 结构体与共用体 文件 编译预处理,第1章 程序设计基础,1.1 程序设计的基本概念,要让计算机按照人们的愿望工作,必须由人们事先编制好程序,并输入到计算机,让计算机执行程序才能产生相应的操作结果。,1.1.1 程序,从自然语言的角度来说,程序是对解决某个问题的方法步骤的描述;从计算机的角度来说,程序是用某种计算机能识别并可执行的计算机语言描述解决问题的方法步骤。 程序的特点是有始有终、每个步骤都能操作、所有步骤执行完对应问题要能得到解决。,1.1.1 程序,【例1.1】求解任一圆的面积,步骤如下: 第一步:输入圆的半径R 第二步:利用公式 S=3.14*R*R,求出圆的面积S 第三步:输出结果S 以上步骤就是求解任一圆面积的程序。,【例1.2】求1100的和 第一步:初始化变量S=0和计数器I=1 第二步:S=S+I I=I+1 第三步:判断计数器I的值有没有大于100,如 果没有,返回到第二步执行;否则执行第四步 第四步:输出结果S的值 以上步骤就是求1100的和程序。,1.1.2 算法与数据结构,1976年瑞士计算机科学家Niklaus Wirth在他的惊世之作中提出了一个著名的公式: 算法 + 数据结构 = 程序,Niklaus Wirth,描述对数据的操作步骤,描述数据类型、组织形式,1算法 程序设计的关键是解题的方法与步骤算法,它反映了计算机的执行过程,是对解决特定问题操作步骤的一种描述。 算法可分为两大类:数值运算算法和非数值运算算法。,1.1.2 算法与数据结构,求数值解,事务管理,1.1.2 算法与数据结构,【例1.3】累加求:1+3+5+99。 第一步:1+3 S(结果) 第二步:S+5 S(结果) 第三步:S+7 S(结果) 第五十步:S+99 S(结果),这样的算法虽然正确,但太繁琐。 改进的算法: 第一步:初始化变量S=0和计数器I=1 第二步:S=S+I I=I+2 第三步:判断计数器I的值有没有大于99,如果没有,返回到第二步执行;否则执行第四步 第四步:输出结果S的值,优秀算法的特性: 有穷性 确定性 有零个或多个输入 有一个或多个输出 有效性,2常用算法的表示方法 (1)用自然语言表示算法 用自然语言表示算法的优点是通俗易懂,但文字冗长,易产生歧义。除了很简单的问题,一般不用自然语言表示算法。,1.1.2 算法与数据结构,(2)用流程图表示算法 流程图是一种传统的算法表示法,它利用几何图形框来表示各种不同性质的操作,用流程线来指示算法的执行方向。用它表示算法,直观形象,易于理解。,1.1.2 算法与数据结构,(2)用流程图表示算法,1.1.2 算法与数据结构,起止框 输入输出框 判断框 处理框 流程线 连接点,图:几何图形框的含义,I99?,用流程图表示例1.3,一个流程图,包括以下几部分: 表示相应操作的框; 带箭头的流程线; 框内外必要的文字说明; 注意:画流程线时,不要忘记画箭头,因为它是反应流程的执行先后次序的,如不画出箭头就很难判断各框的执行次序了。,基本结构流程图,根据结构化程序设计的思想,任何一个程序都由顺序、循环、选择三种基本结构组成,其流程图结构如下所示。,顺序结构,虚框线内是一个顺序结构,其中A和B两个框是顺序执行的,即先执行A,再执行B。顺序结构是最简单的一种基本结构。,选择结构,选择结构又称分支结构。虚线框内是一个选择结构。注意,无论P条件是否成立,只能执行A框或B框之一,不可能两者都执行(如下左图)。其中,A或B两个框中可以有一个是空的,即不执行任何操作,如下右图所示。,循环结构,循环结构又称重复结构,即反复执行某一部分的操作。循环结构有两种类型。,a. 当(while)型循环结构。当型循环结构如右图所示。它的功能是:当给定的条件P成立时,执行A框操作,执行完A后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某次P条件不成立为止。此时不再执行A框,而是脱离循环结构。,循环结构,b. 直到(until)型循环结构。直到型循环结构如下图所示。它的功能是:先执行A框,然后判断给定的条件P是否成立,如果条件P不成立,则再执行A,然后再对条件P作判断,如条件P仍不成立,又执行A如此反复执行A,直到给定的条件P成立为止,此时不再执行A,而是脱离循环结构。,以上三种基本结构,具有以下的共同特点: 只有一个入口; 只有一个出口; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”。,1.2 程序设计的一般步骤,程序设计过程三个基本步骤: 分析问题 进行用户需求分析 、数据及处理分析 、可行性分析、 运行环境分析等。 确定算法 根据数学模型和设计方案 ,设计出可操作的具体步 骤,并以流程图的形式将算法清晰、直观地表示出来。 编程实现 选择某种计算机语言编写源程序。,1.3 结构化程序设计方法,结构化程序设计是由迪克斯特拉(E.W.dijkstra)在1969年提出的,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样的每一个模块,不会受到其它模块的牵连,因而可将原来较为复杂的问题简化为一系列简单模块的设计。,结构化程序设计的具体方法为: (1) 自顶向下 (2) 逐步细化 (3) 模块化设计 (4) 结构化编码,程序设计语言的主要构成,数据 提供用于加工的各种类型的初等数据项和数据结构 运算 为数据提供一组有效的基本运算 控制结构 为一系列被执行的基本运算提供控制运算顺序的结构 存储管理 静态、动态 运算环境 内部、外部,学习要点,熟记C语言的语法、句法 学会算法分析与算法设计,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号