[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc

上传人:周芸 文档编号:502766 上传时间:2018-11-29 格式:DOC 页数:20 大小:53.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷60及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 60及答案与解析 1 下列叙述中正确的是 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是线性结构 2 非空的循环单链表 head的尾结点 (由 p所指向 ),满足 ( A) p- next=NULL ( B) p=NULL ( C) p- next=head ( D) p=head 3 已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是 ( A)堆排序 ( B)直接插入排序 ( C)快速排序 ( D)直接选 择排序 4 对建立良好的程序设计风格,下面描述正确的是 ( A)程序应简单、清晰、

2、可读性好 ( B)符号名的命名只要符合语法 ( C)允分考虑程序的执行效率 ( D)程序的注释可有可无 5 下列不属于结构化分析的常用工具的是 ( A)数据流图 ( B)数据字典 ( C)判定树 ( D) PAD图 6 在软件生产过程中,需求信息的给出是 ( A)程序员 ( B)项目管理者 ( C)软件分析设计人员 ( D)软件用户 7 下列工具中为需求分析常用工具的是 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 8 NULL是指 ( A) 0 ( B)空格 ( C)未知的值或无任何值 ( D)空字符串 9 数据库的故障恢复一般是由 ( A)数据流图完成的 ( B)

3、数据字典完成的 ( C) DBA完成的 ( D) PAD图完成的 10 下列说法中,不属于数据模型所描述的内容的是 ( A)数据结构 ( B)数据操作 ( C)数据查询 ( D)数据约束 11 下列字符串中可以用作 C+语言标识符的是 ( A) _1234 ( B) foo bar ( C) virtual ( D) 34var 12 关于 C+语言与 C语言关系描述中错误的是 ( A) C+语言是 C语言的超集 ( B) C+语言对 C浯言进行了扩充 ( C) C+语言包含 C语言的全部语法特征 ( D) C+语言与 C语言都是面向对象的程序设计语言 13 下列语句的输出结果 cout st

4、rlen(“t, 065xffn“); ( A) 5 ( B) 14 ( C) 8 ( D)输出项不合法,无正常输出 14 在 C+语言中,不合法的实型数据的是 ( A) 0.123 ( B) 123e3 ( C) 2.1e3.5 ( D) 123 15 若有如下语句 #include iostream h void main() int x=3: do X=X-2; cout X; while(!(-x); 则上面程序段 ( A)输出的是 1 ( B)输出的是 1和 -2 ( C)输出的是 3和 0 ( D)是死循环 16 下面有关 for循环的正确描述是 ( A) for循环只能用于循环次

5、数已经确定的情况 ( B) for循环是 先执行循环体语句,后判断表达式 ( C)在 for循环中,不能用 break语句跳出循环体 ( D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 17 以下程序中调用 cin函数给变量 a输人数值的方法是错误的,其错误原因是 #include iostream h void main() int*p, *q, a, b; p= ( B) int* const p; ( C) const int*const p; ( D) int*p; 22 下面的语句中错误的是 ( A) int a=5; int x a; ( B) const

6、int a=5; int x a; ( C) int n=5; int*p=new inta; ( D) const int n = 5; int *p = new inta; 23 下面程序的结果是 #include iostream h class A int a; public: A(): a(1) void showa()cout a; ; class B int a; public: B(): a(2) void showa()cout a; ; class C: public A, public B int a; public: C(): a(3) voidshowa()cout

7、a; ; voidmain() C c; c showa(); ( A) 1 ( B) 2 ( C) 3 ( D)程序有错误 24 关于二义性的描述错误的是 ( A)一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性 ( B)解决二义性可以用对成员名的限定法 ( C)父类和子类中同时出现同名函数,也可能存在二义性 ( D)一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性 25 如果表达式 x*y+2中, “*”是作为友元函数重载的, “+”是作为友元函数重载的,则该表达式还可为 ( A) operator+(opera

8、tor*(x, y), z) ( B) x operator+(operator*(x, y), z) ( C) y operator*(operator+(x, y), z) ( D) x operator+(operator*(x, y) 26 函数模板: template class T T add(T x, T y)return x+y; 下列对 add函数的调用不正确的是 ( A) add (1, 2) ( B) add int (1, 2) ( C) add(1, 0, 2) ( D) add(1 0, 2 0) 27 对于语句 cout setfill(*) setw(10) 1

9、 setfill(*) setw(2) 2;的输出结果是 ( A) * * * * * * * * *1 *2 ( B) * * * * * * * *12 ( C) * * * * * * *1 *2 ( D) 12* * * * * * * * 28 this指针是 C+语言实现什么的一种机制 ? ( A)抽象 ( B)封装 ( C)继承 ( D)重载 29 有如下程序 #include iostream h int func(int a, int b) return(a+b); void main() int x=2, y=5, z=8, r; r=func (func (x, y),

10、z); cout r; 该程序的输出的结果是 ( A) 12 ( B) 13 ( C) 14 ( D) 15 30 下列程序的输出结果是 #include iostream h class Myclass public:My class(inti=0, int j=0) x=i; y=j; void show()cout “x=“ x “ “ “y=“ y endl; void show()constcout “x=“ “y=“ y endl; privated: int x; int y; ; void main() Myclassmy1(3, 4); const my2(7, 8); my

11、l show(); my2 show(); ( A) x=4, y=3; x=7, y=8 ( B) x=3, y=4; X=7, y=8 ( C) x=7, y=8; x=4, y=3 ( D) x=8, y=7; x=7, y=8 31 下列描述中,抽象类的特性是 ( A)可以说明虚函数 ( B)可以定义友元函数 ( C)可以进行构造函数重载 ( D)不能说明其对象 32 在 C+语言中,打开一个文件就是将这个文件与一个什么建立关联 ? ( A)流 ( B)类 ( C)结构 ( D)对象 33 下列程序的运行结果是 #include iostream h void fun(int*a, i

12、nt*b) int*k; k=a; a=b; b=k; void main() int a=3, b=6, *x= for(int i=1; i =n; i+= cout setw(3) i; cout endl; void main() print (4); 国家二级( C+)笔试模拟试卷 60答案与解析 1 【正确答案】 A 【试题解析】 线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间的相对位置是线性的;栈、队列、线性链表实际上也是线性表,故也是线性结构;树是一种简单的非线性结构。 2 【正确答案】 C 【试题解析】 循环链表就是将链表的最后一个结点指

13、向链表头结点 (或第一个结点 ),即 p- next =head。 3 【正确答案】 B 【试 题解析】 当数据表 A中每个元素距其最终位置不远,说明数据表 A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少,故答案为选项 B)。 4 【正确答案】 A 【试题解析】 程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。 5 【正确答案】 D 【试题解析】 结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而 PAD图是常见的过程设计工具中的图形设计工具。 6 【正确答案】 D 【试题解析】 软件需求是指用户对目标软件系统在 功能、行为、

14、性能、设计约束等方面的期望。 7 【正确答案】 D 【试题解析】 PAD、 PFD、 NS和 HIPO为详细设计过程中的过程设计工具中的图形工具。 DFD、 DD (数据宁典 )、判定表和判定树是需求分析中的结构化分析工具。 8 【正确答案】 C 【试题解析】 此题属于记忆性的题目, NULL是指未知的值或无任何值。 9 【正确答案】 C 【试题解析】 一旦数据库中的数据遭受破坏,需要及时进行恢复, RDBMS一般都提供此种功能,并由 DBA负责执行故障恢复功能 10 【正确 答案】 C 【试题解析】 数据模型所描述的内容有 3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据

15、结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。 11 【正确答案】 A 【试题解析】 C+语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。 12 【正确答案】 D 【试题解析】 C语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言, C +语言是 C语言的超集, 它包含了 C语言的所有语言特性,并进行了扩充。 13 【正确答案】 A 【试题解析】 该字符串中包含的字符是 t (跳格符 )、 “(双引号 )、 065(ASCII值为八进制 065,也即十进制为 51的字符 )、 xff(A

16、SCII值为十六进制 ff,也即十进制为 255的字符 )、 n(换行符 )。 14 【正确答案】 C 【试题解析】 在 C+语言中,实数有两种形式表示,即十进制数形式和指数形式,在指数形式中, e3, 2 le3.5, e3, e等都是不合法的指数形式。再如 123e3或 123E3都代表 123乘以 10的 3次方。注意,字母 e的前面必须有数字,且 e的后面必须是整数。 15 【正确答案】 B 【试题解析】 dowhile语句的一般格式为 do循环体语句 while(表达式 );,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 x=x-2,即为

17、 l。判断表达式的值, !(-x)为真, x=0,继续循环。再次执行循环体语句后, x=-2,此时表达式的值为 0,结束循环。 16 【正确答案】 D 【试题解析】 选项 A)for循环 可以用于循环次数不确定的情况;选项 B)for循环是先判断表达式,后执行循环体语句;选项 C)在 for循环中,可以用 break语句跳出循环体,从而接着执行循环体后面的语句。 17 【正确答案】 B 【试题解析】 p表示的是变量 a的地址,定义后 *p表示的是变量 a的值。 18 【正确答案】 D 【试题解析】 x数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素

