【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc

上传人:赵齐羽 文档编号:1331715 上传时间:2019-10-17 格式:DOC 页数:11 大小:63KB
下载 相关 举报
【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc_第1页
第1页 / 共11页
【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc_第2页
第2页 / 共11页
【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc_第3页
第3页 / 共11页
【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc_第4页
第4页 / 共11页
【计算机类职业资格】国家二级C++机试(函数)模拟试卷7及答案解析.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、国家二级 C+机试(函数)模拟试卷 7 及答案解析(总分:66.00,做题时间:90 分钟)一、选择题(总题数:33,分数:66.00)1.下列关于函数的描述中,错误的是( )。(分数:2.00)A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板2.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C*要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式3.若有下面的函数调用: fun(

2、a+b,3,max(n-1,b) 则 fun 的实参个数是( )。(分数:2.00)A.3B.4C.5D.64.有如下程序: #includeiostream using namcspace std; void function2(int n); void functionl(int n) if(n=0)return; function2(n-2); void function2(int n) if(n=0)return; functionl(n-1); int main() function1(5); return 0; 下列关于程序运行情况的描述中,正确的是( )。(分数:2.00)A.f

3、unction1 运行 1 次,function2 运行 2 次B.function1 运行 2 次,function2 运行 1 次C.function1 运行 2 次,function2 运行 3 次D.function1 运行 2 次,function2 运行 2 次5.假设函数 fun 已经定义,其原型为“void fun(int a,int b=7,char*p=*);”下列函数调用中错误的是( )。(分数:2.00)A.fun(5)B.fun(5,8)C.fun(6,“#)D.fun(0,0,=)6.已知函数 FA 调用 FB,若要把这两个函数定义在同一个文件中,则( )。(分数:

4、2.00)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前7.下列函数原型声明中,错误的是( )。(分数:2.00)A.int function(int m,int n);B.int function(int,int);C.int function(int m=3,int n);D.int function(intm,int int getoconstreturn n+1; ; int main() AAa(5); cons

5、t AA b(6); coutaget()bget(); return 0; 执行后的输出结果是( )。(分数:2.00)A.55B.57C.75D.7722.下面是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fraction else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是( )。(分数:2.00)A.1B.2C.3D.4国家二级 C+机试(函

6、数)模拟试卷 7 答案解析(总分:66.00,做题时间:90 分钟)一、选择题(总题数:33,分数:66.00)1.下列关于函数的描述中,错误的是( )。(分数:2.00)A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板 解析:解析:C+是一种强类型语言,它要求对于每一个实现都要有一个实例,这给程序员带来很多不便性。函数模板提供一种用来自动生成各种类型函数实例的算法,程序员只需要初始化其中部分参数和返回值,或者都不初始化,只需要申明通用的类型,而函数体则不需要改变。2.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义

7、在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C*要求在调用一个函数之前,必须先声明其原型 D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式解析:解析:此题考查的是有关函数的概念。内联函数是在函数定义之前加关键字 inline 来声明的函数,而不是定义在另一个函数体内部的函数,故选项 A 错误;无返回值的函数在执行完最后一条语句后,会自动返回而不必加入 return 语句,故选项 B 错误;如果函数只是返回值类型不同,而其它完全相同,则不能作为函数重载来使用,故选项 D 错误。3.若有下面的函数调用: fun(a+b,3,max(n-1,b

8、) 则 fun 的实参个数是( )。(分数:2.00)A.3 B.4C.5D.6解析:解析:此蹶考查的是函数的调用,C+中函数调用的一般形式为:函数名(实参表),其中实参表是用逗号分隔的一系列表达式。因此,本题中 fun()函数的实参表由 a+b、3 和 max(n-1,b)组成。4.有如下程序: #includeiostream using namcspace std; void function2(int n); void functionl(int n) if(n=0)return; function2(n-2); void function2(int n) if(n=0)return;

9、 functionl(n-1); int main() function1(5); return 0; 下列关于程序运行情况的描述中,正确的是( )。(分数:2.00)A.function1 运行 1 次,function2 运行 2 次B.function1 运行 2 次,function2 运行 1 次C.function1 运行 2 次,function2 运行 3 次D.function1 运行 2 次,function2 运行 2 次 解析:解析:在主函数中执行 function1(5)时,会调用 function2(3),function2(3)又会调用function1(2),f

10、unction1(2)又会调用 function2(0),到此相互调用结束。所以 function1()和function2()各执行了 2 次。5.假设函数 fun 已经定义,其原型为“void fun(int a,int b=7,char*p=*);”下列函数调用中错误的是( )。(分数:2.00)A.fun(5)B.fun(5,8)C.fun(6,“#) D.fun(0,0,=)解析:解析:根据函数 fun()的定义,其前两个形参为整型变量,第三个形参为字符型变量。所以在调用时,必须符合形参的数据类型,而选项 C 的第二个实参的数据类型为字符串,不符合第二个形参的数据类型。6.已知函数

11、FA 调用 FB,若要把这两个函数定义在同一个文件中,则( )。(分数:2.00)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前 解析:解析:在 C+中,在调用任何函数之前,必须确保它已有原型说明。函数原型说明通常放在程序文件的头部,以使得该文件中所有函数都能调用它们。在本题中,当函数 FA 调用 FB 时,函数 FB 可以定义在 FA 的后面,但是 FB 的原型必须出现在 FA 的定义之前,因而选项 D 为正确答案。7.

12、下列函数原型声明中,错误的是( )。(分数:2.00)A.int function(int m,int n);B.int function(int,int);C.int function(int m=3,int n); D.int function(intm,int int getoconstreturn n+1; ; int main() AAa(5); const AA b(6); coutaget()bget(); return 0; 执行后的输出结果是( )。(分数:2.00)A.55B.57 C.75D.77解析:解析:此题考查的是常成员函数和函数的重载。所谓函数重载,是指同一个函数

13、名可以对应着多个函数实现。一般对象 a 既可以调用普通成员函数 get,也可以调用常成员函数 get,由于常成员函数不能更新对象的数据成员,所以题目中通过对象 a 调用的函数为常成员函数:常对象 b 只能调用普通成员函数。22.下面是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fraction else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是( )。(分数:2.00)A.1B.2 C.3D.4解析:解析:斐波那契数列是递归函数,所以 fib(2)=fib(1)+fib(0)=2+1=3。因而执行函数调用表达式fib(2)时,函数 fib 被调用的次是 2 次。

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1