- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3讲 第3章 顺序结构程序设计 3.1 程序设计概述 3.2 C语言语句 3.3 格式化输出函数printf() 3.4 格式化输入函数scanf() 3.5 单个字符的输入/输出函数 3.6 顺序程序设计举例 3.1 程序设计概述 3.1.1 算法的概念 简单地说,程序的功能就是进行数据加工。 程序通常包括两方面的内容: 对数据的描述 和 对加工的描述 对数据的描述称为“数据结构”,对加工的描述称为“算法” 广义地说,为解决某一个问题而采取的方法和步骤,就称为“算法”。在计算机科学中,算法是指描述用计算机解决给定问题的过程。 例如,计算1+2+3+…+1000的算法可表示为 例如,计算1+2+3+…+1000的算法可表示为 步骤1:0 ? s; 步骤2:1 ? i; 步骤3:s+i ? s; 步骤4:i+1 ? i; 步骤5:如果i≤1000,转到步骤3,否则结束。 在上面的算法中,符号s、i表示变量,符号“?”表示给变量赋值。 步骤1和步骤2表示给变量s和i赋初始值为0和1; 步骤3将变量i的当前值累加到变量s中; 步骤4使变量i在原值的基础上增加1; 步骤5判断i的值如果小于等于1000,重复做步骤3和步骤4,构成一个循环,而当i的值不小于等于1000时,循环结束,这时,变量s的值就是要求的计算结果。 3.1.2 算法的特征 通常,一个算法必须具备以下五个基本特征: (1) 有穷性。 一个算法必须在它所涉及的每一种情形下,都能在执行有限次的操作之后结束。 (2) 确定性。 算法的每一步,其顺序和内容都必须严格定义,而不能有任何的歧义。 (3) 有零个或多个输入。 输入是算法实施前需要从外界取得的信息,有些算法需要有多个输入,而有些算法不需要输入,即零个输入。 (4) 有一个或多个输出。 输出就是算法实施后得到的结果,显然,没有输出的算法是没有意义的。 (5) 可行性。 算法的每一步都必须是可行的,也就是说,是能够由计算机执行的。 3.1.3 算法的描述 1.用自然语言描述 自然语言就是人们日常使用的语言,前面的算法就是用自然语言表示的。 用自然语言表示算法,通俗易懂。但是,自然语言表示的含义往往不太严格,要根据上下文才能判断它的正确含义。另外,用自然语言描述分支和循环不很方便。 因此,除对简单的问题使用以外,一般不用自然语言描述算法。 2.用流程图描述 传统的流程图由图3-1所示的几种基本元素组成。 用流程图描述算法,形象直观,简单方便。 例如,前面的算法用流程图可表示为如图3-2所示。 3.用N-S流程图描述算法 传统的流程图用流程线和流程元素表示各个处理的执行顺序,但对流程线的使用没有严格的规定,因此,使用者可以不受限制地使流程转来转去,这样的流程图使人难以理解算法的逻辑。 为了解决这个问题,规定了算法的三种基本结构: 顺序结构 分支结构 循环结构 用这些基本结构按一定的规律组成一个算法,这样的算法称为结构化算法。按照结构化算法编写的程序称为结构化程序。 为了设计结构化算法,1973年,美国学者I.Nassi和B.Shneiderman提出一种新的流程图,称为N-S流程图。N-S流程图的基本符号如图3-3所示。 3.1.4 结构化程序设计方法 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 结构化程序设计的基本思路是: 把一个复杂问题的解决过程分阶段进行 每一个阶段处理的问题都控制在人们容易理解和处理的范围内 是在分析问题时采用“自顶向下,逐步细化”的方法 “自顶向下,逐步细化” 是对问题的解决过程逐步具体化的一种思想方法。 例如,要在一组数中找出其中的最大数,首先,可以把问题的解决过程描述为 (1) 输入一组数。 (2) 找出其中的最大数。 (3) 输出最大数。 以上三条中,第(1)、(3)两步比较简单,对第(2)步可以进一步细化: (1) 任取一数,假设它就是最大数。 (2) 将该数与其余各数逐一比较。 (3) 若发现有任何数大于假设的最大数,则取而代之。 再对以上过程进一步具体化,得到如下算法: (1) 输入一组数。 (2) 找出其中的最大数。 ① 令max=第一个数。 ② 将第二个数到最后一个数依次取出。 ③ 比较x与max的大小,如果xmax,则令max=x。 (3) 输出max。 “模块化设计”就是将比较复杂的任务,分解成若干个子任务 每个子任务又分解成若干个小子任务 每个小子任务只完成一项简单的功能 在程序设计时,用一个个小模块来实现这些功能,每个小模块对应一个相对独立的子程序。对程序设计人员来说,编写程序也就变得不再困难。 “结构化编码”指的是使用支持结构化方法的高级语言编写程序。 C语言就是一种支持结
您可能关注的文档
- 麦田主要杂草剖析.doc
- 麦芽甜田学前班家长会剖析.ppt
- 练习的重要性剖析.ppt
- 卖场管理系统剖析.ppt
- 练习对生物进行鉴别剖析.ppt
- 练习题第十三心功能不全剖析.doc
- 卖火柴的小女孩(窦桂梅)()剖析.ppt
- 练习题理化检验技术资格考试试题剖析.doc
- 炼厂加热炉设计与应用剖析.ppt
- 卖火柴的小女孩(窦桂梅)剖析.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 珠心算家长会(金)课件.ppt VIP
- 税法(第5版)课件 曹越 第1--5章 税法基本原理、增值税--- 企业所得税.pptx
- 手外科疾病诊断与治疗.pptx VIP
- 2021乒乓球比赛活动设计方案.docx VIP
- 医疗器械分类目录2002版.doc VIP
- JBT10216-2013电缆桥架标准将代替JBT10216-2000旧标准.docx VIP
- 非遗知识文化云肩知识介绍PPT课件.pptx VIP
- 人行地通专项施工方案.doc VIP
- 阳江核电厂疏浚(清淤)项目环境影响报告书.docx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
文档评论(0)