C-大学基础教程第三章(复习)解析课件.ppt

上传人(卖家):晟晟文业 文档编号:3802685 上传时间:2022-10-14 格式:PPT 页数:90 大小:401.24KB
下载 相关 举报
C-大学基础教程第三章(复习)解析课件.ppt_第1页
第1页 / 共90页
C-大学基础教程第三章(复习)解析课件.ppt_第2页
第2页 / 共90页
C-大学基础教程第三章(复习)解析课件.ppt_第3页
第3页 / 共90页
C-大学基础教程第三章(复习)解析课件.ppt_第4页
第4页 / 共90页
C-大学基础教程第三章(复习)解析课件.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、C+大学基础教程大学基础教程第第3 3章章 C+C+控制语句控制语句本章学习:本章学习:C+C+的控制语句和程序基本结构的控制语句和程序基本结构使用基本结构实现算法使用基本结构实现算法 3.1 3.1 算法的基本控制结构算法的基本控制结构2022-10-14-3-3.1 3.1 算法的基本控制结构算法的基本控制结构流程图 开始/结束 执行 判断 联系2022-10-14-4-例例:计算计算y=x2开始开始定义定义x,yx,y输入输入x x计算计算y=xy=x*x x输出输出y y结束结束void main()int x,y;cinx;y=x*x;couty;coutx;cout“y=”yend

2、l;void main()int x,y;coutx;y=x*x;cout“y=”yy?xy?y y输出输出x x结束结束n n输出输出y y#include void main()int x,y;cinxy;if(xy)coutx;else couty;选择结构选择结构2022-10-14-6-例例:计算计算y=sin(x)y=sin(x)在一个周期内的八个等在一个周期内的八个等间隔抽样点值。即间隔抽样点值。即x xi i=2=2 i/8,i=0,1,i/8,i=0,1,7,7开始开始定义变量定义变量i,x,y;i,x,y;定义常量定义常量PI2;PI2;i=0i=0i8i8x=PI2x=P

3、I2*i/8;i/8;y=sin(x);y=sin(x);i+;i+;y y结束结束n n#includeinclude#include#includeusing namespace std;using namespace std;void main()void main()int i;int i;float x,y;float x,y;const float PI2=2 const float PI2=2*3.14;3.14;for(i=0;i8;i+)for(i=0;i8;i+)x=PI2 x=PI2*i/8;i/8;cout(y=sin(x)endl;cout(y=sin(x)y)cou

4、txy)coutxendl;else coutyendl;2022-10-14-13-3.2 3.2 if选择语句选择语句3 3、多分支、多分支if(表达式1)语句1;else if (表达式2)语句2;else if (表达式3)语句3;else 语句n;例子:输出学生的成绩#include using namespace std;void main()int x;cinx;if(x=90)cout“优秀”=80)cout“良好”=60)cout“合格”endl;else cout“不及格”endl;2022-10-14-15-注意:注意:1.1.如果如果if-elseif-else语句中的

