历年二级C真题及答案.docx

上传人:b****2 文档编号:27865 上传时间:2022-10-01 格式:DOCX 页数:104 大小:192.65KB
下载 相关 举报
历年二级C真题及答案.docx_第1页
第1页 / 共104页
历年二级C真题及答案.docx_第2页
第2页 / 共104页
历年二级C真题及答案.docx_第3页
第3页 / 共104页
历年二级C真题及答案.docx_第4页
第4页 / 共104页
历年二级C真题及答案.docx_第5页
第5页 / 共104页
点击查看更多>>
下载资源
资源描述

历年二级C真题及答案.docx

《历年二级C真题及答案.docx》由会员分享,可在线阅读,更多相关《历年二级C真题及答案.docx(104页珍藏版)》请在冰豆网上搜索。

历年二级C真题及答案.docx

历年二级C真题及答案

公共基础知识及C++语言程序设计

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

(1)C

(2)C(3)B(4)A(5)D

•、选择题(⑴〜(35)每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有•个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下面叙述正确的是

A)算法的执行效率与数据的存储结构无关

B)算法的空间复杂度是指算法程序中指令(或语句)的条数

C)算法的有穷性是指算法必须能在执行有限个步骤之后终II:

D)以上三种描述都不对

(2)以下数据结构中不属于线性数据结构的是

A)队列B)线性农C)二叉树D)栈

⑶在•棵二叉树上第5层的结点数最多是

A)8B)16C)32D)

(4)下面描述中,符合结构化程序设计风格的是

A)使用顺序、选择和重复(循环)三种基本控制结构农示程序的控制逻辑

B)模块只有-个入口,可以有多个出口

C)注重提高程序的执行效率

D)不使用goto语句

(5)下面概念中,不属于面向对象方法的是

A)对象B)继承C)类D)过程调用

(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是

A)可行性分析B)需求分析C)详细设计D)程序编码

(7)在软件开发中,下面任务不属于设计阶段的是

A)数据结构设计B)给出系统模块结构

C)定义模块算法D)定义需求并建立系统模型

(8)数据库系统的核心是

A)数据模型C)软件工具

B)数据库管理系统D)数据库

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

A)数据库系统是•个独立的系统,不需耍操作系统的支持

B)数据库设计是指设计数据库管理系统

C)数据库技术的根本目标是要解决数据共学的问题

D)数据库系统中,数据的物理结构必须与逻辑结构-致

(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是

A)内模式B)外模式C)概念模式D)逻辑模式

(11)关于面向对象的程序设计方法,下列说法正确的是

A)“封装性”指的是将不同类型的相关数据组合在-起,作为•个整体进行处理

B)“多态性“指的是对象的状态会根据运行时要求自动变化

C)基类的私有成员在派生类的对象中不可访问,也不占内存空间

D)在而向对象的程序设计中,结构化程序设计方法仍有若重要作用

(12)判断字符型变量ch是否为大写英文字付,应使用农达式

A)ch>=A&ch<=*Z'B)chv=Allch>=Z

C),A*<=ch<=,Z,D)ch>二A&&chv二Z

(13)已知下列语句中的x和y都是int型变虽,其中错误的语句

A)x=y++:

B)x=++y;C)(x+y)++;D)++x二y;

(14)执行语句序列

intn:

cin»n;

switch(n)

{case1:

case2:

coutvvT;

case3:

case4:

cout«2;break:

default:

cout«3;

}

时,若键盘输入1,则屏幕显示

A)1B)2C)3D)12

(15)下列程序的输岀结果是

#include

usingnamespacestd:

intmainf)

{

chara[]=“Hello,World”;

char*ptr=a;

while(*ptr)

{

if(*ptr>='a*&&*ptr<=*zr)

cout«char(*ptr+'A'

elsecout«*ptr;

ptr++;

}

return0;

}

A)HELLO.WORLDB)Hello,World

C)hELLO.WORLDD)hello,world

(16)已知:

inlm=10;在下列定义引用的语句中,正确的是

A)int&x二m:

B)inty二&m:

C)int&z;D)int&t=&m;

(17)下列函数原型声明中错谋的是

A)voidFun(intx=0,inty=0);

B)voidFun(intx,inty);

C)voidFun(intx,inty=0);

D)voidFun(intx=0,inty);

(18)己知程序中己经定义了函数test,其原型是inttest(int,int.int);,则下列重载形式中正确的是

A)chartest(int.intjnt);

B)doubletest(int.int,double);

C)inttest(int,intjnt=O);

D)floattest(int,int,float=3.5F);

