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

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

ID:40644943

大小:983.60 KB

页数:89页

时间:2019-08-05

清华大学C语言谭浩强第3章_第1页
清华大学C语言谭浩强第3章_第2页
清华大学C语言谭浩强第3章_第3页
清华大学C语言谭浩强第3章_第4页
清华大学C语言谭浩强第3章_第5页
资源描述:

《清华大学C语言谭浩强第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章结构化程序设计第3章结构化程序设计3.1结构化程序设计的思想及流程图3.2结构化程序设计的三种基本结构3.3几种转移控制语句3.4C程序语句3.5C程序举例3.1结构化程序设计的思想及流程图3.1.1结构化程序设计思想3.1.2流程图3.1.1结构化程序设计思想“结构化程序设计”设计思想的核心是“逐步求精”,即将可执行程序的编制分为若干步,第一步编制出的程序抽象程度最高,第二步编制出的程序抽象程度有所降低,……,最后一步编出的程序即为可执行程序。结构化程序设计方法又称为“自顶向下”法或“逐步求精”法。3.1.2流程图流程图是用一些

2、图框表示各种操作。美国国家标准化协会(ANSI)规定了一些常用的流程图符号(如图3-1所示),已为世界各国程序工作者普遍采用。(d)执行框(b)输入输出框(c)判断框(a)起止框(e)连接点(f)流程线图3-1ANSI规定的一些常用的流程图符号3.2结构化程序设计的三种基本结构3.2.1顺序结构3.2.2选择结构3.2.3循环控制3.2.4循环的嵌套3.2.5几种循环的比较(a)顺序结构S1S2S1S2条件条件S1图3-2结构化程序设计的三种基本控制结构(b)选择结构(c)循环结构顺序结构、选择结构、循环结构三种基本结构的示意如图3-2

3、所示。3.2.1顺序结构顺序结构是程序中的语句按照书写的顺序,自上而下地执行。如图3-2(a)所示,S1和S2是语句或语句序列,S1、S2依次被执行,但只有S1执行完时,S2才被执行。这种结构的特点是程序总是从第1条语句开始执行,依次执行完所有的语句后结束程序。因此顺序结构用来描述依次执行的操作运算。例3.1输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。#includemain(){charc1,c2,c3,c4;intx;scanf("%d",&x);/*输入一个三位的整数*/c4=x>=0?'

4、+':'-';/*将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%c%c%c",c4,c1,c2,c3);}在运行时,从键盘输入:-345↙则输出为:-345接着从键盘输入:678↙则输出为:+678例3.2输入三角形

5、的三边长,求三角形面积。分析:只要给出三角形的三边a、b、c,即可根据公式area=s((s-a)(s-b)(s-c))1/2计算该三角形的面积,其中s=(a+b+c)/2。#includemain(){floata,b,c,s,area;printf("pleaseinputthreeborderofthetriangle:");scanf("%f,%f,%f",&a,&b,&c);/*输入三角形的三条边*/s=1.0/2*(a+b+c);/*求三角形三边和的一半*/area=sqrt(s*(s-a)*(s-b)*(s

6、-c));/*计算三角形的面积*/printf("a=%-7.2fb=%-7.2fc=%-7.2fs=%-7.2f",a,b,c,s);printf("area=%-7.2f",area);}该程序的运行结果如下:pleaseinputtrigonofthreeborder:3,4,5↙a=3.00b=4.00c=5.00s=6.00area=6.003.2.2选择结构选择结构有三种形式:单分支结构、双分支结构、多分支结构。C语言中能够实现选择结构设计的语句有if语句和switch语句,其中switch语句可以用if语句来替代。

7、下面是一个最常用的双分支的例子:if(m<0)n=-1;elsen=1;上述程序段表示:如果m小于0,则n等于-1,否则n等于1。1.if语句C语言提供了三种形式的if语句:1)if单分支选择语句——if…语句。2)双向分支语句——if…else…语句。3)if多向分支语句——elseif语句。1)if单分支选择语句——if…语句if…语句的语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。if…语句的流程图如图3-3所示。假(0)真(非0)if语句序列表达式图3-3if…语句的流程图if…语句的功能是:首先计算<表达式>

8、的值,当<表达式>的值为真(非0)时,执行<语句序列>;否则,表达式值为假(0),执行后面的命令。例3.3求两个数中的较大者并输出。main(){intm,n,max;printf("inputtw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。