5、语句语句中的语句1 1或语句或语句2 2不是单条语句,则必须不是单条语句,则必须采用复合语句形式;否则,计算机只执行其中第一条语句,出采用复合语句形式;否则,计算机只执行其中第一条语句,出现程序运行时的逻辑错误。现程序运行时的逻辑错误。程序的逻辑错误,指的是编译器检查不出来的错误,也即程序的逻辑错误,指的是编译器检查不出来的错误,也即编译时不出错,只在程序运行时才会出现。编译时不出错,只在程序运行时才会出现。2.一般在一般在if-else(if-else(和任何控制结构和任何控制结构)中加上大括号,可以避免不慎中加上大括号,可以避免不慎疏忽,特别是疏忽,特别是if if或或elseelse后边

6、的选择体语句多于一条时。后边的选择体语句多于一条时。2022-10-14-16-3.2 3.2 if选择语句选择语句4、if 语句的嵌套if(表达式1)if(表达式2)语句1 else 语句2else if(表达式3)语句3 else 语句42022-10-14-17-注意:注意:(1)(1)使用嵌套使用嵌套ifif结构时,应该注意结构时,应该注意ifif与与elseelse的对应的对应关系。关系。从最内层开始,从最内层开始,elseelse总是与其前面最近的总是与其前面最近的(未未曾匹配的曾匹配的)ifif匹配。匹配。如果外层如果外层ifif的内嵌的内嵌ifif语句没有对应的语句没有对应的e

7、lseelse分支,分支,应该把内嵌应该把内嵌ifif语句放入加花括号里,成为复合语句。语句放入加花括号里,成为复合语句。例如下面的代码:例如下面的代码:2022-10-14-18-if()if()语句语句1;else if()语句语句2;else 语句语句3;if()if()语句语句1;else if()语句语句2;else 语句语句3;if()if()语句语句1;else if()语句语句2;else 语句语句3;2022-10-14-19-(2)(2)编写嵌套编写嵌套if if语句结构,最好给外层语句结构,最好给外层if if和和elseelse的选择的选择体加上大括号,使结构清晰,增强

8、代码的可读性。体加上大括号,使结构清晰,增强代码的可读性。(3)(3)在嵌套在嵌套if if结构和多选择的结构和多选择的if if结构中,测试条件为结构中,测试条件为真可能性较大的操作应放在真可能性较大的操作应放在if if结构的开头,以便尽早结构的开头,以便尽早满足测试条件,结束满足测试条件,结束if if结构的执行,提高程序运行速结构的执行,提高程序运行速度。度。3.3 3.3 switch选择语句选择语句3.3 3.3 switch选择语句选择语句switch(表达式)case 常量表达式1:语句1 break;case 常量表达式2:语句2 break;case 常量表达式n:语句n

9、break;default:语句n+1 跳出switch语句2022-10-14-22-例例3.43.4 假设某个盒子里有红色、黄色、蓝色、绿假设某个盒子里有红色、黄色、蓝色、绿色和白色球若干,每次从中取出一个球,并记录色和白色球若干,每次从中取出一个球,并记录(输出输出)球的颜色。使用随机数产生函数球的颜色。使用随机数产生函数randrand模拟随模拟随机取球过程,设数字机取球过程,设数字1,2,3,4,51,2,3,4,5分别表示上述五种分别表示上述五种球的颜色。数字球的颜色。数字0 0使模拟取球过程结束。统计出每使模拟取球过程结束。统计出每种球出现的次数。种球出现的次数。/功能:模拟取球

10、程序功能:模拟取球程序#include#include#include using namespace std;void main()int count1(0),count2(0),count3(0),count4(0),count5(0);srand(unsigned)time(NULL);int color=rand()%6;while(color)switch(color)case 1:coutred ball endl;count1+;break;case 2:coutyellow ballendl;count2+;break;case 3:coutblue ball endl;cou

11、nt3+;break;case 4:coutgreen ballendl;count4+;break;case 5:coutwhite ballendl;count5+;break;default:coutInvalid command endl;color=rand()%6;coutcount of each color balls(red,yellow,blue,green,and white):count1,count2,count3,count4 ,count5endl;2022-10-14-27-注意:注意:(1 1)switchswitch语句中表达式的值可以是字符型、整型,语句中

12、表达式的值可以是字符型、整型,也可以是枚举型。通常这个表达式仅仅是个变量。也可以是枚举型。通常这个表达式仅仅是个变量。(2 2)case case 的常量表达式可以是字符型、整型或枚举的常量表达式可以是字符型、整型或枚举型,通常,也只是一个常量。各个型,通常,也只是一个常量。各个casecase的常量表达式的常量表达式的值应该互不相同,否则,相同的值造成矛盾的语句的值应该互不相同,否则,相同的值造成矛盾的语句标识。各个标识。各个casecase的先后顺序不影响执行结果,由编程的先后顺序不影响执行结果,由编程者合理安排。者合理安排。2022-10-14-28-(3 3)breakbreak语句本

13、不是语句本不是switchswitch语句原有的,但由于语句原有的,但由于各各个个“case case 常量表达式常量表达式”只起语句标号的作用只起语句标号的作用,并不进,并不进行条件判断,行条件判断,switchswitch语句每当找到匹配的常量表达式,语句每当找到匹配的常量表达式,则从此标号开始执行下去,不再进行判断,即将此后则从此标号开始执行下去,不再进行判断,即将此后的其它的其它casecase下的语句也都执行。这显然不是我们希望下的语句也都执行。这显然不是我们希望的。因此,的。因此,在每个在每个casecase的执行语句结束处,应该加上的执行语句结束处,应该加上breakbreak语

14、句语句。(4 4)几个)几个casecase可以共用一组执行语句。例如,输入考试成绩可以共用一组执行语句。例如,输入考试成绩grade,grade,输出是否通过:输出是否通过:switch(grade/10)case 9:case 8:case 7:case 6:cout”pass”;break;default cout”fail”;break;2022-10-14-30-(5)在在switchswitch语句中应该提供语句中应该提供defaultdefault情况,可以提醒情况,可以提醒编程者需要处理异常条件;而且习惯上编程者需要处理异常条件;而且习惯上defaultdefault被放被放在

