收藏 分享(赏)

全国计算机等级考试二级笔试样卷C++语言程序设计.doc

上传人:精品资料 文档编号:8763094 上传时间:2019-07-11 格式:DOC 页数:31 大小:109.50KB
下载 相关 举报
全国计算机等级考试二级笔试样卷C++语言程序设计.doc_第1页
第1页 / 共31页
全国计算机等级考试二级笔试样卷C++语言程序设计.doc_第2页
第2页 / 共31页
全国计算机等级考试二级笔试样卷C++语言程序设计.doc_第3页
第3页 / 共31页
全国计算机等级考试二级笔试样卷C++语言程序设计.doc_第4页
第4页 / 共31页
全国计算机等级考试二级笔试样卷C++语言程序设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、全国计算机等级考试二级笔试样卷 C+语言程序设计一、选择题(1)(35)每小题 2 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不符合良好程序设计风格的是A)源程序要文档化 B)数据说明的次序要规范化C)避免滥用 goto 语句 D)模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计 B)数据设计与接口设计C)软件结构设计与数据设计 D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是A)软件测试 B)概要设计

2、C)软件维护 D)详细设计(4)在数据库系统中,用户所见的数据模式为A)概念模式 B)外模式 C)内模式 D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计 B)测试阶段 C)运行阶段 D)物理设计(6)设有如下三个关系表R S TA B C A B Cm 1 3 m 1 3n n 1 3下列操作中正确的是A)TRS B)TRSC)TRS D)TR/S(7)下列叙述中正确的是A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为 64

3、 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7(9)数据库技术的根本目标是要解决数据的A)存储问题 B)共享问题 C)安全问题 D)保护问题(10)对下列二叉树进行中序遍历的结果是A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG(11)下列有关内联函数的叙述中,正确的是A)内联函数在调用时发生控制转移B)内联函数必须通过关键字 inline 来定义C)内联函数是通过编译器来实现的D)内联函数函数体的最后一条语句必须是 return 语句(12)下列情况中,不会调用拷贝构造函数的是A)用一个对象去初始化同一类的另一个新对象

4、时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用时(13)下列有关继承和派生的叙述中,正确的是A)如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B)派生类的成员函数可以访问基类的所有成员C)基类对象可以赋值给派生类对象D)如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类(14)下列运算符不能重载为友元函数的是A)= () - B)+ - + - C) = ) 或格式 2:if() else 关于上面的语法格式,下列表述中错误的是A)部分可以是一个 if 语句,例如 if

5、(if(a=0) ) B)部分可以是一个 if 语句,例如 if() if() C)如果在前加上逻辑非运算符!并交换 和 的位置,语句功能不变D)部分可以是一个循环语句,例如 if() while() (20)有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是A)*p+9 B)*(p+8) C)*p+=9 D)p+8(21)若有下面的函数调用:fun(a+b, 3, max(n-1, b)则 fun 的实参个数是A)3 B)4 C)5 D)6(22)以下关键字不能用来声明类的访问权限的是A)public B)static C)protecte

6、d D)private(23)在公有继承的情况下,允许派生类直接访问的基类成员包括A)公有成员 B)公有成员和保护成员C)公有成员、保护成员和私有成员 D)保护成员(24)关于运算符重载,下列表述中正确的是A)C+已有的任何运算符都可以重载B)运算符函数的返回类型不能声明为基本数据类型C)在类型转换符函数的定义中不需要声明返回类型D)可以通过运算符重载来创建 C+中原来没有的运算符(25)关于关键字 class 和 typename,下列表述中正确的是A)程序中的 typename 都可以替换为 classB)程序中的 class 都可以替换为 typenameC)在模板形参表中只能用 typ

7、ename 来声明参数的类型D)在模板形参表中只能用 class 或 typename 来声明参数的类型(26)有如下程序#include #include using namespace std;int main( )coutfunc1( );p-func2( );return 0;运行此程序,屏幕上将显示输出A) B1B2 B) A1A2 C) B1A2 D) A1B2二、填空题(每空 2 分,共 30 分)请将每一个空的正确答案写在答题卡【1】【15】序号的横线上,答在试卷上不得分。(1)下列软件系统结构图的宽度为 【1】 。(2) 【2】 的任务是诊断和改正程序中的错误。(3)一个关系

