[计算机类试卷]国家二级C++机试(函数)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C++机试(函数)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(函数)模拟试卷2及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(函数)模拟试卷 2及答案与解析 一、选择题 1 下列关于函数的描述中,错误的是 ( )。 ( A)函数可以没有返回值 ( B)函数可以没有参数 ( C)函数可以是一个类的成员 ( D)函数不能被定义为模板 2 下列关于 C+函数的说明中,正确的是 ( )。 ( A)内联函数就是定义在另一个函数体内部的函数 ( B)函数体的最后一条语句必须是 return语句 ( C)标准 C+要求在调用一个函数之前,必须先声明其原型 ( D)编译器会根据函数的返回值类型和参数表来区分函数的 不同重载形式 3 若有下面的函数调用: fun(a+b, 3, max(n-1, b) 则 fun的
2、实参个数是 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 4 有如下程序: #include iostream using namespace std; void function2(int n); void function1(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; 下列关于程序运行情况的描述中,正确的是 ( )。 ( A) function1运行 1次, f
3、unction2运行 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=“*“); ”下列函数调用中错误的是 ( )。 ( A) fun(5) ( B) fun(5, 8) ( C) fun(6, “ “) ( D) fun(0, 0, “=“) 6 已知函数 FA调用 FB,若要把这两个函数定义在同一个文件中,则 (
4、)。 ( A) FA必须定义在 FB之前 ( B) FB必须定义在 FA之前 ( C)若 FA定义在 FB之后,则 FA的原型必须出现在 FB的定义之前 ( D)若 EB定文在 FA之后,则 FB的原型必须出现在 FA前定义之前 7 下列函数原型声明中,错误的是 ( )。 ( A) int function(int m, int n); ( B) int function(int, int); ( C) int function(int m=3, int n); ( D) int function(int m, int n); 8 在对函数进行原型声明时,下列语法成分中,不需要的是 ( )。
5、( A)函数返回类型 ( B)函数参数列表 ( C)函数名 ( D)函数体 9 关于函数中的返回类型,下列表述中错误的是 ( )。 ( A)返回类型中有可能包含关键字 int ( B)返回类型中有可能包含自定义标识符 ( C)返回类型中有可能包含字符 * ( D)返回类型中可能包含 10 若一个函数的原型为 “int*Xfun1(int x, int & y, char z); ”,则该函数的返回值类型为 ( )。 ( A) int * ( B) int ( C) int & ( D) char 11 有如下程序: #include iostream using namespace std;
6、classA public: static int a; void init()a=1; A(int a=2)int(); a+; ; int A: a=0; A obj; int main() cout obj a; return 0; j 运行时输出的结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 12 有如下程序: #include iostream void fun(int&x, int y)int t=x; x=y; y=t; int main() int a21=23, 42; fun(a1, a0); std: cout a0 “, “ a1 std:
7、endl; return 0; 执行后的输出结果是 ( )。 ( A) 42, 42 ( B) 23, 23 ( C) 23, 42 ( D) 42, 23 13 有如下程序: #include iostream using namespace std; int main() void function(doubleval); double val; function(val); cout val; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是 ( )。 ( A)编译出错,无法运行, ( B)输出: 3 ( C)输出: 3
8、 0 ( D)输出一个不确定的数 14 有如下函数定义: void func(int a, int&b)a+; b+; 若执行代码段: int x=0, y=1; func(x, y); 则变量 x和 y的值分别是 ( )。 ( A) 0和 1 ( B) 1和 1 ( C) 0和 2 ( D) 1和 2 15 己知函数 f的原型是 void f(int *a, long & b);,变量 v1、 v2的定义是: int v1; loong v2; 下列调用语句中正确的是 ( )。 ( A) f(v1, &v2); ( B) f(v1, v2); ( C) f(&v1, &v2); ( D) f
9、(&v1, v2); 16 在下列原型所示的 C+函数中,按 “传值 ”方式传递参数的是 ( )。 ( A) void f1(int x); ( B) void f2(int*x); ( C) void f3(const int*x); ( D) void f4(int&x); 17 下列关于函数参数的叙述中,正确的是 ( )。 ( A)在函数原型中不必声明形参类型 ( B)函数的实参和形参共享内存空间 ( C)函数形参的生存期与整个程序的运行期相同 ( D)函数的形参在函数被调用时获得初始值 18 有如下程序: #include iostream using namespace std; v
10、oid f1(int& x, int& y)int z=x; x=y; y=z; void f2(int x, int y)int z=x; x=y; y=z; int main() int x=10, y=26; f1(x, y); f2(x, y); cout y endl; return 0; 运行时的输出结果是 ( )。 ( A) 10 ( B) 16 ( C) 26 ( D) 36 19 已知函数 f的原型是 “void flint *x, int &y); ”,变量 v1、 v2的定义是 “int v1,v2; ”,下列调用语句中,正确的是 ( )。 ( A) f(v1, v2);
11、 ( B) f(v1, v2); ( C) f(&v1, v2); ( D) f(&v1, &v2); 20 有如下程序: #include iostream using namespace std; void f1(int&x)x+; void f2(int x)+x; int main() int x=10, y=12; f1(x); f2(y); cout x+y endl; return 0; 运行这个程序的输出结果是 ( )。 ( A) 22 ( B) 23 ( C) 24 ( D) 25 21 有如下程序: #include iostream using namespace std
12、; class AA int n; public: AA(int k): n(k) int get()return n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); cout a get() b get(); return 0; 执行后的输出结果是 ( )。 ( A) 55 ( B) 57 ( C) 75 ( D) 77 22 下面是重载为非成员函数的运算符函数原型,其中错误的是 ( )。 ( A) Fraction operator+(Fraction, Fraction); ( B) Fraction ope
13、rator-(Fraction); ( C) Fraction& operator=(Fraction&, Fraction); ( D) Fraction& operator+=(Fraction&, Fraction); 23 关于函数重载,下列叙述中错误的是 ( )。 ( A)重载函数的函数名必须相同 ( B)重载函数必须在参数个数或类型上有所不同 ( C)重载函数的返回值类型必须相同 ( D)重载函 数的函数体可以有所不同 24 有如下程序: #include iostream using namespace std; class MyClass public: MyClass(int
14、 x): val(x) void Print() const cout “const: val=“ Val t; void Print()cout “val=“ Val t; private: int val; ; int main() const MyClass obj1(10); MyClass obj2(20); obj1 Print(); obj2 Print(); return 0; 程序的输出结果是 ( )。 ( A) val=10 const: val=20 ( B) const: val=10 const: val=20 ( C) const: val=10 val=20 (
15、D) val=10 val=20 25 下列有关函数重载的叙述中,错误的是 ( )。 ( A)函数重载就是用相同的函数名定义多个函数 ( B)重载函数的参数列表必须不同 ( C)重载函数的返回值 类型必须不同 ( D)重载函数的参数可以带有默认值 26 若已经声明了函数原型 “void fun(int a, double b=0 0); ”,则下列重载函数声明中正确的是 ( )。 ( A) void fun(int a=90, double b=0 0); ( B) int fun(int a, double B); ( C) void fun(double a, int B); ( D) b
16、ool fun(int a, double b=0 0); 27 对 C+编译器区分重载函数无任何意义的信息是 ( )。 ( A)参数类型 ( B)参数个数 ( C)返回值类型 ( D)常成员函数关键字 const 28 已知函数 fun的原型为 int fun(int, int, int); 下列重载函数原型中错误的是 ( )。 ( A) char fun(int, int); ( B) double fun(int, int, double); ( C) int fun(int, char*); ( D) float fun(hat, int, int); 29 下列关于函数重载的叙述中,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 函数 模拟 答案 解析 DOC