(19)有以下程序

#include

inti=0;

voidfun()

{{

staticinti=1;

std:

:

cout«i++«V;

}

std:

:

cout«i«V;

}

intmain()

{

fun();fun();

return0;

}

程序执行后的输出结果是

A)1,2,1,2,B)1.2,2.3,C)2.0,3,0.D)1.0.2A

(20)已知函数f的原型是:

voidf(int*a.long&b);变虽vl、v2的定义是:

intv1Jongv2:

.正确的调用语句是

A)f(vl.&v2);B)f(vl,v2);

C)f(&vl,v2);D)f(&vl.&v2);

(21)有以下类定义

classMyClass

{

public:

MyClass(){cout«1;}

};

则执行语句MyClassa.b[2).叩⑵;后,程序的输出结果是

A)llB)lllC)llllD)IIII1

(22)关于友元,下列说法错误的是

A)如果类A是类B的友元,那么类B也是类A的友元

B)如果函数fun()彼说明为类A的友元,那么在fun()中可以访问类A的私有成员

C)友元关系不能彼继承

D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元

(23)关于动态存储分配,下列说法正确的是

A)new和delete是C++语言中专门用于动态内存分配和释放的函数

B)动态分配的内存空间也可以彼初始化

C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间

D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

(24)有以下程序

#include

usingnamespacestd:

classMyClass

{

public:

MyClass(intn){number=n;}

〃拷贝构造函数

MyClass(MyClass&olher){number=other.number;}

^MyClass(){}

private:

intnumber:

};

MyClassfun(MyClassp)

{

MyClasstemp(p);

returntemp;

I

intmain()

{

MyClassobjl(10),obj2(0);

MyClassobj3(obj1);

obj2=fun(obj3);

return0;

}

程序执行时,MyClass类的拷贝构造函数彼调用的次数是

A)5B}4C)3D)2

(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的

A)公有成员和私有成员B)私有成员和保护成员

C)公有成员和保护成员D)私有成员、保护成员和公有成员

(26)在C++中用来实现运行时多态性的是

A)重载函数B)析构函数

C)构造函数D)虚函数

(27)•个类可以同时继承多个类,称为多继承。

下列关于多继承和虚基类的农述中,错误的是

A)每个派生类的构造函数都要为虚基类构造函数提供实参

B)多继承时有可能出现对基类成员访问的二义性问题

C)使用虚基类可以解决二义性问题并实现运行时的多态性

D)建立最派生类对象时,虚基类的构造函数会首先被调用

(28)在-个类体的下列声明中,正确的纯虚函数声明是

A)virtualvoidvf()=0;B)voidvf(int)=O;

C)virtualintvf(int);D)virtualvoidvf(int){}

(29)在下面的运算符重载函数的原型中,错谋的是

A)Volumeoperator-(double,double);

B)doubleVolume:

:

operator-(double);

C)VolumeVolume:

:

operator・(Volume);

D)Volumeoperator・(Volume,Volume);

(30)下列是模板声明的开始部分,其中正确的是

A)template

B)template

C)template

D)template

(31)执行语句序列

ofstreamoutfile(HDATA.DATH);

if(..・)cout«”OK”;elsecout«“FAIL”;

后,如果文件打开成功显示“OK”,否则就显示“F厶n。

”。

由此可知,上[fiiif语句的...处的农达式应是

A)outfile.fail()或outfileB)outfile.good()或loutfile

C)outfile.good()或outfileD)outfile.fail()或loutfile

(32)C++流中重载的运算符>>是•个()

A)用于输出操作的非成员函数B)用于输入操作的非成员函数

C)用于输出操作的成员函数D)用于输入操作的成员函数

(33)有以下类定义

classPoint{

public:

Point(intx=0.inty=0){_.x=x:

_.y=y;}

voidMove(intxOff,intyOff)

{_x+=xOff:

_.y+=yOff;}

voidPrint()const

{cout«f«_x««_y«y«endl:

}

private:

};

下列语句中会发生编译错误的是

A)Pointpt;pt.Print();

B)constPointpt;pt.Print();

C)Pointpt;pt.Move(l,2):

D)constPointpt:

pt.Move(l,2);

(34)有以下类定义

classMyClass

{

private:

intid;

chargender.

char*phone:

public:

MyCiass():

id(0),gender(,#,),phone(NULL){}

MyClass(intno,charge=#\char*ph=NULL){id=no;gende=ge:

phone=ph:

}

};

下列类对象定义语句中错误的是

A)MyClassmyObj;

B)MyClassmyObjd

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1