8、表的行称为 【3】 。(4)按“先进后出”原则组织数据的数据结构是 【4】 。(5)数据结构分为线性结构和非线性结构,带链的队列属于 【5】 。(6)若有定义语句:int* a, b;,则变量 b 的数据类型是 【6】 。(7)已知数组 a 中的元素个数为 n,下列语句的作用是将下标为 i 的元素移动到下标为i 1 的单元,其中 1 i n。例如,当 n4,a 中原有数据为 1,2,3,4 时,则移动后 a 中元素变为 2,3,4,4。请将语句补充完整:for (int i=0; i ai = a 【7】 ;(8)已知递归函数 f 的定义如下:int f(int n)if (n print(

9、);pd-print( );delete pd;return 0;(12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承 private。已知有如下类定义:class Base protected:void fun( ) ;class Derived : Base ;则 Base 类中的成员函数 fun(),在 Derived 类中的访问权限是 【12】 (注意:要求填写 private、protected 或 public 中的一项)。(13)在 MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。【13】 MyClass:operator

10、=(const MyClassvalue = rhs.value;return *this;(14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort 类的成员函数 sort()实现了插入排序算法。请将画线处缺失的部分补充完整。class InsertSortpublic:InsertSort(int* a0, int n0) :a(a0), n(n0) /参数 a0 是某数组首地址,n 是数组元素个数void sort( )/此函数假设已排序序列初始化状态只包含 a0,未排序序列初始为 a1.an-1for (int i=1; iin

11、t t=ai;int j;for ( 【14】 ; j0; -j)if (t=aj-1) break;aj=aj-1;aj=t;protected:int *a, n; /指针 a 用于存放数组首地址,n 用于存放数组元素个数;(15)下列程序的输出结果是 【15】 。#include using namespace std;class A int a;public: A():a(9)virtual void print() const coutprint();show(d1);show(d2);return 0;B)+ - + - C) = ) 或格式 2:if() else 关于上面的语法

12、格式,下列表述中错误的是A)部分可以是一个 if 语句,例如 if(if(a=0) ) B)部分可以是一个 if 语句,例如 if() if() C)如果在前加上逻辑非运算符!并交换 和 的位置,语句功能不变D)部分可以是一个循环语句,例如 if() while() (20)有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是A)*p+9 B)*(p+8) C)*p+=9 D)p+8(21)若有下面的函数调用:fun(a+b, 3, max(n-1, b)则 fun 的实参个数是A)3 B)4 C)5 D)6(22)以下关键字不能用来声明类的访

13、问权限的是A)public B)static C)protected D)private(23)在公有继承的情况下,允许派生类直接访问的基类成员包括A)公有成员 B)公有成员和保护成员C)公有成员、保护成员和私有成员 D)保护成员(24)关于运算符重载,下列表述中正确的是A)C+已有的任何运算符都可以重载B)运算符函数的返回类型不能声明为基本数据类型C)在类型转换符函数的定义中不需要声明返回类型D)可以通过运算符重载来创建 C+中原来没有的运算符(25)关于关键字 class 和 typename,下列表述中正确的是A)程序中的 typename 都可以替换为 classB)程序中的 clas

14、s 都可以替换为 typenameC)在模板形参表中只能用 typename 来声明参数的类型D)在模板形参表中只能用 class 或 typename 来声明参数的类型(26)有如下程序#include #include using namespace std;int main( )coutfunc1( );p-func2( );return 0;运行此程序,屏幕上将显示输出A) B1B2 B) A1A2 C) B1A2 D) A1B2二、填空题(每空 2 分,共 30 分)请将每一个空的正确答案写在答题卡【1】【15】序号的横线上,答在试卷上不得分。(1)下列软件系统结构图的宽度为 【1】

15、 。(2) 【2】 的任务是诊断和改正程序中的错误。(3)一个关系表的行称为 【3】 。(4)按“先进后出”原则组织数据的数据结构是 【4】 。(5)数据结构分为线性结构和非线性结构,带链的队列属于 【5】 。(6)若有定义语句:int* a, b;,则变量 b 的数据类型是 【6】 。(7)已知数组 a 中的元素个数为 n,下列语句的作用是将下标为 i 的元素移动到下标为i 1 的单元,其中 1 i n。例如,当 n4,a 中原有数据为 1,2,3,4 时,则移动后 a 中元素变为 2,3,4,4。请将语句补充完整:for (int i=0; i ai = a 【7】 ;(8)已知递归函数

16、f 的定义如下:int f(int n)if (n print( );pd-print( );delete pd;return 0;(12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承 private。已知有如下类定义:class Base protected:void fun( ) ;class Derived : Base ;则 Base 类中的成员函数 fun(),在 Derived 类中的访问权限是 【12】 (注意:要求填写 private、protected或 public 中的一项)。(13)在 MyClass 类的定义中,对赋值运算符=进行重载。请将画线

17、处缺失的部分补充完整。【13】 MyClass:operator=(const MyClassvalue = rhs.value;return *this;(14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort 类的成员函数 sort()实现了插入排序算法。请将画线处缺失的部分补充完整。class InsertSortpublic:InsertSort(int* a0, int n0) :a(a0), n(n0) /参数 a0 是某数组首地址,n 是数组元素个数void sort( )/此函数假设已排序序列初始化状态只包含 a0,未

18、排序序列初始为 a1.an-1for (int i=1; iint t=ai;int j;for ( 【14】 ; j0; -j)if (t=aj-1) break;aj=aj-1;aj=t;protected:int *a, n; /指针 a 用于存放数组首地址,n 用于存放数组元素个数;(15)下列程序的输出结果是 【15】 。#include using namespace std;class A int a;public: A():a(9)virtual void print() const couta;class B : public A char b;public:B( )b=S;void print( ) const cout b;void show(A int main()

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报