TOP

2009年9月全国计算机等级考试二级笔试试卷(一)
2012-06-05 20:50:01 来源: 作者: 【 】 浏览:408次 评论:0
微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!

20099月全国计算机等级考试二级笔试试卷

C语言程序设计

(考试时间90分钟,满分100分)

一、选择题((1)-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分)

(1)下列数据结构中,属于非线性结构的是
A)循环队列
B)带链队列
C)二叉树
D)带链栈

(2)下列数据结果中,能够按照“先进后出”原则存取数据的是
A)循环队列
B)栈
C)队列
D)二叉树

(3)对于循环队列,下列叙述中正确的是
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针

(4)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数

(5)软件设计中划分模块的一个准则是
A)低内聚低耦合
B)高内聚低耦合
C)低内聚高耦合
D)高内聚高耦合

(6)下列选项中不属于结构化程序设计原则的是
A)可封装
D)自顶向下
C)模块化
D)逐步求精

(27)有如下程序:
#include 
using namespace std;
class Toy{
public:
Toy(char* _n) { strcpy (name,_n); count++;}
~Toy(){ count--; }
char* GetName(){ return name; }
static int getCount(){ return count; }
private:
char name[10];
static int count;
};
int Toy::count=0;
int mail(){
Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);
cout<<t1.getcount()<<endl;
return 0;
}
运行时的输出结果是
A)1
B)2
C)3
D)运行时出错</t1.getcount()<<endl;

(28)有如下程序
#include 
using namespace std;
class A {
public:
A(int i):rl(i) {}
void print() {cout<<’e’<<r1<<’-‘;}
void print() const {cout<<’C’<<rl*rl<<’-‘;}
private:
int rl;
};
int main(){
A al(2);     const A a2(4);
Al.print();a2.print();
Return 0;
}
运行时的输出结果是
A)运行时出错
B)E2-C16-
C)C4-C16-
D)E2-E4-</rl*rl<<’-‘;}
</r1<<’-‘;}

(11)已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则
A)FA必须定义在FB之前
B)FB必须定义在FA之前
C)若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D)若FB定义在FA之后,则FB的原型必须出现在FA的定义之前

(12)有如下两个类定义
class AA{};
class BB{
AA v1,*v2;
BB v3;
Int *v4;
};
其中有一个成员变量的定义是错误的,这个变量是
A)v1
B)v2
C)v3
D)v4

(13)有如下类定义:
class XX{
int xdata;
public:
XX(int n=0) :  xdata (n) { }
};
class YY : public XX{
int ydata;
public:
YY(int m=0, int n=0) : XX(m), ydata(n) { }
};
YY类的对象包含的数据成员的个数是
A)1
B)2
C)3
D)4

   (14)下列有关运算符函数的描述中,错误的是
A)运算符函数的名称总是以operator为前缀
B)运算符函数的参数可以是对象
C)运算符函数只能定义为类的成员函数
D)在表达式中使用重载的运算符相当于调用运算符重载函数

(15)下列关于模板形参的描述中,错误的是
A)模板形参表必须在关键字template之后
B)模板形参表必须用括弧( )括起来
C)可以用class修饰模板形参
D)可以用typename修饰模板形参

(16)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
A)ios_base::cur
B)ios_base::beg
C)ios_base::out
D)ios_base::end

(17)下列字符串可以用作C++标识符的是
A)2009var
B)goto
C)test - 2009
D)_123

(18)下列枚举类型的定义中,包含枚举值3的是
A)enum test {RED, YELLOW, BLUE, BLACK};
B)enum test {RED, YELLOW=4, BLUE, BLACK};
C)enum test {RED=-1, YELLOW,BLUE, BLACK};
D)enum test {RED, YELLOW=6, BLUE, BLACK};

(19)有如下程序段:
int i=1;
while (1) {
i++;
if(i == 10)  break;
if(i%2 == 0)  cout << ‘*’;
}
执行这个程序段输出字符*的个数是
A)10
B)3
C)4
D)5

(20)已知数组arr的定义如下:
int arr[5] = {1,2,3,4,5};
下列语句中输出结果不是2的是
A)cout << *arr+1 <<endl;
B)cout << *(arr+1)<<endl;
C)cout << arr[1] <<endl;
D)cout << *arr <<endl;< p=""></endl;<></endl;
</endl;
</endl;

(21)计算斐波那契数列第n项的函数定义如下:
Int fib(int n){
if (n == 0)         return 1;
else if (n == 1)   return 2;
else              return fib(n-1)+fib(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是
A)1
B)2
C)3
D)4

  (22)Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是
Sample a[2], *p = new Sample;
A)0
B)1
C)2
D)3

(23)下列关于虚基类的描述中,错误的是
A)使用虚基类可以消除由多继承产生的二义性
B)构造派生类对象时,虚基类的构造函数只被调用一次
C)声明“class B : virtual public A”说明类B为虚基类
D)建立派生类对象时,首先调用虚基类的构造函数

(24)将运算符重载为类成员函数时

Tags: 责任编辑:91kaoshiwang
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2012年3月全国计算机等级考试二级.. 下一篇2011年3月计算机等级考试二级Acce..

相关栏目

最新文章

推荐文章

网站客服QQ: 960335752 - 14613519 - 48225117