15、在switchswitch结构的最后。结构的最后。2022-10-14-31-switchswitch语句语句和和多分支多分支if if语句语句都能实现多分支的选择都能实现多分支的选择问题。但问题。但switchswitch语句只能处理测试表达式与语句只能处理测试表达式与casecase常量表常量表达式值相等的情况,即要求表达式的值只能取整型、达式值相等的情况,即要求表达式的值只能取整型、字符型和枚举型;字符型和枚举型;多分支的多分支的if if语句可以处理测试表达式为任何语句可以处理测试表达式为任何c+c+允允许类型的问题。许类型的问题。尽管如此,只要问题类型合适,尽管如此,只要问题类型合适

16、,switchswitch语句通常比语句通常比多分支的多分支的if if语句的执行效率高,因为前者直接执行匹配语句的执行效率高,因为前者直接执行匹配的语句,而后者要逐一比较至测试表达式为真。故的语句,而后者要逐一比较至测试表达式为真。故合合理安排多分支的理安排多分支的if if语句各分支的顺序,有利于提高程序语句各分支的顺序,有利于提高程序运行速度运行速度,特别是当选择语句内嵌于循环结构中时。,特别是当选择语句内嵌于循环结构中时。3.4 3.4 循环循环语句语句2022-10-14-33-3.4 循环语句循环语句三种基本语法1、while 语句2、dowhile 语句3、for 语句2022-

17、10-14-34-3.4 循环语句循环语句主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。2022-10-14-35-3.4 循环语句循环语句while循环语句循环语句while(表达式)循环体语句;2022-10-14-36-/功能:计算功能:计算1n个整数平方和的均值。个整数平方和的均值。#include using namespace stdvoid main()int k=1,sum=0,n;coutn;nkkn1212022-10-14-37-while(k0)/防止被防止被0除

18、除 mean=sum/n;else mean=0;cout mean=mean endl;2022-10-14-38-利用循环结构实现迭代求和时,表示和利用循环结构实现迭代求和时,表示和的变量的初值必须赋为的变量的初值必须赋为0 0。另外还要注意执行。另外还要注意执行除法操作之前,检验除数是否为除法操作之前,检验除数是否为0,0,以增强程以增强程序的稳健性。序的稳健性。2022-10-14-39-注意:注意:(1 1)循环体如果多于一句,必须采用复合语句形式,循环体如果多于一句,必须采用复合语句形式,否则只有循环体的第一句能够被执行,其它循环体语否则只有循环体的第一句能够被执行,其它循环体语句

19、不能被执行。句不能被执行。(2 2)一般)一般whilewhile语句的循环控制变量在语句的循环控制变量在whilewhile语句前语句前被赋值,并在循环体内被修改,使循环语句能够正常被赋值,并在循环体内被修改,使循环语句能够正常结束。循环结构的循环体中应该有使循环趋于结束的结束。循环结构的循环体中应该有使循环趋于结束的语句(修改循环控制变量的语句)。语句(修改循环控制变量的语句)。如果如果whilewhile语句的条件一开始就不满足,则其循环语句的条件一开始就不满足,则其循环体语句就会一次也不执行。所以,我们在选择循环语体语句就会一次也不执行。所以,我们在选择循环语句要清楚这一点。句要清楚这

20、一点。2022-10-14-40-3.4 循环语句循环语句do.while循环语句循环语句 do 循环体语句;while(表达式);2022-10-14-41-/功能:计算功能:计算1n个整数平方和的均值。个整数平方和的均值。#include using namespace std;void main()int k(1),n,sum(0),mean;coutn;nkkn1212022-10-14-42-do sum=sum+k*k;k+;while(k0)mean=sum/n;else mean=0;cout mean=mean endl;2022-10-14-43-注意:注意:(1 1)如果

