C++函数作业.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文档。上传文档
查看更多
习题 填空题: 1.1被定义为形参的是在函数中起 (1)起形式 作用的变量,形参只能用 (2)变量名 表示。实参的作用是 (3)具体要处理的数据量 ,实参可以用 (4)变量名 、 (5)常量 、 (6)表达式表示。 1.2局部域包括(1)块域、(2)函数域 。使用局部变量的意义在于 (4)节省存储空间 ,防止错误扩散,使程序易于维护。 1.3静态局部变量存储在(1)全局数据区,在 (2)第一次被执行 时候建立,生命期为 (3)全局生命期 ,如果定义时未显式初始化,则其初值为 (4) 0 。 1.4局部变量存储在 (1)栈区,在 (2)函数被调用或执行到所定义的块中 时候建立,生命期为 (3)局部生命期 如果定义时未显式初始化,则其初值为 (4)随机数 。 1.5编译预处理的作用是 (1)源程序文件进行处理,生成一个中间文件,编译器对此中间文件进行编译并生成目标代码 ,预处理命令的标志是 (2)# 。在多文件系统中,程序由 (3)项目 来管理。用户自定义头文件中通常定义一些 (4) 自己项目中用到的函数 。 1.6 设有函数说明如下: f(int x,int y){return x%y+1;} 假定a=10,b=4,c=5,则下列语句的执行结果分别是: (1)coutf(a,b)+f(a,c); 4 (2)coutf(f(a+c,b),f(b,c)); 5 1.7下列程序的运行结果分别为 (1) 和 (2) (1) #include iostream using namespace std; int a,b; void f(int j){ static int i=a; int m,n; m=i+j;j++;i++;n=i*j;a++; cout”i=”i’\t’”j=”j’\t’; cout”m=”m’\t’”n=”nendl; } int main(){ a=1;b=2; f(b);f(a); cout”a=”a’\t’”b=”bendl; return 0; } 结果是:(1) i=2 j=3 m=3 n=6 i=3 j=3 m=4 n=9 a=3 b=2 (2) #include iostream using namespace std; float sqr(float a){ return a*a;} float p(float x,int n){ cout”in-process:””x=”x’\t’”n=”nendl; if(n==0)return 1; else if(i%2!=0)return x*sqr(p(x,n/2)); } int main(){ coutp(2.0,13)endl; return 0; } 结果是:(2) in-process:x=2 n=13 in-process:x=2 n=6 -1.#IND 二、简答题 2.1 函数的形参和实参是如何对应的?形参和实参的数目必须一致吗?什么情况下可以不一致? 答: 函数的形参和实参是按照位置对应的,一般情况下形参和实参的数目应该一致,当函数定义为具有默认参数的函数时,形参与实参个数可以不同。. 2.2 函数和内联函数的执行机制有何不同?定义内联函数有何意义?有何要求? 答:执行函数时,系统要建立堆栈空间、保护现场、传递参数以及控制程序执行等。内联函数则是在编译过程中直接将内联函数代嵌入到调用函数中。 将函数调用变为顺序执行。 内联函数的本质是空间换时间,所以内联函数只适用于功能简单、代码段小且被重复使用的函数。 2. 3 全局变量和全局静态变量的区别在哪里?为什么提倡尽量使用局部变量? 全局变量存储在全局数据区,在它定义后的所有函数中都可见,而局部变量只在定义它的函数内或块内可见。 使用局部变量可以节省内存空间,不使错误扩散,易于维护。 2.4 函数重载的作用是什么?满足什么条件的函数才可以成为重载函数?重载函数在调用时是怎样进行对应的? 可以用相同的函数名来定义一组功能相同或相似的函数。 参数类型必须不同。 调用时,按如下过程对应: 如果有严格匹配的函数,则调用该函数。 参数内部转换后如果匹配,则调用该函数。 通过用户定义的转换寻求匹配。 2.5 多文件结构的程序是如何进行管理并运行的?采用多文件结构有什么好处? 答:多文件结构是通过工程进行管理的。 首先,可以避免重复性的编译,如果修改了个别函数,只需编译该函数所在的文件即可;其次,将

文档评论(0)

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

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

1亿VIP精品文档

相关文档