18、的值为 0,所以,一共有 20个字节。 19 【正确答案】 B 【试题解析】 本题:考查函数中 变量的作用范围,在主函数中给变量 x, y, z赋值,然后将其作为实参传递给了函数 fun(),虽然在函数 fun()中改变了这 3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在凋用函数 fun()结束后,主函数 3个变量的值未改变。 20 【正确答案】 D 【试题解析】 在 C+语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用 main()函数。 21 【正确答案】 A 【试题解析】 const

19、 int*p;是只能改变指针地址, int*const p;是只能改变 *p的内容, const int* const P;是指针的地址和 *p的内容都不能改变, int * p;是两者都能改变。 22 【正确答案】 A 【试题解析】 在 C+中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值得参数。故选项A)是错误的定义方法。 23 【正确答案】 C 【试题解析】 类 A,类 B,中都有 showa()函数,类 C继承后再次重写 showa()函数就解 决了继承的二义性,这时 c showa()函数显示的就是类 C中的 showa()

20、的值。 24 【正确答案】 C 【试题解析】 基类和其继承类同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产生二义性的。 25 【正确答案】 A 【试题解析】 C+中用成员函数重载 x*y为: x operator*(y),用友元函数重载x*y为: operator *(x, y),用成员函数重载 x+y为: x operator+(y),用友元函数重载 x+y为: operator+(x, y)。 26 【正确答案】 C 【试题解析】 对于 template class T Tadd(T x, T y)return x+y; 调用时可以省略模板实参的