21、循环体语句多于一条,必须采用用复合语句形式。)如果循环体语句多于一条,必须采用用复合语句形式。(2 2)循环体中要包含修改循环控制变量的语句,保证循环是有)循环体中要包含修改循环控制变量的语句,保证循环是有限循环。限循环。(3 3)do-whiledo-while循环是先执行循环体语句,后判断表达式真假。循环是先执行循环体语句,后判断表达式真假。所以循环体至少要执行一次。所以循环体至少要执行一次。(4 4)whilewhile语句和语句和do-whiledo-while语句都能处理重复操作问题,如语句都能处理重复操作问题,如前面的求均值()问题。但前面的求均值()问题。但whilewhile语

22、句的循环体有可能一次也不语句的循环体有可能一次也不执行,所以,在选择使用循环语句时,要合理利用它们各自的执行,所以,在选择使用循环语句时,要合理利用它们各自的特点。特点。2022-10-14-44-3.4 循环语句循环语句for循环语句 循环结构 1、表达式1 循环变量初始化;2、表达式2 循环控制条件;3、表达式3 循环变量的变化;for(表达式1;表达式2;表达式3)循环体;2022-10-14-45-#includeusing namespace std;void main()int k,n,sum(0),mean;coutn;for(k=1;k0)mean=sum/n;else mea

23、n=0;coutmeanendl;nkkn121/计算计算1到到10的阶乘。的阶乘。#includeusing namespace std;void main()int n;unsigned long factorial(1);for(n=1;n=10;n+)factorial*=n;coutn!=factorialendl;例例3.10 3.10 计算计算1 1到到1010的阶乘。的阶乘。2022-10-14-47-如果一个变量表示若干数的乘积,而如果一个变量表示若干数的乘积,而且这个乘积是利用循环过程迭代计算的,且这个乘积是利用循环过程迭代计算的,则表示乘积的变量的初值要在循环开始前则表示

24、乘积的变量的初值要在循环开始前赋为确定值,具体值要根据题目而定(一赋为确定值,具体值要根据题目而定(一般为般为1 1,如本题),防止表示乘积的变量为,如本题),防止表示乘积的变量为随机数或随机数或0 0,这是常用的编程技巧。,这是常用的编程技巧。2022-10-14-48-3.4 循环语句循环语句1、for:最适合循环次数固定,循环规律非常明显程序。2、while:使用最多最频繁的循环结构,具有普适性。3、do_while:最适合至少循环一次的循环结构。2022-10-14-49-3.4.4 转向语句转向语句1、break语句2、continue语句2022-10-14-50-3.4.4 转向

25、语句转向语句break用途:用途:常用在常用在while、do-while、for和和switch语句语句中,用来跳出循环或中,用来跳出循环或switch语句。语句。例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 跳出2022-10-14-52-3.4.4 转向语句转向语句continue用途 用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。例1:判断输出结果?

26、#include using namespace std;void main()int sum=0;for(int i=1;i10;i+)if(i%3=0)continue;sum+=i;coutsumendl;分析i sum1 12 33 34 75 126 127 198 279 2710 跳出3.5 3.5 循环循环嵌套嵌套3.5 3.5 循环嵌套循环嵌套编程输出国际象棋棋盘#include using namespace std;void main()for(int i=0;i8;i+)for(int j=0;j8;j+)if(i+j)%2=0)cout;else cout ;cout

27、n;此字符来源于此字符来源于WordWord中的特殊字符中的特殊字符2022-10-14北京邮电大学电信工程学院计算机技术中心-56-思考题目题目:使用使用For循环输出如下图形:循环输出如下图形:*#include using namespace std;void main()for(int i=1;ii;j-)cout;for(j=1;j=i;j+)cout*;coutendl;3.6 3.6 应用举例应用举例2022-10-14-59-3.6 3.6 应用举例应用举例1 1题目 任意输入一个整数,按位翻转输出。例如输入124,输出421。#include using namespace

28、std;void main()int i,n,result=0;coutn;cout按位翻转的结果为:;while(n!=0)i=n%10;result=result*10+i;n/=10;coutresultendl;输入124,输出4212022-10-14-61-3.6 3.6 应用举例应用举例2 2题目 一球从100米高度落下,每次落地后反弹回原高度的一半,再落下。编程求解它在第n次落地时,共经过多少米?#include using namespace std;void main()double height=100;double sum=height;for(int i=1;i10;

