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

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

1、国家二级( C+)笔试模拟试卷 5及答案与解析 1 下列关于栈的叙述,正确的是 ( )。 ( A)栈是非线性结构 ( B)栈是一种树状结构 ( C)栈具有 “先进先出 ”的特征 ( D)栈具有 “后进先出 ”的特征 2 下列模式中,能够给出数据库物理存储结构与物理存取方法的是 ( )。 ( A)内模式 ( B)外模式 ( C)概念模式 ( D)逻辑模式 3 在数据流图 (DFD)中,带有名字的箭头表示 ( )。 ( A)模块之间的调用关系 ( B)数据的流向 ( C)控制程序的执行程序 ( D) 程序的组成成分 4 下列概念中,不属于面向对象方法的是 ( )。 ( A)对象 ( B)类 ( C

2、)继承 ( D)过程调用 5 不属于结构化程序设计方法主要原则的是 ( )。 ( A)自顶向下 ( B)自底向上 ( C)模块化 ( D)限制使用 goto语句 6 下列关于栈的描述,错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 7 在面向对象方法中,一个对象请求另一对象为其服务的方 式是通过发送 ( )。 ( A)调用语句 ( B)命令 ( C)口令 ( D)消息 8 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 ( )。 ( A) 5 ( B) 100 ( C) 10

3、( D) 45 9 下列描述中正确的是 ( )。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 10 “商品 ”与 “顾客 ”两个实体集之间联系一般是 ( )。 ( A)一对一 ( B)多对多 ( C)一对多 ( D)多对一 11 每个 C+程序都必须有且仅有一个 ( )。 ( A)预处理命令 ( B)函数 ( C)语句 ( D)主函数 12 下面不是 C+语言整型常量的是 ( )。 ( A) 81 ( B) 1 ( C) -32768 ( D) 0x81 13 将小写字母 n赋值给字符变量 ch,

4、正确的操作是 ( )。 ( A) ch=n ( B) ch=110 ( C) ch=“n“ ( D) ch=N 14 结构化程序设计所规定的三种基本控制结构是 ( )。 ( A)输入、输出、处理 ( B)顺序结构、选择结构、循环结构 ( C) for、 while、 switch ( D)主程序、子程序、函数 15 for(int x=0, y=0; !x|y =5; y+, x=!x)语句执行的循环次数是 ( )。 ( A) 0 ( B) 7 ( C) 6 ( D)无数次 16 下列关于 break语句的描述,不正确的是 ( )。 ( A) break语句可用在循环体内,它将使执行流程跳出本

5、层循环体 ( B) break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句 ( C) break语句可用在订语句中,它将使执行流程跳出当前 if语句 ( D) break语句在一层循环体中可以出现多次 17 如果用数组名作为实参,则传递给形参的是 ( )。 ( A)数组的首地址 ( B)第一个元素的值 ( C)数组元素的个数 ( D)数组中全部元素的值 18 下列关于指针运算的说法,错误的是 ( )。 ( A)在一定条件下,两个指针可以相减 ( B)在一定条件下,两个指针可以相加 ( C)在一定条件下,两个指针可以相互赋值 ( D)在一定条件下,两个指针可以进行比较

6、 运算 19 下列程序的输出结果是 ( )。 #include iostream using namespace std; int main() int x6=1, 3, 5, 7, 9, 11, *k, *s; k=x; s= 结果是【 】。 42 执行语句 int a,b,c;scanf(“%d,%d%d“, 如果输入形式为 10,12,14,则 a,b,c的值分别是【 】。 43 面程序执行完后 k的值是【 】。 void main() unsigned num=26,k=1; do K * = num%10; num/ = 10; while(num); cout k; 44 C+语言

7、程序由函数构成,其至少包含一个函数,这就是【 】。 45 指针函数是说 函数的返回值是一个【 】。 46 类的构造函数是一个特殊的成员函数,它由类的对象自动调用。它的作用是【 】。 47 类的静态成员不是对象的成员,而是【 】的成员。 48 类 继承中,默认的继承方式是【 】。 49 通过关键字来指定函数模板的类型参数,有几个类型参数就有几个关键字,它实际表示任何内部类型或用户自定义类型。用来指定函数模板的类型参数的关键字是【 】。 50 声明长度为 10的 float型数组 a,且初始化为 0的语句是【 】。 国家二级( C+)笔试模拟试卷 5答案与解析 1 【正确答案】 D 【试题解析】

8、栈实际上也是线性表,是按照 “先进后出 ”或 “后进先出 ”的原则组织数据的。 2 【正确答案】 A 【试题解析】 数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。内模式、存储模式或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。 3 【正确答案】 B 【试题解析】 数据流相当于一条管道,并有数据流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也

