全国计算机等级考试二级C语言笔试试题及答案大全_第1页
全国计算机等级考试二级C语言笔试试题及答案大全_第2页
全国计算机等级考试二级C语言笔试试题及答案大全_第3页
全国计算机等级考试二级C语言笔试试题及答案大全_第4页
全国计算机等级考试二级C语言笔试试题及答案大全_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试二级C语言笔试试题及答案

一、选择题(每小题2分,共70分)

(1)下列叙述中正确的是

A)栈是“先进先出”的线性表

B)队列是“先进后出”的线性表

C)循环队列是非线性结构

D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

(2)支持子程序调用的数据结构是

\栈

A7

B树

C队

\

7

D)二叉树

(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是

A)10

B)8

C)6

D)4

(4)下列排序方法中,最坏情况下比较次数最少的是

A)冒泡排序

B)简单选择排序

C)直接插入排序

D)堆排序

(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于

应用软件的是

A)编译程序

B)操作系统

C)教务管理系统

D)汇编程序

(6)下面叙述中错误的是

A)软件测试的目的是发现错误并改正错误

B)对被调试的程序进行“错误定位”是程序调试的必要步骤

C)程序调试通常也称为Debug

D)软件测试应严格执行测试计划,排除测试的随意性

(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是

A)提高耦合性降低内聚性有利他哦高模块的独立性

B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度

D)内聚性是指模块间互相连接的紧密程度

(8)数据库应用系统中的核心问题是

A)数据库设计

B)数据库系统设计

O数据库维护

D)数据库管理员培训

(9)有两个关系R,S如下:

算为

用的运

则所使

系S,

到关

算得

过运

系R通

由关选择

A)投影

B)插入

C)连接

D)

示为

可以表

联系都

实体和

时,

系模式

换为关

R图转

将E-

(10)

A)属

B)键

C)关

D)域

的信息

何意义

数无任

重载函

器区分

+编译

对C+

(11)

数类型

A)参

数个数

B)参

回值类

C)返

st

字coa

关键

函数

成员

D)常

定义

变量

义和

类定

有如下

(12)

A(

class

:

publie

;}

{data=O

AO

){}

~A(

a;}

dat

eturn

{r

coast

()

ta

GetDa

int

=n;}

{data

intn)

ta(

SetDa

void

e:

privat

a;

intdat

};

;

Aa

ccnst

Ab;

的是

中错误

数调用

下列函

()

tData

.Ge

A)a

0);

(1

tData

.Se

B)a

()

tData

.Ge

C)b

);

(10

tData

.Se

D)b

义:

量定

和变

定义

下类

有如

(13)

{

ents

Par

class

:

public

ata;

blicu

intpu

e:

privat

Data;

ivate

intpr

);

};

略*/

/*类体

nts{

Pare

blic

dA:pu

Chil

class

);

略*/