29、i+)sum+=height;height/=2;coutsum0,b2-4ac0,有两个不等的实根有两个不等的实根;(4)(4)b2-4ac0,b2-4ac0 else if disk0 输出输出x1,x2x1,x2 else else 输出输出x1,x2x1,x2结束结束adiskbx21adiskbx22iadiskabx221iadiskabx222/功能功能:计算方程计算方程ax2+bx+c=0的解的解#include#include using namespace std;void main()void main()float a,b,c,disc,x1,x2,realpart,i

30、magpart;coutabc;coutThe equationendl;if(fabs(a)=1e-6)coutis not quadraticendl;else else disc=b*b-4*a*c;if(fabs(disc)1e-6)else if(fabs(disc)=1e-6)x1=-b/(2*a);couthas two equal roos:x11e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);couthas distinct real roots:x1,x2endl;else realpart=-b/(2*a);imag

31、part=sqrt(-disc)/(2*a);couthas complex roots:endl;coutrealpart+imagpartiendl;coutrealpart-imagpartiendl;/功能功能:计算方程计算方程ax2+bx+c=0的解的解#include#include using namespace std;void main()float a,b,c,disc,x1,x2,realpart,imagpart;coutabc;coutThe equationendl;if(fabs(a)=1e-6)coutis not quadraticendl;else disc

32、=b*b-4*a*c;if(fabs(disc)=1e-6)x1=-b/(2*a);couthas two equal roos:x11e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);couthas distinct real roots:x1,x2endl;else realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);couthas complex roots:endl;coutrealpart+imagpartiendl;coutrealpart-imagpartiendl;2022-10-14-

33、72-实际编程中,我们可以从分析问题开始,用伪实际编程中,我们可以从分析问题开始,用伪码帮助记录我们的分析结果,随着问题分析的码帮助记录我们的分析结果,随着问题分析的不断深入,伪码被进一步细化,最后它能较详不断深入,伪码被进一步细化,最后它能较详细地表示出解决问题的算法,我们便可基于伪细地表示出解决问题的算法,我们便可基于伪码编写程序代码。当然,我们还可以采用流程码编写程序代码。当然,我们还可以采用流程图等其它工具辅助设计程序,记录流程。图等其它工具辅助设计程序,记录流程。2022-10-14-73-例例 3.18 3.18 口袋中有红、黄、蓝、白、黑五种颜色口袋中有红、黄、蓝、白、黑五种颜色

34、的球若干个。每次从口袋中取出的球若干个。每次从口袋中取出3 3个不同颜色的球,个不同颜色的球,问有多少种取法。问有多少种取法。3.6 3.6 应用举例应用举例2022-10-14-74-分析:球只能是五种颜色之一。设取出的球为分析:球只能是五种颜色之一。设取出的球为i i、j j、k k,根据题意,根据题意,i i、j j、k k分别可以有五种取值,且分别可以有五种取值,且ijkijk。采用穷举法,逐个检验每一种可能的组合,采用穷举法,逐个检验每一种可能的组合,从中找出符合要求的组合并输出。从中找出符合要求的组合并输出。2022-10-14-75-开始开始定义五种颜色常量定义五种颜色常量red

35、(0),yellow(1),blue(2),white(3),black(4);red(0),yellow(1),blue(2),white(3),black(4);定义变量定义变量print;print;定义变量定义变量n,loop,i,j,k;n,loop,i,j,k;初始化初始化n(0)n(0)2022-10-14-76-forfor循环,第一个球的颜色循环,第一个球的颜色i i从从redred至至blackblack for for循环,第二个球的颜色循环,第二个球的颜色j j从从redred至至blackblack for for循环,第三个球的颜色循环,第三个球的颜色k k从从re

36、dred至至blackblack if if代表三个球颜色的代表三个球颜色的i,j,ki,j,k的值不同,得到一种可行的取法,的值不同,得到一种可行的取法,n+;n+;for for循环,分别输出三个球的颜色,共执行三次。循环,分别输出三个球的颜色,共执行三次。用用switchswitch语句将语句将i,j,ki,j,k的值分别赋给打印变量的值分别赋给打印变量printprint 用用switchswitch语句,根据语句,根据printprint的值,打印不同的颜色名称。的值,打印不同的颜色名称。结束结束 /功能:模拟取球过程,找出三个球颜色不同的可能取法的数目。功能:模拟取球过程,找出三个

37、球颜色不同的可能取法的数目。#includeusing namespace std;void main()const red(0),yellow(1),blue(2),white(3),black(4);/五种颜色五种颜色 short print;/打印球的颜色打印球的颜色 short n,loop,i,j,k;n=0;for(i=red;i=black;i+).couttotal:nendl;for(i=red;i=black;i+)for(j=red;j=black;j+)if(i!=j)/前两个球不同前两个球不同 for(k=red;k=black;k+)if(k!=i)&(k!=j)/

