欢迎来到天天文库
浏览记录
ID:39613333
大小:521.50 KB
页数:44页
时间:2019-07-07
《程序的控制结构-分支循环举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序的控制结构教学目标(1)理解控制语句的作用和分类,掌握相关语句的使用方法;(2)了解使用伪代码或流程图描述算法的方法。2基本内容3.1基本控制结构3.2选择结构3.3循环结构33.1基本控制结构三大基本程序结构:顺序结构:程序是按程序语句或模块在执行流中的顺序逐个执行。选择结构:程序是按设定的条件实现程序执行流的多路分支。循环结构:程序是按给定的条件重复地执行指定的程序段或模块。结论:理论上已经证明,用以上三种基本程序结构的组合可以实现任何复杂的算法。4三大基本结构示意图顺序结构选择结构循环结构5模块(语句)A模块(语句)B条件
2、程序模块1成立不成立程序模块2条件程序模块不成立成立(当型循环)程序模块成立不成立条件(直到型循环)顺序结构的实现r=p;p=q;q=r;6例3-1交换两个变量的值#includeusingnamespacestd;intmain(){inta=1,b=2;inttmp;//定义一个整型变量作为中间交换之用cout<<"交换前:a="<3、言中实现选择结构的语句形式主要有两种:if语句switch语句81.if语句一路分支:if(表达式)语句序列两路分支:if(表达式)语句序列1else语句序列29条件?成立不成立语句序列条件?语句序列1成立不成立语句序列2语句序列可以是一个语句,也可以是用花括号括起来的复合语句结构例3-2:判断成绩是否及格#includeusingnamespacestd;intmain(){inti;cout<<"请输入(百分制)分数:";cin>>i;if(i>=60)cout<<"及格"<4、不及格"<#includeusingnamespacestd;intmain(){doublea,b,c,delta,p,q;cout<<"请输入系数a,b,c=";cin>>a>>b>>c;if((a==0)&&(b==0)&&(c==0))//最极端情况cout<<"方程的根可为任意值"<5、l;else//一般情况{delta=b*b-4*a*c;p=-b/(2*a);q=sqrt(fabs(delta))/(2*a);if(delta>=0)//实根情况cout<<"x1="<6、ase数值2:语句序列2;case数值3:语句序列3;...default:语句序列n;}12实现真正的多路选择在每一个case模块的最后加上一个break语句13例3.2百分制化为优秀、良好、中等、及格和不及格的五级制成绩算法分析:取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢?“百分成绩/10=”?共有5个分数档,选择分支大于2,因此用多路开关语句switch。计算结果应该是唯一的。转换后应从switch中break出来。14#includeusingnamespacestd;intmain(){7、intgrade;cout<<"请输入(百分制)分数:";cin>>grade;switch(grade/10)//根据转换值进行分支选择{case10:case9:cout<<"优秀"<8、while语句for语句16while语句9、do-while语句当型循环while(表达式){语句序列}直到型循环do{语句序列}while(表达式);17循环体循环体条件?语句序列成立不成立语句序列不成立成立条件?案例:谁打烂了玻璃
3、言中实现选择结构的语句形式主要有两种:if语句switch语句81.if语句一路分支:if(表达式)语句序列两路分支:if(表达式)语句序列1else语句序列29条件?成立不成立语句序列条件?语句序列1成立不成立语句序列2语句序列可以是一个语句,也可以是用花括号括起来的复合语句结构例3-2:判断成绩是否及格#includeusingnamespacestd;intmain(){inti;cout<<"请输入(百分制)分数:";cin>>i;if(i>=60)cout<<"及格"<4、不及格"<#includeusingnamespacestd;intmain(){doublea,b,c,delta,p,q;cout<<"请输入系数a,b,c=";cin>>a>>b>>c;if((a==0)&&(b==0)&&(c==0))//最极端情况cout<<"方程的根可为任意值"<5、l;else//一般情况{delta=b*b-4*a*c;p=-b/(2*a);q=sqrt(fabs(delta))/(2*a);if(delta>=0)//实根情况cout<<"x1="<6、ase数值2:语句序列2;case数值3:语句序列3;...default:语句序列n;}12实现真正的多路选择在每一个case模块的最后加上一个break语句13例3.2百分制化为优秀、良好、中等、及格和不及格的五级制成绩算法分析:取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢?“百分成绩/10=”?共有5个分数档,选择分支大于2,因此用多路开关语句switch。计算结果应该是唯一的。转换后应从switch中break出来。14#includeusingnamespacestd;intmain(){7、intgrade;cout<<"请输入(百分制)分数:";cin>>grade;switch(grade/10)//根据转换值进行分支选择{case10:case9:cout<<"优秀"<8、while语句for语句16while语句9、do-while语句当型循环while(表达式){语句序列}直到型循环do{语句序列}while(表达式);17循环体循环体条件?语句序列成立不成立语句序列不成立成立条件?案例:谁打烂了玻璃
4、不及格"<#includeusingnamespacestd;intmain(){doublea,b,c,delta,p,q;cout<<"请输入系数a,b,c=";cin>>a>>b>>c;if((a==0)&&(b==0)&&(c==0))//最极端情况cout<<"方程的根可为任意值"<5、l;else//一般情况{delta=b*b-4*a*c;p=-b/(2*a);q=sqrt(fabs(delta))/(2*a);if(delta>=0)//实根情况cout<<"x1="<6、ase数值2:语句序列2;case数值3:语句序列3;...default:语句序列n;}12实现真正的多路选择在每一个case模块的最后加上一个break语句13例3.2百分制化为优秀、良好、中等、及格和不及格的五级制成绩算法分析:取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢?“百分成绩/10=”?共有5个分数档,选择分支大于2,因此用多路开关语句switch。计算结果应该是唯一的。转换后应从switch中break出来。14#includeusingnamespacestd;intmain(){7、intgrade;cout<<"请输入(百分制)分数:";cin>>grade;switch(grade/10)//根据转换值进行分支选择{case10:case9:cout<<"优秀"<8、while语句for语句16while语句9、do-while语句当型循环while(表达式){语句序列}直到型循环do{语句序列}while(表达式);17循环体循环体条件?语句序列成立不成立语句序列不成立成立条件?案例:谁打烂了玻璃
5、l;else//一般情况{delta=b*b-4*a*c;p=-b/(2*a);q=sqrt(fabs(delta))/(2*a);if(delta>=0)//实根情况cout<<"x1="<
6、ase数值2:语句序列2;case数值3:语句序列3;...default:语句序列n;}12实现真正的多路选择在每一个case模块的最后加上一个break语句13例3.2百分制化为优秀、良好、中等、及格和不及格的五级制成绩算法分析:取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢?“百分成绩/10=”?共有5个分数档,选择分支大于2,因此用多路开关语句switch。计算结果应该是唯一的。转换后应从switch中break出来。14#includeusingnamespacestd;intmain(){
7、intgrade;cout<<"请输入(百分制)分数:";cin>>grade;switch(grade/10)//根据转换值进行分支选择{case10:case9:cout<<"优秀"<8、while语句for语句16while语句9、do-while语句当型循环while(表达式){语句序列}直到型循环do{语句序列}while(表达式);17循环体循环体条件?语句序列成立不成立语句序列不成立成立条件?案例:谁打烂了玻璃
8、while语句for语句16while语句
9、do-while语句当型循环while(表达式){语句序列}直到型循环do{语句序列}while(表达式);17循环体循环体条件?语句序列成立不成立语句序列不成立成立条件?案例:谁打烂了玻璃
此文档下载收益归作者所有