资源描述:
《使用函数编写程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验五使用函数编写程序【实验目的】1.熟练掌握函数的定义和调用。2.理解函数的实参、形参和返回值的概念。3.熟练掌握VC程序调试方法,包括断点的设置和取消,以及单步执行跟踪进入函数和跳出函数的方法。【实验内容】5-1调试示例,从键盘输入一个正整数m计算n!的值,要求定义和调用函数fact(n),计算n!。源程序(有错误的程序)includevoidmain(){intn;longintf;printf("lnputn:");scant("%d",&n);f=fact(n);printf(,,%d!=%
2、ld",n,f);}longfact(intm){inti;longintproduct;for(i=1;i<=m;i++)product=product*i;returnproduct;}运行结果(改正后程序的运行结果)Inputn:10101=3628800实验四中我们使用了程序运行到光标位置调试程序,本次实验需要掌握设置断点,以及单步调试进入函数和跳出函数的方法。(1)打开源程序error5_1.cpp,编译程序,出现的错误信息:'fact1:undeclaredidentifier'fact*:redefi
3、nition;differenttypemodifiers双击该错误信息,箭头指向“f=fact(n);”这一行,错误信息指出函数“fact”没有定义,这是因为数据在调用前,必须先定义或声明。在主调函数的变量定义前面加上函数声明“longfact(intm);”后,重新编译,连接,都正确。(1)调试开始,设置2个断点(断点的作用:程序执行到断点处暂停,使用户可以观察当前的变量或其它表达式的值,然后继续运行),先把光标定位到要设置断点的位置,然后单击编译工具条上的也(Inert/RemoveBreakpoint(F9))
4、,断点就设置好了(如图5.1所示)。如果耍取消断点,只要把光标放到耍取消的断点处,单击也,这个断点就取消了。图5」设置断点(2)单击编译工具条凰I(go(F5)),运行程序,用户输入n的值10后,程序运行到第一个断点位置暂停(如图5.2所示)。图5.2程序运行到断点位置(1)单击內(StepInto(F11))进入函数fact()调试,箭头表示程序已经执行到函数怡ct()内(如图5.3所示)。(2)使用舸,在函数fact()中设置程序的第3个断点(如图5.3所示)。(3)单击凰I(go(F5)),程序直接运行到断点处,
5、暂停(如图5.4所示),在变量窗口观察到product的值是-2903040,不止确,因为变量product未赋初值,加上语句product=1后,按以上的步骤,重新编译、连接,运行到第3个断点处,变量窗口中product的值正确。(4)现在需要从被调函数返回到主调函数,单击调试工具条屮的{*?(StepOut(ShaftF11)),程序返回主调函数继续执行(如图5.5所示)。(5)继续单击凰I(go(F5)),程序执行到最后(如图5.6所示),在运行窗口输出101=3628800,与题目要求的结果一致。(6)单击终止
6、调试图标劭(StopDebugging(Shaft+F5)),程序调试结束。图5・3进入函数fact()调试,并在运行时设置断点图5.4程序从函数fact()开始直接运行到第3个断点的位置(wtum前面)test创夭中文VC—[break][test,eppj图5.5程序回到了主调函数图5.6程序执行到最后5-2编程,输入两个正整数m和n,计算(m+n)!/(m!+n!)o要求定义和调用函数fact(n)计算n!,函数类型是double。5—3编程,输入任意实数x和正整数n,计算x的n次幕。要求定义和调用函数power
7、(x,n)计算x的n次幕,其中x和n的类型分别是double和int,函数类型是double。输入输出示例:输入x和n:2102的10次方是1024⑦如何求x1+x2+x3+—+xn5—4编程,输入x,计算并输出下列分段函数f(x)的值。要求定义和调用函数sign(x)实现该分段函数。1x>0f(x)=0x=0-1x<05-5编程,输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表,摄氏温度每次增加5°Co要求定义和调用函数ctof(celsius),将摄氏温度C转换为
8、华氏温度F,计算公式:F=32+C*9/5o5-6编程,给定平面任意二点坐标(x1,y1)W(x2,y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1,x2,y1,y2)计算两点间的距离。输入输出示例:input(x1,y1),(x2,y2):1010200100Distance=210.24提示:模仿5