9、 可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。 4 【正确答案】 D 【试题解析】 面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。 5 【正确答案】 B 【试题解析】 自底向上不属于结构化程序设计方法主要原则。 6 【正确答案】 B 【试题解析】 栈既能顺序存储,又能链式存储。 7 【正确答案】 D 【试题解析】 消息是一个实例与 另一个实例之间传递的消息,它请求对象执行某一处理或回答某一要求的信息,消息统一了控制流和数据流。 8 【正确答案】 D 【试

10、题解析】 在最坏的情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2的从后往前的扫描,需要的比较次数为 n(n-1)/2,所以比较的次数为 10(10-1)/2=45。 9 【正确答案】 D 【试题解析】 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。 10 【正确答案】 B 【试题解析】 对于 “商品 ”和 “顾客 ”两个实体集来说,一种商品可被多个顾客来购买,而一个顾客也可以购买多种商品。因此,两者的联系属于多对多的联系。 11 【正确答案】 D 【试题解析】 一个 C+程序一般由预处理命令、输入输出、函数、语句、变量这几个基本部分组成。但

11、是,每个 C+程序都必须有且仅有一个主程序。 12 【正确答案】 A 【试题解析】 本题考核整型变量的 3种表示形式,选项 B是一个八进制数;选项C是一个十进制数;选项 D是一个十六进制数;选项 A以 0开始没有跟字母 x,但后面的数字 8并不是八进制中使用的数符,故选项 A不是 C+语言的整型变量。 13 【正确答案】 B 【试题解析】 字母在 C+语言中是以 ASCII码存放的,即以整数形式存放。 n对应的 ASCII值是 110,由于对 n所对应的 ASCII码值不清楚,所以解析本题只能采用排除法。选项 A中, n是回车换行符。选项 C中存放的是字符串 n。选项 D中存放的是字母 N。

12、14 【正确答案】 B 【试题解析】 结构化程序有三种基本结构组成,分别是顺序结构、选择结构和循环结构。 15 【正确答案】 B 【试题解析】 因为 |(逻辑或 )运算符只要有一个 为真,则整个表达式为真,由条件“y =5”得知,前 6次循环一定会执行。又由 x=!x得知,奇数次循环时 !x为真,所以第 7次循环仍会执行。第 8次 !x和 y =5都为假,循环结束。所以一共循环了 7次。 16 【正确答案】 C 【试题解析】 break语句只能用在 switch语句和循环语句中。在 switch语句中,break用来使执行流程跳出 switch语句,而继续执行 switch后面的语句。在循环语

13、句中, break用来使执行流程无条件地跳出本层循环体。 17 【正确答案】 A 【试题解析】 将数 组传递给函数时,实际上是传递数组第一个元素的地址给函数,即数组的首地址。 18 【正确答案】 B 【试题解析】 在 C+语言中,指针可以进行赋值运算、算术运算、比较运算。但在任何情况下,两个指针都不能允许相加,因为这会造成内存地址的非法访问。 19 【正确答案】 B 【试题解析】 本题考核指针数组之间的关系。指针 k指向 x数组的首地址,指针型指针 s指向了指针变量 k。另外, “+”作为后缀时,要等整个表达式执行完毕后再执行自增运算。所以,输出结果为 1, 1。 20 【正确答案】 C 【试

14、题解析】 本题考核函数的调用方法。当函数的参数是引用类型时,参数不能为常量、表达式和变量地址,只能是变量本身。 21 【正确答案】 D 【试题解析】 内部静态变量只被初始化一次,它在定义该变量的函数内部有效。 22 【正确答案】 C 【试题解析】 在函数调用时,系统按照从左至右的顺序将实参与形参结合,当实参的数量不足时,系统按同样的顺序用说明或定义中的默认值来补齐所缺少的参数。选项 C中,实参 *将赋值给整型形参 y,是错误的。 23 【正确答案】 B 【试题解析】 C+中 ,成员函数可以是内联函数,也可以不是内联函数。在类定义体外实现的函数可以通过在函数说明和定义上分别加上 inline来表

15、示函数是内联函数,否则就不是内联函数。 24 【正确答案】 B 【试题解析】 构造函数是类的一个特殊成员函数,与类同名。构造函数可以是内联函数,并可以重载。 25 【正确答案】 D 【试题解析】 析构函数名为符号 “ ”加类名,析构函数没有参数和返回值。 26 【正确答案】 B 【试题解析】 在 C+中,如果想让类中的成员数据可以被其他函数访问,可以通过友元函数声 明,来共享类中的资源。友元类函数对类的属性和方法的访问能力等同于类的成员函数。 27 【正确答案】 A 【试题解析】 在继承中,基类的构造函数和析构函数不能被继承。派生类中包含了基类中的成员,是对基类定义的扩展和延续,可以说派生类是

