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