{/*类体

ents

Par

ivate

dB:pr

Chil

class

Aa;

Child

b;

ChildB

确的是

句中正

下列语

;

dl

«en

ata

blicD

a.pu

out«

A)c

;

dl

«en

Data

ivate

a.pr

out«

B)c

l;

<<end

ata

blicD

b.pu

out«

C)c

;

<<endl

Data

ivate

b.pr

out«

D)c

性质是

保持的

不需要

重载时

运算符

(14)

作数个

A)操

B)操作数类型

C)优先级

D)结合性

(15)下列关于函数模板的描述中,错误的是

A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

B)对于常规参数所对应的模板实参,任何情况下都不能省略

C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

D)模板参数表不能为空

(16)要建立文件流并打开当前目录下的文件fil6.dat用于输入,下列语句中错误的是

A)ifstreamfin=ifstrearn,open("file.dat");

B)ifstream*fir.=newifstream("file.dat");

C)ifstreamfin;fin.open("file.dat");

D)ifstream*fin=newifstream();fin—>open("file.dat");

(17)下列描述中,不属于面向对象思想主要特征的是

A)封装性

B)跨平台性

C)继承性

D)多态性

(18)有如下程序段:

Tnti=4;intj=l;

intmain(){

inti=8,j=i;

cout<<i«j<<endl;

)

运行时的输出结果是

A)44

B)41

C)88

D)81

(19)有如下程序段:

inti=5;

while(inti=0){cout《'*';i一一;}

运行时输出“*”的个数是

A)0

B)1

C)5

D)无穷

(20)己知有数组定义

chara[3][4];

下列表达式中错误的是

A)a[2]="WIN”

B)strcpy(a[2],"WIN”)

C)a[2][3]='W'

D)a[0][l]=a[0][l]

(21)已知函数fun的原型为

intfun(int,int,int);

下列重载函数原型中错误的是

A)charfun(int,int);

B)doublefun(int,int,double);

C)intfun(int,char*);

D)floatfun(int,int,int);

(22)建立一个类对象时,系统自动调用

A)析构函数

B)构造函数

C)静态函数

D)友元函数

(23)通过派生类的对象可直接访问其

A)公有继承基类的公有成员

B)公有继承基类的私有成员

C)私有继承基类的公有成员

D)私有继承基类的私有成员

(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符

函数调用形式为

A)a.orerator++(1)

B)operator++(a)

C)operator++(a,1)

D)a.operator++()

(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是

A)()

B)[]

C)<>

D)(}

(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方

式为

A)ios_base::in

B)ios_base::in|ios_base::out

C)iosbase::out

D)iosbase::in&iosbase::out

(27)有如下程序:

#include<iostream>

#include<cstring>

usingnamespacestd;

classXCD{

char*a;

intb;

public:

XCD(char*aa,intbb){

a=newchar[strlen(aa)+1];

strcpty(a,aa);

b二bb;

)

Char*Geta(){returna;)

intGetb(){returnb;}

);

intmain(){

char*pl="abed”,*p2="weirong”;

intdl=6,d2=8;

XCDx(pl,dl),Y(p2,d2);

cout«strien(x.Geta())+y.Getb()+endl;

return0;

运行时的输出结果是

A)12

B)16

C)14

D)11

(28)有如下程序:

#include<iostream>

#include<cstring>

usingnamespacestd;

classXCF{

inta;

public:

XCF(intaa=O):a(aa){cout<<“1";}

XCF(XCF&x){a=x.a;cout<<“2";)

~XCF(){cout«a;}

intGeta(){returna;}

);

intmain(){

XCFdl(5),d7(dl);

XCF*pd=newXCF(8);

cout«pd一)Geta();

deletepd;

return0;

)

运行时的输出结果是

A)121SS88

B)12188SS

C)12185

D)128512

(29)已知类MyClass声明如下:

classMyClass{

intn;

public;

MyClass(intk):n(k){)

intgetValue()const(returnn;}

);

在下列数组定义中正确的是

A)MyClassxl[2];

B)MyClassx2[2]={newMyClass(1),newMyClass(2)};

C)MyClass*x3[2];

D)MyClass*x4[2]={MyClass(1),MyClass(2)};

(30)有如下程序:

#include<iostream>

usingnamespacestd;

classAA{

liltk;

protected:

intn;

voidsetK(intk){this->k=k;}

public:

voidsetN(intn){this->n=n;}

);

classBB:public}{/*类体略*/};

intmain(){

BBx_;//I

x.n=l;//2

x.setN(2);//3

x.k=3;//4

x.setK(4);

return0;

)

在标注号码的四条语句中正确的是

A)1

B)2

C)3

D)4

(31)有如下类定义:

classXX{

intxx;

public:

XX():xx(0){cout«,A';}

XX(intn):xx(n){tout<<,B';}

);

ClassYY:publicXX{

Intyy;

public:

YY():yy(0){cout+yy;}

YY(intn):XX(n+1),yy(n){cout«yy;}

YY(intm,intn):XX(m),yy(n){cout<<yy;}

);

下列选项中,输出结果为AO的语句是

A)YYyl(0,0);

B)YYy2(1);

C)YYy3(0);

D)YYy4;

(32)有如下程序:

#include<iostream>

Usingnamespacestd;

classA{

public:

virtualvoidf(){cout+1;}

voidg(){cout<<2;}

);

classB:publicA(

public:

virtualvoidf(){cout<<3;}

voidg(){ecut<<4;}

);

voidshow(A&a)(a.f();a.g();}

intmain(){

Bb;

show(b);

return0;

运行时的输出结果是

A)12

B)34

C)14

D)32

(33)有如下程序:

#include<iostream>

