国家二级(C++)机试模拟试卷223
选择题
1.下列方法中,不属于软件调试方法的是( )。(C)
A. 回溯法
B. 强行排错法
C. 集成测试法
D. 原因排除法
解析:软件调试主要采用以下三种方法:
强行排错法:作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。
回溯法:该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。
原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。
2.下列关于栈的叙述正确的是( )。(B)
A. 栈按\\
B. 栈按\\
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是按\\
3.有如下程序:
#include<iostream>
using namespace std;
class A
{
pubUc:
A(){cout<<”A”;}
-A(){cout<<”一A”;}
};
class B:public A
{
A*P;
public:
B(){cout<<“B”;P=new A();}
一B(){cout<<”-B”;delete p;}
};
int main()
{
B obj;
return 0;
}
执行这个程序的输出结果是( )。(B)
A. BAA~A~B~A
B. ABA~B~A~A
C. BAA~B~A~A
D. ABA~A~B~A
解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的析构函数。所以本题答案为B。
4.在下面的类定义中,横线处应填入的内容是( )。
class Fred
{
public:
void print(){cout<<data<<end 1;}
void setData(double d){data=d;}
static int count;
private:
double data;
};
count=0; //静态数据成员的定义(C )
A. int
B. static int
C. int Fred::
D. static int Fred::
解析:此题考查的是静态数据成员的定义。题目中count数据成员要定义成静态的,其初始化的格式为:类型类名::静态数据成员=常量。
5.深度为7的满二叉树的叶子结点数为( )。(C)
A. 16
B. 32
C. 64
D. 128
解析:根据二叉树的性质,深度为N的满二叉树的叶子结点的数目为2N-1。
6.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
7.下面的符号中可以用作C++标识符的是( )。(D )
A. 3test
B. fcc-other
C. else
D. radius
解析:C++标识符是以字母、下划线开头的,由字母、数字及下划线组成的,不与关键字相同的字符串。选项C)中else为关键字。
8.在类中说明的成员可以使用关键字的是( )。(A)
A. public
B. extem
C. cpu
D. register
解析:extem用于声明外部变量的,register声明寄存器类型变量,无cpu类型。它们都不能声明类成员。public声明为公有访问权限。
9.由于常对象不能被更新,因此( )。(A)
A. 通过常对象只能调用它的常成员函数
B. 通过常对象只能调用静态成员函数
C. 常对象的成员都是常成员
D. 通过常对象可以调用任何不改变对象值的成员函数
解析:本题考查常对象的基本知识,常对象只能调用它的常成员函数,而不能调用非const函数,常对象的成员函数不一定都是常成员函数,只需保证其数据成员是常数据成员即可。所以本题选A。
10.有如下程序:
#include<iostream>
using namespace std;
class TestClass
{
int n;
public:
TestClass(int k):n(k){}
int get(){return n;}
im getOconst{return n+l;}
};
int main()
{
TestClass p(5);
const TestClass q(6);
cout<<p.get()<<q.get();
return 0:
}
执行后的输出结果是( )。(B)
A. 55
B. 57
C. 75
D. 77
解析:C++中对常对象的成员函数调用,将自动调用其常成员函数,程序中调用原型为\\
11.下列语句中,错误的是( )。( B )
A. const intbuffer=-256;
B. const int temp;
C. const double*point;
D. const double*rt=new double(5.5);
解析:符号常量声明语句的语法格式是:const类型名符号常量=初值表达式,选项B)中未给常变量赋初值,故错误;而选项C)中定义的是一个指向浮点型常量的指针,而不是定义一个浮点型常量,所以可以:不赋初值。
12.有如下程序:
#include
using namespace std;
int i=l;
class Fun
{
public:
static int i;
int value(){return i一1;}
int valueoconst{r
本文档预览:3600字符,共16538字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载