国家二级(C++)机试模拟试卷520
选择题
1.以下程序的执行结果是( )。
#includc
class TestClass2
{
public:
TestClass2(){);
TestClass2(hat i,int j);
void printb0;
private:
int a.b;
};
class TestClass l
{
public:
TestClassl(){}
TestClass (C )
A. a=7,b=8
B. a=8,b=7
C. a=7,b=9
D. a=8,b=9
解析:由主函数main入手,定义了TestClassl的对象m,其中参数为7和9。“m.printa();”中TestClassl中printa为“c.printb();”,其中c为TestClass2的对象, 所以printb 为 TestClass2 中的“voidTestClass2::printb()”,即输出为“a=7,b=9”。
2.若有如下程序:
#include
using namespace std;
hat s=0;
class sample
{
static im n;
public:
sample(int i)
{
n=i;
}
static void add()
{
s+=n;
}
};
int sample::n=0;
intmain0
{
s(B )
A. 2
B. 5
C. 7
D. 3
解析:执行语句“sample a(2),b(5)”;的结果是使n的值最终变为5,sample::add()语句调用函数staticvoid add,(),使得S=S+n=5。
3.有如下程序:
#include<iostream>
using namespace std;
class Base{
public:
void fun(){cout<<”Base::fun”<<endl;}
};
class Derived:public Base{
public:
void fun(){
______________
cout<<”Derived::fun”<<endl;
}
};
int main(){
Derived d;
d.fun();
return 0;
}
已知其执行后的输出结果为:
Base::fun
Derived::fun
则程序中下画线处应填入的语句是( )。(B)
A. Base.fun();
B. BaseI:fun();
C. Base一->fun();
D. fun();
解析:本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。本题中想要输出Base::fun,则必须调用基类的公用成员函数fun,所以使用Base::fun();来调用基类的成员函数fun。
4.有如下程序:
#include
using namespace std;
class TestClass
{
int n:
public:
TestClass(int k):n(k){}
int get(){return n;}
int get()const{return n+1;}
};
int main()
{
TestClass p(5);
const TestClass q(6);
cout<<p.getO<<q.get();
return 0;
}
执行后的输出结果是( )。(B)
A. 55
B. 57
C. 75
D. 77
解析:C++中对常对象的成员函数调用,将自动调用其常成员函数,程序中调用原型为\\
5.有如下函数定义:
void func(int a, int& b)
{ a++; b++; }
若执行代码段:
int x = 0, y = 1;
func(x, y);
则变量x和y的值分别是( )。(C)
A. 0和1
B. 1和1
C. 0和2
D. 1和2
解析:函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参。本题中实参x为传值方式,所以x的值不会改变;y为引用形参,所以会改变。故本题答案为C。
6.函数fun的功能是将一个数字字符串转换为一个整数,则横线处应填( )。
int fun(char*str){
int num=0;
while(*str){
num*=10:
num+=_________:
str++:
}
return num;
}(D)
A. char*str)
B. (*str)
C. (0*str)
D. (*p-’0’)
解析:每次循环都需要得出指针当前的数字值,则由字符转化为数字的表达式是“*p-’0’”。
7.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
8.软件设计中划分模块的一个准则是( )。(B)
A. 低内聚低耦合
B. 高内聚低耦合
C. 低内聚高耦合
D. 高内聚高耦合
解析:耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各个模块的内聚性越强,则耦合性越弱。
本文档预览:3600字符,共16051字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载