38、第三个球不同于前两个第三个球不同于前两个 n=n+1;cout.width(4);coutn;for(loop=1;loop=3;loop+)switch(loop)/没有这步,下面字符串输出要写三遍。没有这步,下面字符串输出要写三遍。.switch(print)/end-for-loop coutendl;switch(loop)/没有这步,下面字符串输出要写三遍。没有这步,下面字符串输出要写三遍。case 1:print=i;break;case 2:print=j;break;case 3:print=k;break;default:break;switch(print)case red

39、:cout red;break;case yellow:cout yellow;break;case blue:cout blue;break;case white:cout white;break;case black:cout black;break;default:break;/功能:模拟取球过程,找出三个球颜色不同的可能取法的数目。功能:模拟取球过程,找出三个球颜色不同的可能取法的数目。#includeusing namespace std;void main()const red(0),yellow(1),blue(2),white(3),black(4);/五种颜色五种颜色 sho

40、rt print;/打印球的颜色打印球的颜色 short n,loop,i,j,k;n=0;for(i=red;i=black;i+)for(j=red;j=black;j+)if(i!=j)/前两个球不同前两个球不同 for(k=red;k=black;k+)if(k!=i)&(k!=j)/第三个球不同于前两个第三个球不同于前两个 n=n+1;cout.width(4);coutn;for(loop=1;loop=3;loop+)switch(loop)/没有这步,下面字符串输出要写三遍。没有这步,下面字符串输出要写三遍。case 1:print=i;break;case 2:print=j

41、;break;case 3:print=k;break;default:break;switch(print)case red:cout red;break;case yellow:cout yellow;break;case blue:cout blue;break;case white:cout white;break;case black:cout black;break;default:break;/end-for-loopcoutendl;couttotal:nendl;2022-10-14-84-例例3.19 用公式:求的近似值,直到最后一项的绝对值不大于10-6为止。715131

42、143.6 3.6 应用举例应用举例2022-10-14-85-分析:题目要求分析:题目要求值,给出的是值,给出的是/4/4的求和公式,所以我的求和公式,所以我们可以先由求和式计算出们可以先由求和式计算出/4/4值,然后再计算出值,然后再计算出值。值。观察计算观察计算/4/4的求和算式,选择循环结构实现。求和式的的求和算式,选择循环结构实现。求和式的第一项是第一项是1 1,第二项是,第二项是-1/3-1/3,第,第n n项是。第项是。第n n项与第项与第n-n-1 1项的关系为符号相反,分母加项的关系为符号相反,分母加2 2。所以我们可以定义两个。所以我们可以定义两个变量,分别表示各项的分母和

43、符号项,并在每次循环中修变量,分别表示各项的分母和符号项,并在每次循环中修改这两个变量(分母变量加改这两个变量(分母变量加2 2,符号项取反)。,符号项取反)。/功能:计算功能:计算值。值。#include#include#include using namespace std;void main()void main()double sum=0,faction=1;int denominator=1;int sign=1;/计算计算/4值值 while(fabs(faction)1e-6)/项值在比较前要先求绝对值项值在比较前要先求绝对值 /值值 sum*=4;cout the pi is

44、setiosflags(ios:fixed)setprecision(8)sum 1e-6)/项值在比较前要先求绝对值项值在比较前要先求绝对值 sum+=faction;denominator+=2;sign*=-1;faction=sign/double(denominator);/强制转换使强制转换使x得到浮点数值得到浮点数值/功能:计算功能:计算值。值。#include#include#include using namespace std;void main()double sum=0,faction=1;int denominator=1;int sign=1;/计算计算/4值值while(fabs(faction)1e-6)/项值在比较前要先求绝对值项值在比较前要先求绝对值 sum+=faction;denominator+=2;sign*=-1;faction=sign/double(denominator);/强制转换使强制转换使x得到浮点数值得到浮点数值 /值值 sum*=4;cout the pi is setiosflags(ios:fixed)setprecision(8)sum endl;/输出输出 总结三种基本结构:顺序、选择和循环流程图和伪码,帮助我们设计算法、完善算法,增强算法的可读性

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(C-大学基础教程第三章(复习)解析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|