网站大量收购闲置独家精品文档,联系QQ:2885784924

清华大学C语言谭浩强第3章.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章结构化程序设计 第3章 结构化程序设计 3.1结构化程序设计的思想及流程图 3.2结构化程序设计的三种基本结构 3.3 几种转移控制语句 3.4 C程序语句 3.5 C程序举例 3.1结构化程序设计的思想及流程图 3.1.1结构化程序设计思想 3.1.2流程图 3.1.1结构化程序设计思想 “结构化程序设计”设计思想的核心是“逐步求精”,即将可执行程序的编制分为若干步,第一步编制出的程序抽象程度最高,第二步编制出的程序抽象程度有所降低,……,最后一步编出的程序即为可执行程序。 结构化程序设计方法又称为“自顶向下”法或“逐步求精”法。 3.1.2流程图 流程图是用一些图框表示各种操作 。 美国国家标准化协会(ANSI)规定了一些常用的流程图符号(如图3-1所示),已为世界各国程序工作者普遍采用。 3.2结构化程序设计的三种基本结构 3.2.1顺序结构 3.2.2选择结构 3.2.3循环控制 3.2.4循环的嵌套 3.2.5几种循环的比较 3.2.1顺序结构 顺序结构是程序中的语句按照书写的顺序,自上而下地执行。如图3-2(a)所示,S1和S2是语句或语句序列,S1、S2依次被执行,但只有S1执行完时,S2才被执行。这种结构的特点是程序总是从第1条语句开始执行,依次执行完所有的语句后结束程序。因此顺序结构用来描述依次执行的操作运算。 ?例3.1?输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。 #includemath.h main() { char c1,c2,c3,c4; int x; scanf(%d,x); /* 输入一个三位的整数 */ c4=x=0?+:-; /* 将x的符号存入c4 */ x=abs(x); /* 求三位整数的绝对值 */ c3=x%10+48; /* x%10获得个位数字,加48后转换为对应的字符 */ x=x/10; /* 获得x的前两位 */ c2=x%10+48; /* x%10获得十位数字,加48后转换为对应的字符 */ c1=x/10+48; /* x/10获得百位数字,加48后转换为对应的字符 */ printf(%c\n%c\n%c\n%c\n,c4,c1,c2,c3); } 在运行时,从键盘输入: -345↙ 则输出为: - 3 4 5 接着从键盘输入: 678↙ 则输出为: + 6 7 8 ?例3.2?输入三角形的三边长,求三角形面积。 分析:只要给出三角形的三边a、b、c,即可根据公式area=s((s-a)(s-b)(s-c))1/2计算该三角形的面积,其中s=(a+b+c)/2。 #include math.h main() { float a,b,c,s,area; printf(please input three border of the triangle: ); scanf(%f,%f,%f,a,b,c); /*输入三角形的三条边*/ s=1.0/2*(a+b+c); /*求三角形三边和的一半*/ area=sqrt(s*(s-a)*(s-b)*(s-c)); /*计算三角形的面积*/ printf(a=%-7.2fb=%-7.2fc=%-7.2fs=%-7.2f\n,a,b,c,s); printf(area=%-7.2f\n,area); } 3.2.2 选择结构 选择结构有三种形式:单分支结构、双分支结构、多分支结构。 C语言中能够实现选择结构设计的语句有if语句和switch语句,其中switch语句可以用if语句来替代。 1.if语句 C语言提供了三种形式的if语句: 1)if单分支选择语句——if…语句。 2)双向分支语句——if…else…语句。 3)if多向分支语句——else if语句。 1)if单分支选择语句——if…语句 if…语句的语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 if…语句的流程图如图3-3所示。 ?例3.3?求两个数中的较大者并输出。 main() { int m,n,max; printf(\n input two numbers:); scanf(%d%d,m,n); /*输入两个整数*/ max=m; /*将m的值赋给max*/ if(maxn) max=n; /*求两个数中的较大者*/ printf(max=%d,max); /*输出较大的数*/ } 2)双向分支语句——if…else…语句

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档