二级-C语言分支结构.ppt

二级-C语言分支结构.ppt

ID:56537883

大小:357.00 KB

页数:32页

时间:2020-06-27

二级-C语言分支结构.ppt_第1页
二级-C语言分支结构.ppt_第2页
二级-C语言分支结构.ppt_第3页
二级-C语言分支结构.ppt_第4页
二级-C语言分支结构.ppt_第5页
资源描述:

《二级-C语言分支结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章选择型程序设计1§4.1程序的灵魂——算法算法(algorithm):计算机求解某一问题而采用的具体方法、步骤。两大类计算机算法:数值运算算法、非数值运算算法(求数值解、成熟)(事务管理、广泛)算法特征:1.有穷性2.确定性3.输入4.输出5.有效性著名计算机科学家沃思(NikiklausWirth)公式:数据结构+算法=程序描述数据的类型、组织结构描述对数据的操作步骤算法的概念2(1)带序号的自然语言描述(易懂但不直观,不严格)(2)流程图:灵活、自由、形象、直观,可表示任何算法输入/输出处理判断开始/结

2、束连接符数据流(3)N-S图(盒图):完全去掉了带箭头的流程线,算法的所有处理步骤都写在一个大矩形框里(描述简单,符合结构化的思想)(4)伪代码:用介于自然语言和计算机语言之间的文字及符号来描述算法(方便、易懂、便于向计算机语言过渡)AAPAPPTFAB算法的表示B3例4-1求1×2×3×4×5分析:1×2=2;2×3=6;6×4=24;24×5=120设置p为被乘数,存放结果;i为乘数,存放每个数据;S1:使p=1;S2:使i=1;S3:p×i=>p;S4:i+1=>iS5:若i<=5,执行S3;否则算法结束。语言描

3、述:首先设置两个变量并对其初始化,其中p为结果变量,赋初值为1;i为数据变量,赋初值为1;计算p×i,将结果放入p中,p代表前i项连乘积;然后使i在原来基础上加1;对i进行判断,如果i<=5,则继续进行累乘运算,即返回S3,否则,停止。即算法结束。算法的自然语言描述4例4-2有50个学生,要求将他们之中成绩在80分以上者打印出来。分析:逐一将每个同学的成绩与80分进行比较,符合条件即打印。设:n表示学生学号,n1表示第一个学生学号;ni表示第i个学生学号;g表示学生成绩,g1表示第一个学生成绩,gi表示第i个学生成绩,

4、使用gi与80进行判断。S1:1=>i;S2:若gi>=80,则打印ni和gi,否则不打印;S3:i+1=>i;S4:若i<=50,执行S2;否则算法结束。算法的自然语言描述5流程图:灵活、自由、形象、直观,可表示任何算法输入/输出处理判断开始/结束连接符数据流算法的流程图描述32111236例4-3求1+2+3+4+5开始0=>p1=>nP+n=>pn+1=>nn<=5结束YNS1:使p=0;S2:使n=1;S3:使p=p+n;p为前面数据相加和;S4:使n的值加1;S5:如果n小于等于5,执行S3;否则算法结束。算

5、法的流程图描述7例4-4有50个学生,要求将他们之中成绩在80分以上者打印出来。S1:1=>i;S2:输入ni,gi;S2:若gi>=80,则打印ni和gi,否则不打印;S3:i+1=>i;S4:若i<=50,执行S2;否则算法结束。ni,gi为第i个学生的学号和成绩开始1=>i输入nigigi≥80打印ni,gii+1=>ii>50结束YNNY算法的流程图描述8N-S图(盒图):完全去掉了带箭头的流程线,算法的所有处理步骤,都写在一个大矩形框里AAPAPPTFABx>0y=2y=1成立不成立p+n=>pN=N+1当n

6、<=5时i+1=>i直到i>50时算法的N-S图描述B9伪代码:用介于自然语言和计算机语言之间的文字及符号来描述算法(方便、易懂、便于向计算机语言过渡)基本结构:begin初始化;执行语句1;……执行语句n;end可以写文字,也可以写简易代码算法的伪代码描述10§4.2C语言的语句C语句指令语句非指令语句流程控制语句表达式语句数据定义语句(inta;)编译预处理宏定义(#define)文件包含(#include)条件编译(#ifdef#else#endif)赋值语句(i=1;)函数调用语句(putchar(‘c’);)

7、逗号语句(++a,++b;)空语句(;)判断语句(if,switch)循环语句(for,while,do…while)转移控制语句(break;continue,return;goto)复合语句(由一对花括号括起来的一组语句,如:{inta;a=1;printf(“%d”,a);})11形式二:格式:if(expression){语句组1;}else{语句组2;}执行过程:if语句的三种形式形式一:格式:if(expression){语句组1;}执行过程:exprstatement非0=0例:if(x>y)printf

8、(“%d”,x);exprstatement1statement2非0=0例:if(x>y)max=x;elsemax=y;(1)if语句中的“表达式”必须用“(”和“)”括起来。(2)else子句是if语句的一部分,必须与if配对使用,不能单独使用。(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(

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

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

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