C第1章教学zp.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第1章教学zp.doc

C语言程序设计 学习目的: 程序设计是计算机及其相关专业学生必备的技能之一。 通过本课程的学习,不仅要使学生掌握用C语言进行编程的基本方法和技能,同时还要培养学生进行面向过程程序设计的抽象逻辑思维能力和良好的程序设计风格。 学习方法和特点 从三个方面进行技能培养的要求:掌握基本知识;大量阅读实例;编写程序实践。 注重实例的阅读和理解; 注重实践课的学习; 注重自学能力的培养(提倡:以学为主,以教为辅)。 学习要求 做好理论课前、课后的预习和复习 做好实习课前、课后的准备和总结 访问学习网站: / /learnc.htm / 等 4.阅读参考书籍: C语言程序设计 谭浩强 C程序设计实践 (美)H.M.Deitel等著C++程序设计教程 (美)H.M.DEITEL等著 对数据的描述,即数据结构。 2. 对数据处理的描述,即计算机算法。 算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思(Nikiklaus Wirth)提出一个经典公式: 数据结构 + 算法 = 程序 二、算法与数据结构(p1) 算法反映了计算机的执行过程,是对解决特定问题的操作步骤的一种描述。数据结构是对参与运算的数据及他们之间的关系的描述。 1.算法 案例1.1 输入三个数,求其最大值。 问题分析: 设num1,num2,num3存放3个数,max存放其最大值。为求其最大值,就必须对3个数进行比较,可按如下步骤去做: ①输入3个数num1,num2,num3; ②先把第一个数num1的值赋给max; ③将第2个数num2与max比较,如果num2>max,则把第2个数num2的值赋给max(否则不做任何工作) ④将第3个数num3与max比较,如果num3>max,则把第3个数num3的值赋给max(否则不做任何工作) ⑤输出max的值,即最大值。 从案例1.1 中可以看出,首先分析问题,然后寻找一种实现这个问题所要完成功能的方法,这种方法的具体化就称为算法。因此可以说:算法是由一套明确的规则组成的一些步骤,他指定了操作顺序并通过有限个步骤将问题解决、得出结果。 一个算法应具有以下5个特性:(p2) (1)有穷性 一个算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。 (2)确定性 算法中的每一步都必须有明确的含义,不允许存在二义性。 (3)有效性 算法中描述的每一步操作都应该能有效地执行,并最终得到确定的结果。 (4)输入 一个算法有零个或多个输入数据。 例如:计算1~10的累计和的算法,是无须输入数据,而对于10个数据进行排序的算法,却需要从键盘上输入这10个数据。 (5)输出 一个算法有1个或多个输出数据。 2.算法的表示方法 算法的表示方法很多,常见的有:自然语言、传统流程图、N-S结构图、伪代码、PAD图等。 (1)用自然语言表示 自然语言就是人们日常使用的语言,可以是中文、英文等。用自然语言表示的算法通俗易懂,但一般篇幅冗长,表达上往往不易准确,容易引起理解上的“歧义性”。所以,一般用于算法较简单的情况。 (2)用传统流程图表示 传统流程图是用规定的一组符号、流程线和文字说明来表示各种操作算法的表示方法。传统流程图常用的符号如图1.1所示(P3) 案例1.2 用传统流程图描述案例1.1的算法如下图所示。 (3)用N-S结构图表示 N-S结构图的目标是开发一种不破坏结构化基本构成元素的过程设计表示。其主要特点是:完全取消了流程线,不允许有随意的控制流,全部算法写在一个矩形框内,该矩形框以三种基本结构(顺序、分支、循环)描述符号为基础符合而成。 N-S结构图表示的种基本结构如下: ①顺序结构(P5) 顺序结构是最简单的基本结构。在顺序结构中,要求顺序地执行且必须执行由先后顺序排列的每一个最基本的处理单位。如下图所示:(P5图1.2) 先执行处理A,然后再顺序执行处理B。 ②分支结构(选择结构)(P5) 在分支结构中,要根据逻辑条件的成立与否,分别选择执行不同的处理。如下图所示(P54图1.3) 当逻辑条件成立时,执行A,否则执行处理B。 ③循环结构 循环结构一般分为当型循环和直到型循环。 (A)当型循环。在当型循环结构中,当逻辑条件成立时,就反复执行处理A(称为循环体),直到逻辑条件不成立时结束,如下图所示: (B)直到型循环 在直到型循环结构中,当反复执行处理A,直到逻辑条件成立时结束(即逻辑条件不成立时继续执行),如下图所示: 案例1.3 用N-S结构图描述案例1.1 求三个数中最大值的算法。 (4)用伪代码表示 伪代码是一种介于自然语言和计算机语言之间的文字和符号来描述算法。伪代码的表现形式比较灵活自由,没有严谨的语法格式。 案例1.4用

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档