实验3 函数.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3 函数

实验3 函数 实验目的 复习并掌握C++函数的定义方法和调用形式。 学习使用函数原型来声明函数。 掌握函数参数的传递方式,透彻理解值传递方式和引用传递方式之间的区别。 掌握递归函数的设计方法。 学习并掌握函数重载技术。 学习并掌握函数模板技术。 进一步学习程序的调试方法。 实验任务 编写一个函数完成两个整数的加法运算,并返回运算结果。要求使用函数原型声明该函数。 定义一个函数计算一个正整数各位数字之和,要求不使用函数返回值和指针返回运算结果。 编写递归函数求解n阶勒让德多项式的值。已知勒让德多项式的推导公式如下: 1 (n=0) Pn(x)= x (n=1) [(2n-1)*Pn-1(x)-(n-1)*Pn-2(x)]/n 编写一组重载的函数分别计算两个短整数的加法,两个普通整数的加法,两个单精度浮点数的加法和两个双精度浮点数的加法。 编写一个函数模板,计算两个数值的加法。并使用这个函数模板求出任意两个整数和任意两个浮点数的和。 进一步学习VC++编程环境的程序调试功能。 实验步骤 创建VC++控制台应用程序exp3_1,编写一个函数add,实现两个整数的加法,并使用函数原型声明该函数。在main函数中从键盘输入两个整数,使用它们作为参数调用add函数计算并返回两个整数的和,并在main函数中输出结果。 创建控制台应用程序exp3_2,编写函数sum用来计算并一个正整数的各位数字之和,但不能使用函数返回值和指针来返回计算结果。在main函数中从键盘输入一个正整数,调用函数sum计算各位数字之和,再于main函数中输出结果。 创建控制台应用程序exp3_3,在其中编写递归函数Lpolynomial,用来计算n阶勒让德多项式的值。函数原型如下: float Lpolynomial(int n, int x); 在程序的主函数main中从键盘输入两个正整数x和n,调用函数Lpolynomial来计算x的n阶勒让德多项式的值。提示,勒让德多项式的前两项分别是1和x,因此递归应该从第三项开始。第三项的值可以通过递归由前两项得到,依次类推,第n项的值可以由第n-1项和第n-2项推得。请同学们根据任务3中的公式写出求解勒让德多项式值的递归函数。 创建控制台应用程序exp3_4,在其中编写一组名为add的重载函数,分别实现两个短整数、两个普通整数、两个单精度浮点数和两个双精度浮点数的加法运算,并返回它们的和。然后在程序的主函数main中分别调用它们以验证设计的正确性。 创建控制台应用程序exp3_5,在其中设计一个函数模板add,用于完成两个相同类型的参数变量的加法运算。并在程序的主函数main中,分别使用单字节整数,普通类型的整数和单精度浮点数作为参数调用这个模板函数,以验证设计的正确性。 下面几步我们接着学习几种程序的调试技术。包括设置和使用断点,进入函数进行单步调试。首先学习如何在程序中设置断点。 创建控制台应用程序exp3_6,在其中添加C++源文件exp3_6.cpp,向其中输入下面的程序代码: #includeiostream using namespace std; int average(int *p,int n) { int i,sum=0; for(i=0;in;i++); sum+=p[i]; return sum/n; } void main() { int aver,array[10]; cout请输入10个整数:; for(int i=0;i10;i++) cinarray[i]; aver=average(array,10); cout10个整数的平均值为averendl; } 上面是一段可以通过编译的程序,其中,函数average的功能是求整型数组中所有元素的平均值,第一个参数p是一个指向整型数组的指针,第二个参数n表示整型数组中元素的个数。主函数main中创建整型数组,并从键盘输入所有元素,然后调用函数average求元素的平均值,最后输出结果。程序虽然可以通过编译,并正常运行,但得不到正确的结果。因为其中存在一个逻辑错误。下面我们通过调试程序,发现并改正其中的错误。 首先我们在主函数中插入一个断点,设置断点的作用是在程序调试运行时,可以在断点所标示的语句处暂停执行,以便程序员观察执行到该处时程序中各个变量的值,以发现程序中存在的逻辑错误。对于规模非常大的程序,从第一条语句开始毫无目的的单步调试,调试工作量会非常巨大。这时程序员就可以在程序中有可能发生错误的语句处设置断点,使程序直接运行到断点处再暂停运行,然后利用单步调试等技术寻找程序中存在的错误。

文档评论(0)

saa9099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档