c面向对象程序设计第三章.ppt

上传人:sccc 文档编号:5334747 上传时间:2023-06-27 格式:PPT 页数:100 大小:878.01KB
返回 下载 相关 举报
c面向对象程序设计第三章.ppt_第1页
第1页 / 共100页
c面向对象程序设计第三章.ppt_第2页
第2页 / 共100页
c面向对象程序设计第三章.ppt_第3页
第3页 / 共100页
c面向对象程序设计第三章.ppt_第4页
第4页 / 共100页
c面向对象程序设计第三章.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《c面向对象程序设计第三章.ppt》由会员分享,可在线阅读,更多相关《c面向对象程序设计第三章.ppt(100页珍藏版)》请在三一办公上搜索。

1、2023/6/27,北京科技大学计算机系,-1-,C+大学基础教程,第3章 C+控制语句北京科技大学计算机系,2023/6/27,北京科技大学计算机系,-2-,用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。,2023/6/27,北京科技大学计算机系,-3-,第3章 过程化语句,3.0 算法的基本控制结构:算法,基本控制结构,基本控制语句3.1 顺序结构程序设计3.2 if选择语句 语句格式,IF嵌套,考点说明3.3 switch选择语句 语句格式和执行顺序,例子,考点说明3.4 循环语句 使用场合,基本概念,格式 转向语句3.5 循环嵌套 国际象棋,例23.6 应用举

2、例 素数,按位翻转,小球落地(不要求),小牛家族,最大公约数,阶乘 课堂练习,总结和作业,2023/6/27,北京科技大学计算机系,-4-,算法,什么是算法为解决某一应用问题而采用的解题步骤算法 1、计算机执行的操作 2、这些操作的顺序,2023/6/27,北京科技大学计算机系,-5-,算法,算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法,例如:输出两个数中的最大数,2023/6/27,北京科技大学计算机系,-6-,用自然语言描述算法,第一步:输入x和y的值第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。,易于理解,但冗长,不够精确,难于描述复

3、杂算法。,例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解,2023/6/27,北京科技大学计算机系,-7-,用流程图描述算法,用流程图描述算法,起止框,输入/输出框,判断框,处理框,流程线,2023/6/27,北京科技大学计算机系,-8-,3.1 算法的基本控制结构,流程图 开始/结束 执行 判断 联系,2023/6/27,北京科技大学计算机系,-9-,用N-S结构图描述算法,用N-S结构图描述的算法,2023/6/27,北京科技大学计算机系,-10-,3.1 算法的基本控制结构,程序的三种基本控制结构 小结(1)顺序结构(2)选择结构(3)循环结构,已经证明,任何复杂的问题都可

4、以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。,2023/6/27,北京科技大学计算机系,-11-,顺序结构流程图,A,B,A,B可以是一条语句,也可以是一条复合语句,,C+中默认的语句执行次序为:顺序执行。,2023/6/27,北京科技大学计算机系,-12-,分支结构流程图,2023/6/27,北京科技大学计算机系,-13-,循环结构流程图,2023/6/27,北京科技大学计算机系,-14-,总结以上三种结构有以下的共同特点:)只有一个入口。)只有一个出口。)结构内的每一个部分都有机会被执行到)结构内不存在死循环。,2023/6/27,北京科技大学

5、计算机系,-15-,3.1 算法的基本控制结构,流程控制语句 选择语句:if.else、switch 选择结构 循环语句:while、for、do.while 循环结构 转向语句:break、continue,2023/6/27,北京科技大学计算机系,-16-,顺序结构程序是按照语句的先后顺序依次执行。一般而言,顺序结构的算法中应包括几个基本操作步骤。各操作步骤的逻辑顺序关系如图3-1所示。,图3-1 顺序程序的一般算法,2023/6/27,北京科技大学计算机系,-17-,【例3-2】数据交换。从键盘输入x、y的值,输出交换以后的值。,#include using namespace std;

6、int main()int x,y,c;cout xy;cout nbefore exchange:x=x y=yendl;c=x;x=y;y=c;cout nafter exchange:x=x y=yendl;return 0;,2023/6/27,北京科技大学计算机系,-18-,1.简单分支(无else分支)if(表达式)语句例:if(xy)coutb)c=a;a=b;b=c;2.双分支 if(表达式)语句1 else 语句2例:if(a=b)couta;else coutb;3.多分支 if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else

