- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学计算机c语言程序的控制结构
比较有趣的是,在面向对象编程中,评价一个程序好坏的标准之一就是看其有没有switch语句。一般认为,用得越少越好。当然在结构化程序设计中,switch是必不可少的。 第4章 程序的控制结构 (一) 内容提要 算法及其描述方法 顺序结构 选择结构 算法的概念 著名的计算机科学家沃思(N.Wirth)曾提出: 数据结构 + 算法 = 程序 即一个程序应由两部分组成: 数据的描述和组织形式,即数据结构(Data Structure) 对操作或行为的描述,即操作步骤,也称算法(Algorithm) 什么是算法? 指为解决一个具体问题而采取的确定的有限的操作步骤。 算法的特性 有穷性 在合理的时间内完成 确定性,无歧义 如果x≥0,则输出Yes;如果x≤0,则输出No; 有效性 能有效执行 没有输入或有多个输入 有一个或多个输出 算法的分类 数值运算算法: 解决求数值解问题 如用辗转相除法求两个数的最大公约数等 非数值运算算法: 需要用分析推理、逻辑推理才能解决的问题 例如人工智能中的许多问题,查找、分类等 算法的表示方法 自然语言表示(课本P77) 传统的流程图表示 在1966年,Bohra 与 Jacopini 提出 N-S结构化流程图表示 1973年,美国学者I.Nassi 和 B.Shneiderman 提出 伪代码表示(课本P79) 起止框 输入框 判断框 处理框 流程线 连接点 注释框 B A NS图 传统流程图 顺序结构 B A B N 如果 成绩60 那么 通知补考 否则 告知你考试成绩 A Y 条 件P A B N Y 条 件P 分支结构(选择结构) 当型循环 A 真 假 假 条 件P 循环结构 A 当P成立 直到型循环 条 件P A 假 真 循环结构 A 直到P为假 A 条 件P A 当型循环 直到型循环 真 假 假 条 件P 假 真 循环结构(当型循环和直到型循环的比较) 流程图 例如:计算6!的算法可以用流程图表示如下: 开始 x = 1 y = 2 x*y= y x + 1= x A A x ≤ 6 N B B 结束 传统流程图 打印 y Y N-S图 计算6!的算法可以用 N-S 图表示如下: 1 =〉x 2 =〉y x * y =〉y x + 1 =〉x 直到 x6 打印 y 初始化部分 循环部分 输出部分 if-else 选择结构的一种最常用形式 if (表达式){ 语句1;} else{ 语句2;} 表达式值非0时,执行语句1; 表达式值为0时,执行语句2; { 语句1;} { 语句2;} if-else else部分可以没有 if (表达式){ 语句1;} if-else嵌套使用时,注意else和谁配对的问题 当表达式值为0时,直接跳出if结构 { 语句1;} 例4.4 :年龄判断(使用if-else) #include stdio.h main() { int yourAge, hisAge; printf(Please enter your age:); scanf(%d, yourAge); /*输入你的年龄yourAge*/ printf(Please enter your friends age:); scanf(%d, hisAge); /*输入你朋友的年龄hisAge*/ if (yourAge = hisAge) { printf(You are older! Your age is = %d\n, yourAge); } else { printf(Your friend is older!His age is=%d\n,hisAge); } } 条件表达式 含义: 如果表达式1的值非0(为真),则该条件表达式的结果就是表达式2的值 否则,是表达式3的值 表达式3 N 表达式2 Y 表达式1 表达式1 ? 表达式2 : 表达式3 例4.4 :年龄判断(使用条件运算符) #include stdio.h main() { int yourAge, hisAge; printf(Please enter your age:); scanf(%d, yourAge); /*输入你的年龄yourAge*/ printf(Please enter your friends age:); scanf(%d, hisAge); /*输入你朋友的年龄hisAge*/ max = (yourAge = hisAge) ? yourAg
文档评论(0)