21、声明,但是要求 x和 y的数据类型必须是一样的。 27 【正确答案】 A 【试题解析】 C+语言中 setfill的意思是在空格的地方填上 setfill函数中的参数字符, setw的意思是设置整个输出字符串的字符个数,本题中用。宋代替空格。 28 【正确答案】 B 【试题解析】 this指针是 C+语 言实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。 29 【正确答案】 D 【试题解析】 语句 r=time(func(x, y), z);中, fun(x, y)是一次凋用函数,它的值作为 func另一次调用的实参。注意本题调用两次函

22、数。 30 【正确答案】 A 【试题解析】 在 Myclass类中定义了两个同名函数 show,其中一个是常成员函数。在 main函数中定义了两个对象 myl, my2,其中对象 my2是常对象。这两个对象调用成员函数 show时,通过对象 myl调用的是没有用, const修饰的一般成员函数,而通过对象 my2调用的是 const修饰的常成员函数。 31 【正确答案】 D 【试题解析】 带有纯虚函数的类称为抽象类,抽象类中的纯虚函数没有具体的定义,所以不能说明抽象类的对象。 32 【正确答案】 A 【试题解析】 C+的 I/O系统是通过一种称为流的机制来实现文件和控制台的I/O操作。简单地说

23、,在 C+中,输入输出操作是通过流来完成的。而文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。每个文 件流都应当与一个打开的文件相联系;关闭一个文件就是取消这种联系。 33 【正确答案】 B 【试题解析】 函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚 ! 大家可以考虑一下利用下面这函数可不可以实现 a和 b的互换。 swap(int x , int y) int t; t=x; x=y; y=t 如果在 main函数中用 swap(a, b),会有什么结果呢 ?在函

24、数调用开始时, a的值传送给 x, b的值传递给 y。执行完 swap()函数后 ,x和 y的值是互换了,但 main()函数中的 a和 b并未互换。也就是说由于 “单向传递 ”的 “值传递 ”方式,形参值的改变无法传递给实参。 为了使在函数中改变了的变量值能被 main()函数所闻,不能采取上述办法,而应该用指针变量做函数参数。布函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主凋函数中使用这些改变了的值的目的 。 swap(int*p1, int*p2) int p; p= *p1; *p1 =*P2; *p2

25、=p; 注意交换 *P1和 *p2的值是如何实现的,如果写成下面这样就有问题了 ! swap(int*P1, int*p2) int*P; *p=*P1; /*此语句有问题 */ *p1=*p2; *p2=*p: *p1就是 a,是整型变量。而 *p是指针变量 p所指向的变量,但 p中并无确切地址,用 *p可能会造成破坏系统的正常工作状态。应该将 *p1的值赋给一个整型变量,用整型变量作为过渡变量实现 *P1和 *p2的交换。 34 【正确答案】 C 【试题解析】 for语句中的表达式可以部分或全部省略,但两个 “; ”不能省略,若 3个表达式均省略,会因为缺少条件判断,导致循环无限执行,而形

26、成死循环。本题中当 i的值为 5的时候,循环终止。 35 【正确答案】 D 【试题解析】 字符型数据在计算机内部是以 ASCII码存储的,英文大写字母和小写字母在 ASCII码表中都是连续的。 大写字母 A Z是从 65 90,小写字母a z是从 97122。所以只要变量 c大于等于 a并且等于小于 2就能保证其为小写字母。 36 【正确答案】 有穷性 【试题解析】 算法是指解题方案的准确而完整的描述。它有 4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。 37 【正确答案】 log2n 【试题解析】 对于长度为 n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序

27、查找需要比较 n次。 38 【正确答案】 对象 【试题解析】 将属性、操作相似的对象归为类,也就是 说,类是具有共同属性、共同方法的对象的集合。 39 【正确答案】 软件生命周期 【试题解析】 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。 40 【正确答案】 关系模型 【试题解析】 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接门。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。 41 【正确答案】 循环 结构 42 【正确答案】 编译程序 43 【正确答案】 静态 44 【正确答案】 自顶而下 45 【正确答案】 # 46 【正确答案】 1 1 2 1 2 3 1 2 3 4

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1