usingnamespacestd;

classPair{

intin;

intn;

public:

Pair(inti,intj):m(i),n(j){)

bootoperator>(pairp)const;〃须在类体外给出定义

};

intmain(){

PairAl(3,4),p2(4,3);p3(4,5);

Cout«(pl>p2)«(P2>P1)«(p2>p3)«(p3>p2);

return0;

)

运算符函数。operator)的功能是比较两个Pair对象的大小,当左边对象大时,返

回true,否则返回false。比较规则是首先比较两对象的m成员,m大者为大;当m相等时

比较n,n大者为大。程序输出0101,下列对运算符重载函数的正确定义是

A)boolPair::operator>(Pairp)const

{if(m!=p.m)returnm>p.m;returnn>p.n;}

B)boolPair:;operator>(Pairp)

{if(m!=p.m)returnm>p.m;returnn>p.n;}

C)boolPair::operator>(Pairp)const

{if(m>p.m)returntrue;returnn>p.n;)

D)boolPair:;operator>(Pairp)

{if(m>p.m)returntrue;returnn>p.n;}

(34)假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句

不同的语句是

A)cout«setfill('*')«123«setw(9)«321;

B)cout«setfill('*')«setw(6)<<left«123«setw(6)«right<<321;

C)cout«123«setfill()«setw(6)«321;

D)cout«setfill()«SetW(9)<<left«123«321;

(35)有如下程序:

#include<iostream>

usingnamespacestd;

class0NE{

intc;

public:

ONE():c(0){cout«l;}

ONE(intn):c(n){cout<<2;}

);

classTW0{

ONEonel;

ONEone2;

public:

TWO(intm):one2(m){cout<<3;}

);

intmain()t

TWOt(4)

return0

)

运行时的输出结果是

A)3

B)23

C)123

D)213

二、填空题(每空2分,共30分)

(1)假设用一个长度为50的数组(数组元索的下标从0到49)作为栈的存化空间,栈

底指针bottom指间栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,

top=30(数组下标),则栈中具有【1】个元素。

(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。

(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】o

(4)数据库系统的核心是14】。

(5)在E-K图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。

(6)有如下程序段:

intx=l,Y=2,z=3;

x=xz;

y二y'z;

z=x*y;

cout<<x<<y<<z;

执行这个程序段的输出是【6】o

(7)有如下程序段:

fer(inti=l;i<=50;i++){

if(i%3!=0)

continue;

else

if(i%5!=0)

continue;

tout«i«”;

}

执行这个程序段的输出是【7】。

(8)有如下程序段:

Charc[20]="examination”;

c⑷二0;

cout«c«endl;

执行这个程序段的输出是【8】o

(9)下面的函数利用递归实现了求1+2+3+……+n的功能:

intsum(intn){

if(n==0)

return0;

else

returnn+sum(n-l);

)

在执行sum(10)的过程中,递归调用sum函数的次数是【9】。

(10)非成员函数应该声明为类[10]函数才能访问该类的私有成员。

(11)有如下程序:

#include<iostream>

usingnamespacestd;

classMonitor{

public:

Monitor(chart):type(t){}

voidprint()const

{cout«”Thetypeofmonitoris"«type<<endl;}

private:

chartype;

);

classComputer(

public:

Computer(inti,charc):[11]{}

voidPrint()const

{cout«aThecomputerisv<<id<<endl;mon.Print();}

private:

intid;

Monitormon;

};

constComputermyComputer(101,'B');

myComputer.Print();

return0;

)

请将程序补充完整,使程序在运行时输出:

Thecomputeris101

,Thetypeofmonitori.s8

(12)有如下程序:

#include<iostream>

usingnamespacestd

classAnimal{

public:

virtualchar*getType()const{return“Animal";}

virtualchar*getVoice()const{return“Voice";}

};

ClassDog:publicAnimal{

public:

char*getType()const{return“Dog”;}

char*getVoice()const{return“Woof"}

);

voidtype(Animal&a){cout«a.getType();}

voidspeak(Animala){cout<<a.getVoice();}

intmain(){

Dogd;type(d);cout<<"speak";speak(d);cout«endi;

return0;

)

运行时的输出结果是[12]o

(13)补充完整下面的类定义:

constdoublePI=3.14;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论