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