[计算机类试卷]国家二级(C++)笔试模拟试卷67及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷67及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷67及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 67及答案与解析 1 下列有关算法的描述中,错误的是 ( )。 ( A)所谓算法是指解题方案的准确而完整的描述 ( B)算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等 ( C)算法的复杂度主要包括时间复杂度和空间复杂度 ( D)算法的时间复杂度是指执行算法程序所需要的时间 2 下列叙述中,正确的是 ( )。 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是是线性结构 3 栈是限定在一端进行插入 与删除的线性表,那么其组织数据的原则是 ( )。 ( A) FISO ( B) FIFO ( C) LI
2、LO ( D) FILO 4 一个队列的进队列顺序是 1, 2, 3, 4,则出队列顺序为 ( )。 ( A) 4, 3, 2, 1 ( B) 2, 4, 3, 1 ( C) 1, 2, 3, 4 ( D) 3, 2, 1, 4 5 在下列排序方法中,平均时间性能为 O(nlogn)且空间性能最好的是 ( )。 ( A)快速排序 ( B)堆排序 ( C)归并排序 ( D)基数排序 6 采用面向对象技术开发的应用系统的特点是 ( )。 ( A)重用性更强 ( B)运行速度更快 ( C)占用存储量小 ( D)维护更复杂 7 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使
3、用退役的过程 ( B)软件产品从提出、实现到使用维护的过程 ( C)软件产品从提出到实现的过程 ( D)软件产品从提出、实现到使用的过程 8 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和 ( )。 ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 9 数据库的数据 模型所描述的内容有三个部分,它们是 ( )。 ( A)数据结构、数据操作和数据约束 ( B)概念数据模型、逻辑数据模型和物理数据模型 ( C)现实世界、信息世界和计算机世界 ( D)概念模式、外模式和内模式 10 用树形结构来表示实体之间联系的模型称为 ( )。 ( A)关
4、系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 11 下列关于 C+与 C语言的关系的描述中, ( )是错误的。 ( A) C语言是 C+语言的一个子集 ( B) C+与 C语言是兼容的 ( C) C+对 C语言 进行了一些改造 ( D) C+和 C语言都是面向对象的 12 以下 4个选项中,属于浮点数常量的是 ( )。 ( A) 0x12 ( B) -1.24E+01 ( C) le0.5 ( D) e-5 13 C+语言中, while循环和 do-while循环的主要区别是 ( )。 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比
5、 do-while的循环控制条件严格 ( C) do-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 14 设有以下语句,对 a数组元素的引用中 (其中 0 =i 10),不正确的是 ( )。 int a10=0, 1, 2, 3, 4, 5, 6, 7, 8, 9), *p=a; ( A) ap-a ( B) *( int main () int i=1, n=0; char s80,*p; p=s; strcpy(p,“It is a book“); for (; *p != 0 ;p+) if(*p=) i=0; else if (i=0) n+; i
6、=1; cout “n=“ n end1; return 0; ( A)统计字符串中的单词个数 ( B)统计字符串中的空格个数 ( C)统计字符串中的字母个数 ( D)统计字符串中的全部字符个数 22 请选出以下程序段的输出结果 ( )。 #include iostream using namespace std; #define MIN(x,y) (x) (y) ?(x) : (y) int main () int i,j,k; i=10; j=15; k=10*MIN(i,j); cout k end1; return 0; ( A) 15 ( B) 100 ( C) 10 ( D) 15
7、0 23 若有以下程序: #include iostream using namespace std; void sub(int x,int y, int *z) *z = y+x; int main() int a,b, c; sub (8,4, sub (6, a, sub(a,b, cout a “, “ b “, “ c end1; return 0; 程序运行后的输出结果是 ( )。 ( A) 12,18,30 ( B) -12,6,8 ( C) 6,8,10 ( D) 12,-18,16 24 以于下面定义的类 MyClass, 在函数 f()中将对象成员 n的值修改为 50的语句
8、应该是 ( )。 class MyClass public: MyClass (int x) n=x; void SetValue(int n1) n=n1; private: int n; ; int f() MyClass *ptr = new MyClass(45); _; ( A) MyClass(50) ( B) SetValue (50) ( C) ptr- SetValue(50) ( D) ptr- n=50 25 若有以下程序: #include iostream using namespace std; class myClass private: int var; pub
9、lic: myClass(int i) var=i; void add() s+=var; static int s; void display() cout send1; ; int myClass:s=0; int main ( ) myClass a(1),b(2),c(3); a.add(); b.add(); c.dislay(); return O; 程序执行后的输出结果是 ( )。 ( A) 1 ( B) 4 ( C) 3 ( D) 7 26 有以下程序: #include iostream #include math using namespace std; class poi
10、nt private: double x; double y; public: point(double a,double b) x=a; y=b; friend double distance(point a,point b) ; ; double distance(point a,point b) return sqrt (a.x-b.x)* (a.x-b.x)+(a.y-b.y)*(a.y-b.y); int main ( ) point pl(1,2); point p2 (5, 2); cout distance (pl,p2) end1; return 0; 程序运行后的输出结果是
11、 ( )。 ( A) 1 ( B) 5 ( C) 4 ( D) 6 27 若有以下程序: #include iostream using namespaces std; class A public: A () A (int i) x1=i; void dispa() cout “xl=“ xl “ , “; private: int x1; ; class B : public A public: B () B (int i):A(i+10) x2=i; void dispb() dispa (); cout “x2=“ x2 end1; private: int x2; ; int mai
12、n () B b(2); b.dispb (): return 0; 程序运行后的输出结果是( )。 ( A) x1=10,x2=2 ( B) x1=12,x2=10 ( C) x1=12,x2=2 ( D) x1=2,x2=2 28 若有以下程序: #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() cout a “, “ b end1; ; class Derive : public Base private:
13、 int c, d; public: Derive(int x, int y, int z,int m):Base(x,y) c=z; d=m; void show() cout c “, “ d end1; ; int main ( ) Base b(50,50) ,*pb; Derive d(10,20,30,40); pb= pb- show ); return 0; ( A) 10,20 ( B) 30,40 ( C) 20,30 ( D) 50,50 29 有如下 程序: #include iostream using namespace std; class shapes prot
14、ected: int x, y; public: void setvalue(int d, int w=O) x=d; y=w; virtual void disp()=O; ; class square : public shapes public: void disp () cout x*y end1; ; int main ( ) shapes *ptr; square s1; ptr= ptr- setvalue (10, 5) ;ptr- disp(); return 0; 执行上面的程序将输出 ( )。 ( A) 50 ( B) 5 ( C) 10 ( D) 15 30 在进行了任
15、何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是 ( )。 ( A) fail ( B) eof ( C) bad ( D) good 31 栈和队列通常采用的存储结构是【 】。 32 在程序设计阶段应该采取【 】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 33 软件结构是以【 】为基础而组成的一种控制层次结构。 34 数据库系 统阶段的数据具有较高独立性,数据独立性包括物理独立性和【 】两个含义。 35 数据库保护分为安全性控制【 】、并发性控制和数据的恢复。 36 C+语言
16、中关键字运算符有 new, delete和【 】。 37 将以下程序写成三日运算表达式是【 】。 if(a b)max=a; else max=b; 38 以下程序的输出结果是【 】。 #include iostream h class object private: int val; public: object(); object(int i); object(); ; object object() val=0; cout “Default constructor for object“ endl; object object(int i) val=i; cout “Constmctor
17、 for object“ val endl; object object() cout “Destructor for object“ val endl; class containet private: object one; object two; int data: public: containet(); container(int i, int j, int k); container(); ; container contalner() dara=0; cout “Default constructor for container“ endl; container containe
18、r(int i, int j, int k): two(i), one(j) data=k; cout “Constmctor for container“ endl; containet container() cout “Destmctor for container“ endl; void main() container anObj(5, 6, 10); 39 请定义一个函数名为 A,返回 值为 int,没有参数的纯虚函数的定义是【 】。 40 表达式 x.operator+(y operator+(0)还可以写成【 】。 41 假设 fin是一个文件流对象,则关闭文件的语句是【 】。
19、 42 对虚函数的调用有两种方式:【 】和【 】。 国家二级( C+)笔试模拟试卷 67答案与解析 1 【正确答案】 D 【试题解析】 算法的时间复杂度是指算法执行过程中所需要的基本运算次数。 2 【正确答案】 A 【试题解析】 一个线性结构需要满足以下两个条件:一是有且只 有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线性表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。 3 【正确答案】 D 【试题解析】 栈中的栈
20、顶元素总是最后被插入的元素,也是最先被删除的元素。所以栈是按照 FILO,即 “先进后出 ”的原则组织数据的。 4 【正确答案】 C 【试题解析】 队列是指允许在一端进行插入 ,而在另一端进行删除的线性表。因此队列又称为先进先出的线性表。答案为 C。 5 【正确答案】 B 【试题解析】 堆排序先把序列看成一棵大根堆或小根堆,摘取最大或最小元素后再建成新的根堆,再排序。因此它的平均时间性能为 O(nlogn)且空间性能最好。 6 【正确答案】 A 【试题解析】 面向对象方法具有很多其他方法不具备的特点,比如多态、继承等。这些特点都决定了面向对象方法支持软件复用。对象类可以派生出新类,类可以产生实
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 67 答案 解析 DOC
