- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
董卫军;;;结构化程序设计;结构化程序设计的特点;任何简单或复杂的算法都可以由三种结构组成;设计出发点是:
问题的总体目标开始,逐级抽象低层的细节,先专心构造高层的结构,然后再一层一层地分解和细化。;模块是程序的基本构成单位,每个模块完成特定功能,模块间通过相互调用完成协作。;程序设计风格指的是编写程序时所表现出的特点、习惯和逻辑思路。
良好的程序设计风格概括起来包括4部分:源程序文档化、数据说明、语句结构、输入输出方法。;主要包括:标识符的命名、程序中添加注释以及程序的视觉组织。
标识符的命名:见名知意。
程序中添加注释:序言性注释(程序开头)、功能性注释(程序体中)。
程序的视觉组织:添加空格、空行、缩进等使程序层次清晰。;为了使数据说明易于理解和维护,应注意以下几点:
数据说明的次序应规范化。
说明语句中变量安排有序化。
使用注释说明复杂数据结构。;语句结构应力求简单、直接。
首先应考虑清晰性。应做到清晰第一,效率第二。
减少采用复杂的条件语句。
程序模块化,功能尽量单一,提高程序的复用性。
尽可能使用库函数编写程序,对于不良结构的程序,应重新编写。;输入输出与用户使用直接相关。
其方式和格式应尽可能方便用户使用。;;C程序由函数构成,函数由语句构成。
语句是一条完整的操作,通过语句完成一个基本的功能。
所有的语句都以分号结束。;最基本的语句。系统根据运算规则对其进行计算,最终得到一个唯一的结果。;函数调用语句;控制语句;复合语句;空语句;;顺序程序设计的概念;例1:输入三角形的三边长,求三角形的面积。
设输入的三边长a,b,c能构成三角形。;;例2:从键盘输入两个点的坐标,求其距离。;;例3:求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac0;;;选择结构是非常重要的控制结构,其通过判断特定条件是否满足来决定下一步的执行流程。;表达式;例1:输入任意输入一个整数,求其绝对值并输出。;;例2:输入三个整数,排序。;;;功能:根据表达式的取值,选择两段程序之一执行。;注意:
()可不可以省略;
表达式的类型不做限制。结果??非零值当真对待,零值当假对待。
若有多个语句可须复合语句{}
()不要加;,若加,则表示表达式为真时执行空语句。
else后不要加;,若加,则表示表达式为真时执行空语句。;应用举例;;例2:从键盘输入两个整数,若他们有倍数关系,输出最大值,若他们没有倍数关系,则输出两者的乘积。;;;单分支只有一个分支可供选择;
双分支有两个分支可供选择;
而实际中常常用到多分支选择。例如成绩分类(85分以上为A,70-85为B,60-69为C等。
若用if语句嵌套实现,会影响可读性。多分支switch语句可以直接处理多分支选择。;switch(表达式)
{case常量表达式1:语句序列1
case常量表达式2:语句序列2
case常量表达式3:语句序列3
?
case常量表达式n:语句序列n
default:语句序列n+1
};;注意:
case后面为可能的具体取值,不能是关系表达式。
根据需要在语句序列之后加break语句。
若需要继续执行下一个语句序列,则不加break;
若要跳出switch结构,则加break。
default为可选部分:都不满足时执行语句序列n+1。;;例:编写一个能进行两个操作数加减乘除四则运算的计数器模拟程序。;main()
{charop;floatx,y;
scanf(%f%c%f,x,op,y);
switch(op)
{case+:printf(=%f\n,x+y);break;
case-:printf(=%f\n,x-y);break;
case*:printf(=%f\n,x*y);break;
case/:if(y!=0.0)
printf(=%f\n,x/y);
else
printf(Divisoriszero\n);
break;
default:printf(“illegaloperator\n);
}
};;;应用举例;;例2:从键盘输入百分制成绩,求对应的成绩等级。等级规则如下:
90~100分为A,80~89分为B,70~79分为C,60~69分为D,60以下为E。;;;
文档评论(0)