7、 语句 n,if 语句 三种形式,1条内嵌语句,表达式是逻辑表达式,例子:闰年,2023/6/27,北京科技大学计算机系,-19-,例子,任意输入一个4位整数的年份,判断该年是否是闰年?,闰年的条件:能够被4整除,但不能被100整除的年份 能够被4整除,同时也能被400整除的年份,是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年,if(year%4=0&year%100!=0)|(year%400=0),if(year%4=0)&!(year%100=0)&(year%400!=0),2023/6/27,北京科技大学计算机系,-20-,#include using na

8、mespace std;void main()int year;cinyear;if(year%4=0,2023/6/27,北京科技大学计算机系,-21-,2023/6/27,北京科技大学计算机系,-22-,例子:输出学生的成绩,#include using namespace std;void main()int x;cinx;if(x=90)cout=80)cout=60)cout“合格”endl;else cout“不及格”endl;,2023/6/27,北京科技大学计算机系,-23-,3.2 if选择语句,4、if 语句的嵌套,if(表达式1)if(表达式2)语句1 else 语句2e

9、lse if(表达式3)语句3 else 语句4,2023/6/27,北京科技大学计算机系,-24-,2023/6/27,北京科技大学计算机系,-25-,例子:输出a,b,c中最大的数,#include using namespace std;void main()int a,b,c;cinabc;if(ab)if(bc)coutcendl;else coutbendl;else if(ac)coutcendl;else coutaendl;,cout(ab?(bc?c:b):(ac?c:a);,演示,2023/6/27,北京科技大学计算机系,-26-,1.内嵌语句只能是一条语句。eg.a,b

10、,c的值分别为1,2,3 if(a+b)c=a;a=b;b=c;c=3;a=2;b=3;,考点注意:,c=3;a=2;b=2;,2023/6/27,北京科技大学计算机系,-27-,2.条件表达式是逻辑值,但可以使用任何类型的表达式,结果非0为真,结果0为假。思考执行下面语句后,变量b的值是多少?a=10;b=30;if(a=0)b=15;else b=20;if(a=1)b=15;else b=20;if(a=1)b=15;else b=20;注意:赋值表达式 a=1与关系表达式 a=1 的区别。表达式的值为0时语句的执行情况。,注意:,2023/6/27,北京科技大学计算机系,-28-,3.

11、2 if选择语句,3 注意:二义性(出现嵌套)int x=-1;if(x0)if(x50)cout“x is 50”endl;else cout“x is=0”endl;,if和else的对应关系,else总是与离它最近的if匹配。,2023/6/27,北京科技大学计算机系,-29-,说明:C+规定,在if嵌套时,else总是与最近的if配对eg.if(b1)if(b2)x=1;else x=2;if(b1)if(b2)x=1;else x=2;if(b1)if(b2)x=1;else x=2;如果内嵌的if是简单分支,没有else子句(即if和else的数目不一样),必须用 将其括起,202

12、3/6/27,北京科技大学计算机系,-30-,if(c=50)cout 150n;if(c=50)cout 50=c=100n;else cout c50n;,例如:,if(c=50)cout 50=c=100n;,与哪个if 配对?,2023/6/27,北京科技大学计算机系,-31-,再例如:,if(ab)/1if(ac)/2if(ad)flag=1;/3else flag=2;/4else flag=3;/5,问题:第4 行和第5 行的 else 和哪一个 if 相匹配?分析:匹配方案可以有很多种:(2-4,1-5)、(3-4,2-5),(1-4,),匹配规则:在嵌套的ifelse语句中,

13、else总是与上面的、离它最近的、在同一复合语句中还没有配对的if配对。,2023/6/27,北京科技大学计算机系,-32-,等价于:,if(ab)if(ac)if(ad)flag=1;else flag=2;else flag=3;,if(ab)if(ac)if(ad)flag=1;else flag=2;else flag=3;,flag=3的条件:,flag=3 的条件:,当 cab 时,当 a b 时,2023/6/27,北京科技大学计算机系,-33-,一般形式switch(表达式)case 常量表达式 1:语句1 case 常量表达式 2:语句2 case 常量表达式 n:语句n d

14、efault:语句n+1,switch 语句,执行顺序以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个独立的case分支最后应该加break语句,跳出整个switch语句。,2023/6/27,北京科技大学计算机系,-34-,2023/6/27,北京科技大学计算机系,-35-,例子:输出学生的成绩,int x;cinx;switch(x/10)case 10:case 9:cout“优秀”endl;break;case 8:cout“良好”endl;break;case 7:case 6:cout“合格”endl;break;default:cout“不及格”endl;,20

15、23/6/27,北京科技大学计算机系,-36-,使用switch语句应注意的问题,case分支可包含多个语句,且不用。表达式、常量表达式值都是int型或char型。若干分支执行内容相同可共用一组语句。Break退出switch结构,2023/6/27,北京科技大学计算机系,-37-,例子,k=23,int v1=0,v2=0,v3=0,v4=0,k;cin k;switch(k)default:v4+;case 1:v1+;case 2:v3+;case 3:v2+;,v1=1,v2=1,v3=1,v4=1,2023/6/27,北京科技大学计算机系,-38-,问题1:如何根据收入,确定一个人的

16、纳税比例及纳税额?,当一个公司有多名员工时,如何计算每个人的纳税比例及纳税额?,提出问题:,C+语言:循环语句,?,?,问题2:如何根据学生的分数判断是否及格?,如何根据全班学生的分数,分别判断他们是否及格?,2023/6/27,北京科技大学计算机系,-39-,#include#include using namespace std;void main()coutsetfill(*)setw(2)n setw(3)n setw(4)n setw(5)n setw(6)n setw(7)n setw(8)n;,*,2023/6/27,北京科技大学计算机系,-40-,#include#includ

17、e using namespace std;void main()int i=2;coutsetfill(*);while()coutsetw()n;,*,循环变量,循环体,循环控制条件,i=8,i,i+;,2023/6/27,北京科技大学计算机系,-41-,3.4 循环语句,主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。,2023/6/27,北京科技大学计算机系,-42-,3.4 循环语句,三种基本语法1、while 语句 格式和顺序,例子2、dowhile 语句格式和顺序,对比,例子

18、3、for 语句 格式和顺序,例子,说明三种语句的应用区别,2023/6/27,北京科技大学计算机系,-43-,3.4 循环语句,while循环语句,while(表达式)循环体语句;,2023/6/27,北京科技大学计算机系,-44-,例1:编程循环输出1-9这9个数字?,#include using namespace std;void main()int i=1;while()cout“循环结束”endl;,运行结果:123456789循环结束,i=9,coutiendl;i+;,2023/6/27,北京科技大学计算机系,-45-,例2:编程计算1+3+5+.+99的值,#include

19、using namespace std;void main()int sum=0,i=1;while()coutsumendl;,2500,sum+=i;i+=2;,i=99,2023/6/27,北京科技大学计算机系,-46-,注意:,如果while的(表达式)值为0,则循环体一次也不执行(例如当i的初值=100)。在循环体中必须有使循环趋向结束的操作,否则循环将无限进行(死循环)。在循环体中,语句的先后位置必须符合逻辑,否则会影响运算结果。,思考程序段的输出?while(i=99)i+=2;sum=sum+i;,运行后,输出:sum=2600原因是什么?,2023/6/27,北京科技大学计算

20、机系,-47-,其他的while 语句形式,while(0).由于表达式恒等于0,所以循环体永远也不会执行,是一个逻辑错误的语句,while(1).由于表达式恒等于1,所以不可能通过循环控制条件来结束循环体的执行,即死循环。为了保证循环正常运行,应该特别注意:循环控制条件的描述 控制条件的初始状态(初始值)循环体内部对控制条件的影响,2023/6/27,北京科技大学计算机系,-48-,例3:打印可视字符,#includeusing namespace std;void main()unsigned char ch=32;while(ch128)cout(int)chtcht;ch+;,2023

21、/6/27,北京科技大学计算机系,-49-,例4:编程计算 的值,#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn;while()if(n0)coutsum/nendl;else coutn不能=0endl;,k=n,sum=sum+k*k;k+;,2023/6/27,北京科技大学计算机系,-50-,3.4 循环语句,do.while循环语句,do 循环体语句;while(表达式);,2023/6/27,北京科技大学计算机系,-51-,do-while 语句,执行顺序先执行循环体语句,后判断条件。表达式为

22、true 时,继续执行循环体与while 语句的比较:do-while语句至少执行循环体一次;While语句有可能一次也不执行循环体,2023/6/27,北京科技大学计算机系,-52-,对比下列程序:,程序1:#includevoid main()int i,sum(0);cini;while(i=10)sum+=i;i+;coutsum=sumendl;,程序2:#includevoid main()int i,sum(0);cini;do sum+=i;i+;while(i=10);coutsum=sumendl;,2023/6/27,北京科技大学计算机系,-53-,#include#in

23、clude using namespace std;void main()int i=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;,*,do while();,i=8,coutsetw(i)n;i+;,2023/6/27,北京科技大学计算机系,-54-,例子:编程计算 的值,#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn;while(k0)coutsum/nendl;else coutn不能=0endl;,do sum=sum+k*k;k+;while(k=n);

24、,2023/6/27,北京科技大学计算机系,-55-,3.4 循环语句,for循环语句 循环结构 1、表达式1 循环变量初始化;2、表达式2 循环控制条件;3、表达式3 循环变量的变化;,for(表达式1;表达式2;表达式3)循环体;,2023/6/27,北京科技大学计算机系,-56-,例1:编程循环输出1-9这9个数字?,#include using namespace std;void main()for(int i=1;i10;i+)coutiendl;cout“循环结束”endl;,运行结果:123456789循环结束,2023/6/27,北京科技大学计算机系,-57-,例2:编程计算

25、1+2+3+.+10的值,#include using namespce std;void main()int sum=0;for(int i=1;i=10;i+)sum+=i;coutsumendl;,运行结果:55,2023/6/27,北京科技大学计算机系,-58-,#include#include using namespace std;void main()coutsetfill(*);,*,例3,for(int i=2;i=8;i+)coutsetw(i)n;,2023/6/27,北京科技大学计算机系,-59-,for 语句说明,1,for语句中的表达式可以部分或全部省略,但两个“;

26、”不可省略。省略表达式1时,此时应在for语句之前给循环变量赋初值。如果省略表达式2,即不判断循环条件,循环无终止地进行下去。省略表达式3时,此时程序设计者应另外设法保证循环能正常结束。2,for后一对圆括号中的表达式可以是任意有效的C+语言表达式。例如:for(sum=0,i=1;i=100;sum=sum+i,i+),2023/6/27,北京科技大学计算机系,-60-,省略for语句的表达式,表达式1、2、3全省略,即:for(;)就等同于:while(1),会无限循环(死循环),注意:在省略某个表达式时,应在适当位置进行循环控制的必要操作,以保证循环的正确执行,省略表达式1和表达式3,即

27、:for(;表达式2;)就等同于:while(表达式2)省略表达式2,即:for(表达式1;表达式3)就等同于:表达式1;while(1)表达式3;,2023/6/27,北京科技大学计算机系,-61-,例如:,i=1;for(;i=100;i+)sum+=i;,for(i=1;i+)if(i100)for(i=1;i100)i+;,2023/6/27,北京科技大学计算机系,-62-,例4:判断输出结果?,#include using namespace std;void main()for(int i=0,j=10,k=0;ij;i+,j-)k+=i*j;coutkendl;,分析:i j k

28、0 10 01 9 92 8 253 7 464 6 705 5 跳出,2023/6/27,北京科技大学计算机系,-63-,3.4 循环语句,1、for:最适合循环次数固定,循环规律非常明显程序。2、while:使用最多最频繁的循环结构,具有普适性。3、do_while:最适合至少循环一次的循环结构。,2023/6/27,北京科技大学计算机系,-64-,3.4.4 转向语句,1、break语句 可以用在switch和循环结构,用在循环退出本层循环2、continue语句 只能用在循环结构中,表示退出本次循环,2023/6/27,北京科技大学计算机系,-65-,3.4.4 转向语句break,用

29、途:常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。,2023/6/27,北京科技大学计算机系,-66-,5.5.2 循环中break的应用,break;,while语句,break;,do-while语句,break;,for语句,2023/6/27,北京科技大学计算机系,-67-,例如:,int x,n=0,s=0;while(nx;if(x0)break;s+=x;n+;,int x,n=0,s=0;do cin x;if(x0)break;s+=x;n+;while(n10);,for(n=0,s=0;nx;if(x0)break;s+=

30、x;,2023/6/27,北京科技大学计算机系,-68-,例1:判断输出结果?,#include using namespace std;void main()int sum=0;for(int i=1;i10;i+)if(i%3=0)break;sum+=i;coutsumendl;,分析i sum1 12 33 跳出,2023/6/27,北京科技大学计算机系,-69-,3.4.4 转向语句continue,用途 用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。,2023/6/27,北京科技大学计算机系,-70-,continue;,while语句,continu

31、e;,do-while语句,continue;,for语句,2023/6/27,北京科技大学计算机系,-71-,例如:,int x,n=0,s=0;while(nx;if(x0)continue;s+=x;n+;,int x,n=0,s=0;do cin x;if(x0)continue;s+=x;n+;while(n10);,for(n=0,s=0;nx;if(x0)continue;s+=x;,2023/6/27,北京科技大学计算机系,-72-,例1:判断输出结果?,#include using namespace std;void main()int sum=0;for(int i=1;

32、i10;i+)if(i%3=0)continue;sum+=i;coutsumendl;,分析i sum1 12 33 3 7 12 12 19 27 27 跳出,2023/6/27,北京科技大学计算机系,-73-,3.5 循环嵌套,编程输出国际象棋棋盘#include using namespace std;void main()for(int i=0;i8;i+)for(int j=0;j8;j+)cout;else cout;coutn;,0 1 2 3 4 5 6 7,0 1 2 3 4 5 6 7,if(i+j)%2=0),2023/6/27,北京科技大学计算机系,-74-,3.3.

33、5 循环嵌套,【例3-15】打印由数字组成的如下所示的金字塔图案。1 222 33333 4444444 555555555 66666666666 7777777777777 888888888888888 99999999999999999分析:打印图案一般可由多重循环实现,外循环用来控制打印的行数,内循环控制每行的空格数和字符个数。实现打印上金字塔图案的程序如下。,2023/6/27,北京科技大学计算机系,-75-,注意:,#include using namespace std;int main()char c=48;int i,k,j;for(i=1;i+)/外循环控制打印行数 fo

34、r(k=1;k+)/每行起始打印位置 cout;for(j=1;j+)/内循环控制打印个数 cout(char)(c+i);/打印内容数字字符19 cout n;/换行return 0;,i=9,k=10-i,j=2*i-1,2023/6/27,北京科技大学计算机系,-76-,注意:,while、do-while、for循环语句可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉。多重循环程序执行时,外层循环每执行一次,内层循环都需要循环执行多次。例如:,for(a=1;a=10;a+)for(b=0;b=5;b+),外循环执行了10次,内循环执行6次循环正常结束时,内循环执行了106=60次

35、,2023/6/27,北京科技大学计算机系,-77-,3.6 应用举例1,任意输入一个整数,判断是否是素数?问题:什么是素数?,2023/6/27,北京科技大学计算机系,-78-,#include using namespace std;void main()int n,i;cinn;for(i=2;in;i+)if(n%i=0)break;if(in)coutn不是素数!n;elsecoutn是素数n;,2023/6/27,北京科技大学计算机系,-79-,改进:输出2-100之间的素数,#include#include using namespace std;void main()for(i

36、nt k=2;kn)coutkt;,2023/6/27,北京科技大学计算机系,-80-,3.6 应用举例2,题目 任意输入一个整数,按位翻转输出。例如输入124,输出421。,2023/6/27,北京科技大学计算机系,-81-,#include using namespace std;void main()int i,n,result=0;coutn;cout按位翻转的结果为:;while(n!=0)i=n%10;result=result*10+i;n/=10;coutresultendl;,2023/6/27,北京科技大学计算机系,-82-,do-while语句的简单应用,【例3-9】用辗

37、转相除法求m和n的最大公约数。,思路:先求m和n相除的余数r然后将mn,将nr,并判断r(或n)如果r0,再重复求余数,直到 r 等于 0 时结束循环此时的m为最大公约数,2023/6/27,北京科技大学计算机系,-83-,算法和程序:,#include using namespace std;int main()int m,n,r;cin mn;do r=m%n;m=n;n=r;while(r!=0);cout 最大公约数是:m n;return 0;,程序运行情况如下:60,9612,2023/6/27,北京科技大学计算机系,-84-,3.6 应用举例3,题目 一球从100米高度落下,每次

38、落地后反弹回原高度的一半,再落下。编程求解它在第n次落地时,共经过多少米?,2023/6/27,北京科技大学计算机系,-85-,#include using namespace std;void main()int n=10;double height=100;double sum=height;for(int i=1;in;i+)sum+=height;height/=2;coutsumendl;,2023/6/27,北京科技大学计算机系,-86-,3.6 应用举例4,题目 若一头小母牛,从出生起第四个年头开始每年开始生一头小母牛,按此规律,第n年时有多少头母牛?,f(1)=1;f(2)=1

39、;f(3)=1;f(n)=f(n-1)+f(n-3);,2023/6/27,北京科技大学计算机系,-87-,#include using namespace std;void main()int n;long a=1,b=1,c=1,temp;cout n;for(int i=4;i=n;i+)temp=a+c;a=b;b=c;c=temp;cout c endl;,2023/6/27,北京科技大学计算机系,-88-,for语句的简单应用,【例3-13】求n!,即计算p=123n的值。,思路:求阶乘与求累加的运算处理过程类似,只要将“+”变为“*”。,设置:乘数i,初值为1,终值为n(n是循环

40、控制终值,需要从键盘输入)累乘器 p,每次循环令p=p*i,2023/6/27,北京科技大学计算机系,-89-,程序:,#include using namespace std;int main()int i,n,p=1;cout n;for(i=1;i=n;i+)p=p*i;cout n!=p n;return 0;,思考:如何输出1!,2!,n!?如何求s=1!+2!+n!?,2023/6/27,北京科技大学计算机系,-90-,总结,三种基本结构:顺序、选择和循环流程图和伪码,帮助我们设计算法、完善算法,增强算法的可读性,2023/6/27,北京科技大学计算机系,-91-,作业,P61 9

41、,10,11,2023/6/27,北京科技大学计算机系,-92-,课堂练习,选择题例题1:如果有以下语句:int a,b;char m,n;cinabmn;则下列输入数据的方式中正确的是()。A10,20,X,Y B1020 XYC10 20 X Y D10、20、X、Y,C,用cin输入时,空格和回车键均可作为输入字符之间的分隔符,逗号不能作为分隔符。字符型变量只能容纳一个字符。,2023/6/27,北京科技大学计算机系,-93-,课堂练习,选择题以下不正确的语句是()。Aif(xy);Bif(x=y)&(x!=0)x+=y;Cif(x!=y)cinx;else ciny;Dif(xy)x+

42、;y+;,B,if语句后面的表达式必须放在括号内“()”。在if和else后面用花括号“”括起来的多个语句成为了一个复合语句。,2023/6/27,北京科技大学计算机系,-94-,课堂练习,下面程序的输出结果是()。#includevoid main()int a=6,b=6;if(a5)a-=1;b+=1;elsea+=1;b-=1;cout”a=”aendl;cout”b=”b;,D,在ifelse语句的中间应为单条语句或复合语句,不能为多条语句。,A5 Ba=5 Ca=5 D编译时出错 7 b=7 b=6,2023/6/27,北京科技大学计算机系,-95-,课堂练习,以下不正确的是()。

43、A语句for(i=0;i+)表示无限循环 Bfor(;)表示无限循环Cfor()也表示无限循环 Dwhile(1)表示无限循环,C,for循环语句中的表达式可以省略,但分号不可省略。,2023/6/27,北京科技大学计算机系,-96-,课堂练习,下面循环体的执行次数为()。#includevoid main()int a,b;for(a=0,b=5;a=b+1;a+=2,b-)coutaendl;A3 B2 C1 D0,A,在for语句的表达式中使用了逗号运算符对变量a和b 进行赋初值,每次循环后改变变量a和b 的值,直到a=b.,分析a b0 52 44 36 2,2023/6/27,北京科

44、技大学计算机系,-97-,课堂练习,有以下程序段:int n=0;while(n=1)n+;while循环执行次数是_ _。,无限次,下面程序运行结束后,k的值为_ _。#includevoid main()int i,j,k;for(i=0,j=10;i=j;i+,j-)k=i+j;coutk;,10,2023/6/27,北京科技大学计算机系,-98-,课堂练习,有以下程序段:int n=0;while(n=1)n+;while循环执行次数是_ _。,无限次,下面程序运行结束后,k的值为_ _。#includevoid main()int i,j,k;for(i=0,j=10;i=j;i+,

45、j-)k=i+j;countk;,10,2023/6/27,北京科技大学计算机系,-99-,课堂练习,下面的程序存在着语法错误,请指出并予以修改。#includevoid main()float x,y;/1 if(x0);/2 x=x+y;/3 coutxendl;/4 else cout-x;/5,选择结构语句的语法要求,条件表达式放在括号内,后面不加逗号。if 语句后面有多于一个语句时要加大括号“”,成为复合语句。,错,2023/6/27,北京科技大学计算机系,-100-,第七周实验,补充实验:编写一个程序根据输入的三角形的三条边判断是否能组成三角形,如果可以则输出它的面积和三角形类型。实验:实验3 P62 14(评分系统),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号