16、基类的组合。派生类继承了积累的全部数据成员和除构造函数和析构函数外的所有函数成员。派生类不能访问基类的私有成员,而对基类的公有成员和保护成员的访问权限则随派生类对基类的继承方式而改变。 28 【正确答案】 A 【试题解析】 虚函数是实现动态联编的必要条件之一, 没有虚函数一定不能实现动态联编。 29 【正确答案】 A 【试题解析】 运算符重载也是一种函数重载。函数重载要求编译器能够唯一地确定调用一个函数时应该执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。也就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,无法实现重载。选

17、项A重载的减号运算符与 C+默认提供的两个 double相减运算无法区别。 30 【正确答案】 C 【试题解析】 模板定义的类型参数表中包含一个或多个由 逗号分隔的类型参数项,每一项由关键字 class后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。 31 【正确答案】 C 【试题解析】 在 C+中,用文件流对象的一些成员函数来判别文件流的当前状态。其中,函数 good()用来判别刚进行的操作。成功时返回 true,否则返回false。 32 【正确答案】 C 【试题解析】 由于 100所

18、对应的十进制数为 100,对应的八进制数为 144,对应的十六进制数是 64。所以正确选项是 C。 33 【正确答案】 C 【试题解析】 C+中的多态性分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现的,其实现机制称为静态绑定;运行时的多态性是通过虚函数体现的,其实现机制称为动态绑定。 34 【正确答案】 C 【试题解析】 C+中的位运算,左移一位相当于乘以 2,右移一位相当于除以2。 35 【正确答案】 A 【试题解析】 本题考查字符串操作函数和指针的使用。 strcat(p1, p2)将字符串p1和 p2连接,接着调用 strcpy函数,从数组 str的第

19、3个位置开始复制连接后的字符串,因此本题答案为 xyabcABC。 36 【正确答案】 0 【试题解析】 冒泡排序算法在最好的情况下 (已经有序的 )元素交换次数为 0。 37 【正确答案】 逻辑结构中相邻的结点在存储结构中仍相邻 【试题解析】 当线性表采用顺序存储结构实现存储时,其主要特点是逻辑结构中相邻的结点在存储结构中仍相邻。 38 【正确答案】 软件工程 【试题解析】 软件工程的出现是由于软件危机的出现。 39 【正确答案 】 因果图法 【试题解析】 常用的黑箱测试有等价分类法、边值分析法、因果图法和错误推测法 4种。 40 【正确答案】 O(nlog2n) 【试题解析】 在最坏情况下

20、,堆排序需要比较的次数为 O(nlog2n)。 41 【正确答案】 * * * * 12 【试题解析】 setw (6)设置域宽为 6个字符,不足 6位补足 6位 ,“12”默认右对齐占两位,其余 setfill(*) 设置填充字符为 “*”。 42 【正确答案】 10 12 不确定 【试题解析】 scanf() 函 数是通用终端格式化输入函数,它从标准输入设备 (键盘 )读取输入的信息,输入时必须按照格式控制串的要求输入。 43 【正确答案】 12 【试题解析】 dowhile 循环体共执行两次,第 1次循环 k=6,nam=2,第 2次循环 k=12,nam=0。 44 【正确答案】 ma

21、in函数 【试题解析】 C+语言程序由函数构成,其至少包含一个 main()函数。 45 【正确答案】 指针或地址 【试题解析】 指针函数是指带指针的函数,即本质是一个函数,只不过指针函数返回类型是某一类型的指针。 其定义格式如:返回类型标识符 * 函数名称 (形式参数表 )。 46 【正确答案】 对象分配内存空间时为类的数据成员进行初始化并进行一些其他类的内部操作。 【试题解析】 类的构造函数是一个特殊的成员函数,它由类的对象自动调用,它的作用是为对象分配内存空间,为类的数据成员进行初始化并进行一些其他类的内部操作。 47 【正确答案】 类 【试题解析】 类的静态成员与一般的类成员不同:静态

22、成员与对象的实例无关,只与类本身有关。用来实现类要封装的功能和数据,但不包括特定对象的功能和数据。静态成员包括静 态方法和静态属性。 48 【正确答案】 私有继承 【试题解析】 C+类继承机制中默认的继承方式是私有继承。 49 【正确答案】 typename(或 class) 【试题解析】 函数模板的声明形式为: template class数据类型参数标识符 返回类型函数名 (参数表 ) 函数体 其中, template 是定义模板函数的关键字, template 后面的尖括号不能省略,typename(或 class)是声明数据类型参数标识符的关键字 ,用以说明它后面的标识符是数据类型标识符。这样,在以后定义的这个函数中,凡希望根据实参数据类型来确定数据类型的变量,都可以用数据类型参数标识符来说明,从而使这个变量可以适应不同的数据类型。 50 【正确答案】 float a10=0; 或 static float a10; 【试题解析】 未经初始化的静态变量会被程序自动初始化为 0;对非 static 的数组,若赋初值但数据不够用,则其他元素值初始化为 0。

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

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

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