您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > C 大学基础教程第三章解析
2020/1/18北京科技大学计算机系-1-C++大学基础教程第3章过程化语句北京科技大学计算机系2020/1/18北京科技大学计算机系-2-用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。2020/1/18北京科技大学计算机系-3-第3章过程化语句3.1算法的基本控制结构3.2if选择语句3.3switch选择语句3.4循环语句3.5循环嵌套3.6应用举例2020/1/18北京科技大学计算机系-4-3.1算法的基本控制结构2020/1/18北京科技大学计算机系-5-3.1算法的基本控制结构算法1、计算机执行的操作2、这些操作的顺序伪码采用类似计算机语言的分句格式,以自然语言描述算法。2020/1/18北京科技大学计算机系-6-3.1算法的基本控制结构流程图开始/结束执行判断联系2020/1/18北京科技大学计算机系-7-3.1算法的基本控制结构程序的三种基本控制结构(1)顺序结构(2)选择结构(3)循环结构2020/1/18北京科技大学计算机系-8-3.1算法的基本控制结构流程控制语句选择语句:if..else、switch循环语句:while、for、do..while转向语句:break、continue2020/1/18北京科技大学计算机系-9-3.2if选择语句2020/1/18北京科技大学计算机系-10-3.2if选择语句if_else1、没有else分支2、双分支3、多分支4、if语句的嵌套2020/1/18北京科技大学计算机系-11-3.2if选择语句1、没有else分支例如:比较x和y的大小,如果x大则输出x的值if(表达式)语句;if(xy)coutxendl;2020/1/18北京科技大学计算机系-12-3.2if选择语句2、双分支例如:比较x,y的大小,将较大的数输出if(表达式)语句1;else语句2;if(xy)coutxendl;elsecoutyendl;2020/1/18北京科技大学计算机系-13-例子任意输入一个4位整数的年份,判断该年是否是润年?是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2020/1/18北京科技大学计算机系-14-#includeiostreamusingnamespacestd;voidmain(){intyear;cinyear;if((year%4==0)&&!((year%100==0)&&(year%400!=0)))cout润年endl;elsecout不是润年endl;}2020/1/18北京科技大学计算机系-15-3.2if选择语句3、多分支if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;…else语句n;2020/1/18北京科技大学计算机系-16-2020/1/18北京科技大学计算机系-17-例子:输出学生的成绩#includeiostreamusingnamespacestd;voidmain(){intx;cinx;if(x=90)cout“优秀”endl;elseif(x=80)cout“良好”endl;elseif(x=60)cout“合格”endl;elsecout“不及格”endl;}2020/1/18北京科技大学计算机系-18-3.2if选择语句4、if语句的嵌套if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句42020/1/18北京科技大学计算机系-19-2020/1/18北京科技大学计算机系-20-例子:输出a,b,c中较大的数#includeiostreamusingnamespacestd;voidmain(){inta,b,c;cinabc;if(ab){if(ac)coutaendl;elsecoutcendl;}else{if(bc)coutbendl;elsecoutcendl;}}cout(ab?(ac?a:c):(bc?b:c));2020/1/18北京科技大学计算机系-21-3.2if选择语句注意:二义性intx=-1;if(x0)if(x50)cout“xis50”endl;elsecout“xis=0”endl;if和else的对应关系,else总是与离它最近的if匹配。{}2020/1/18北京科技大学计算机系-22-3.3switch选择语句2020/1/18北京科技大学计算机系-23-3.3switch选择语句switch(表达式){case常量表达式1:语句1break;case常量表达式2:语句2break;┇case常量表达式n:语句nbreak;default:语句n+1}跳出switch语句2020/1/18北京科技大学计算机系-24-2020/1/18北京科技大学计算机系-25-例子:输出学生的成绩intx;cinx;switch(x/10){case10:case9:cout“优秀”endl;break;case8:cout“良好”endl;break;case7:case6:cout“合格”endl;break;default:cout“不及格”endl;}2020/1/18北京科技大学计算机系-26-3.4循环语句2020/1/18北京科技大学计算机系-27-3.4循环语句三种基本语法1、while语句2、do…while语句3、for语句2020/1/18北京科技大学计算机系-28-#includeiostream#includeiomanipusingnamespacestd;voidmain(){coutsetfill('*')setw(2)'\n'setw(3)'\n'setw(4)'\n'setw(5)'\n'setw(6)'\n'setw(7)'\n'setw(8)'\n';}****************************2020/1/18北京科技大学计算机系-29-思路:寻找*按行增加的规律域宽i——从2变到8,第一行打印1个*,第二行打印2个*,------。每增加一行,打印的*增加一个。考虑设置一个变量i表示域宽,每增加一行使i增1,直到i的值超过8。i的初值设为2。2020/1/18北京科技大学计算机系-30-#includeiostream#includeiomanipusingnamespacestd;voidmain(){inti=2;coutsetfill('*');while(i=8){coutsetw(i)'\n';i++;}}****************************循环变量循环体循环控制条件2020/1/18北京科技大学计算机系-31-3.4循环语句主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。2020/1/18北京科技大学计算机系-32-3.4循环语句while循环语句while(表达式)循环体语句;2020/1/18北京科技大学计算机系-33-例1:编程循环输出1-9这9个数字?#includeiostreamusingnamespacestd;voidmain(){inti=1;while(i9){coutiendl;i++;}cout“循环结束”endl;}运行结果:123456789循环结束2020/1/18北京科技大学计算机系-34-例2:编程计算1+2+3+….+10的值#includeiostreamusingnamespacestd;voidmain(){intsum=0,i=0;while(i=10){sum+=i;i++;}coutsumendl;}55思考程序段的输出?……while(i=10){i++;sum=sum+i;}2020/1/18北京科技大学计算机系-35-例3:打印可视字符#includeiostreamusingnamespacestd;voidmain(){unsignedcharch=32;while(ch128){cout(int)ch'\t'ch'\t';ch++;}}2020/1/18北京科技大学计算机系-36-例4:编程计算的值#includeiostreamusingnamespacestd;voidmain(){intk=1,sum=0,n;coutinputn(n0):;cinn;while(k=n){sum=sum+k*k;k++;}if(n0)coutsum/nendl;elsecoutn不能=0endl;}2020/1/18北京科技大学计算机系-37-3.4循环语句do..while循环语句do{循环体语句;}while(表达式);2020/1/18北京科技大学计算机系-38-#includeiostream#includeiomanipusingnamespacestd;voidmain(){inti=2;coutsetfill('*');while(i=8){coutsetw(i)'\n';i++;}}****************************do{coutsetw(i)'\n';i++;}while(i=8);2020/1/18北京科技大学计算机系-39-例子:编程计算的值#includeiostreamusingnamespacestd;voidmain(){intk=1,sum=0,n;coutinputn(n0):;cinn;while(k=n){sum=sum+k*k;k++;}if(n0)coutsum/nendl;elsecoutn不能=0endl;}do{sum=sum+k*k;k++;}while(k=n);2020/1/18北京科技大学计算机系-40-3.4循环语句for循环语句循环结构1、表达式1循环变量初始化;2、表达式2循环控制条件;3、表达式3循环变量的变化;for(表达式1;表达式2;表达式3)循环体;2020/1/18北京科技大学计算机系-41-例1:编程循环输出1-9这9个数字?#includeiostreamusingnamespacestd;voidmain(){for(inti=1;i10;i++)coutiendl;cout“循环结束”endl;}运行结果:123456789循环结束2020/1/18北京科技大学计算机系-42-例2:编程计算1+2+3+….+10的值#includeiostream.usingnamespcestd;voidmain(){intsum=0;for(inti=1;i=10;i++)sum+=i;coutsumendl;}运行结果:552020/1/18北京科技大学计算机系-43-#includeiostream#includeiomanipusingnamespacestd;voidmain(){coutsetfill('*');}****************************例3for(inti=2;i=8;i++)coutsetw(i)'\n';2020/1/18北京科技大学计算机系-44-3.4循环语句——for语句1、表达式1可以省略for(inti=1;i=9;i++)循环体;inti=1;for(;i=9;i++)循环体;2020/1/18北京科技大学计算机
本文标题:C 大学基础教程第三章解析
链接地址:https://www.777doc.com/doc-3152565 .html