1、计算机二级(C+)14 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.有如下程序 #includeiostreamh #define N2 #define M N+1 #define NUM 2 * M+1 void main( ) int i; for(i=1;i =NUM;i+) cout i 该程序中的 for循环执行的次数是( )。 (分数:70.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的
2、静态数据成员必须进行初始化2.派生类继承基类的方式有( )。(分数:70.00)A.publicB.privateC.protectedD.以上都对3.下面程序错误的语句是( )。 #include“ iostreamh“ void main( ) int A=0; int void main( ) int a=10,b=20; couta“ “b; swap(C.i=(int)j;D.i=j;15.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int
3、i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10, void main( ) int a=10,b=20; couta“ “b; swap(C.i=(int)j;D.i=j; 解析:+,-运算符不能用于常量表达式。15.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int
4、 t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10, void main( ) int a=10,b=20; couta“ “b; swap(&a,&b); couta“ “b; (分数:70.00)A.add(1,2)B.add(1,2)C.add(10,2) D.add(10,20)解析:UPPER()函数的功能是将指定表达式中的小写字母全部转换为大写
5、字母,其他字符则保持不变;LOWER()函数的功能刚好与 UPPER() 函数相反,是将大写字母转换为小写字母。24.下列哪个是 C+语言的有效标识符?(分数:70.00)A._Nol B.No1C.12345D.int解析:标识符是一个以字母或下划线开始的,由字母、下划线和数字组成的字符串,标识符不能与任意关键字同名。25.设以下变量均为 int类型,则值不等于 7的表达式是( )。(分数:70.00)A.(x=y=6,x+y,X+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y) D.(y=6,y+1,x+y,x+1)解析:C+语言中逗号“,”也是一种运算符,称为
6、逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为:表达式 1,表达式 2,其求值过程是分别求两个表达式的值,并以表达式 2的值作为整个逗号表达式的值。逗号表达式的一般形式可以扩展为:表达式 1,表达式 2,表达式 3,表达式 n,它的值为表达式 n的值。26.串的长度是( )。(分数:-1.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数 解析:串的长度指的是串中的字符的个数,且其字符个数可以为零。27.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可
7、能是( )。(分数:-1.00)A.ABCEDB.DCBEA C.DBCEAD.CDABE解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素 A、B、C、D,则表明这 4个元素中 D是最后进栈,B、C 处于中间,A 最早进栈。所以出栈时一定是先出 D,再出 C,最后出 A。28.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:-1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统 C.数据库管理系统包括数据库和数据库系统D.3者没有明显的包含关系解析:数据库系统(Data Base System,简称 DBS)包括数据库(Data Bas
8、e,简称 DB)和数据库管理系统(Data Base Management System,简称 DBMS)。29.在设计程序时,应采纳的原则之一是( )。(分数:-1.00)A.不限制 goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解 解析:滥用 goto浯句将使程序流程无规律,可读性差,因此选项 A)不选; 注解行有利于对程序的理解,不应减少或取消,选项 B)也不选;程序的长短要依照实际情况而论,而不是越短越好,选项 C)也不选。30.以下不属于对象的基本特点的是( )。(分数:-1.00)A.分类性B.多态性C.继承性 D.封装性解析:对象有如下一些基本特
9、点,即标识惟一性、分类性、多态性、封装性和模块独立性。31.数据库系统的核心是( )。(分数:-1.00)A.数据库B.数据库管理系统 C.模拟模型D.软件工程解析:数据库管理系统(Database Management System,简称 DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。32.数据库的故障恢复一般是由( )。(分数:-1.00)A.数据流图完成的B.数据字典完成的C.DBA完成的 D.PAD图完成的解析:一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS 一般都提供此种功能
10、,并由 DBA负责执行故障恢复功能。33.SQL语言又称为( )。(分数:-1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言 D.结构化操纵语言解析:结构化查询语言(Structured Query Language,简称 SQL)是集数据定义、数据操纵和数据控制功能于一体 的数据库语言。34.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成( )。(分数:-1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:根据数据结构中各数据元素之间前后件关系的复杂程序,一般将数据结构分为两大类:线性结构和非线性
11、结构。线性结构是指满足以下两个条件的非空的数据结构:一是有且只有一个根结点,二是每一个结点最多有一个前件,也最多有一个后件。如是一个数据结构不是线性结构,则称为非线性结构。35.最常用的一种基本数据模型是关系数据模型,它的表示应采用( )。(分数:-1.00)A.树B.网络C.图D.二维表 解析:关系数据模型用统一的二维表结构表示实体及实体之间的联系(即关系)。三、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.语句 int * i;i=new int 10;,释放指针 i的语句是 1。(分数:3.00)填空项 1:_ (正确答案:delete i)解析:申请内存空间时
12、用 new,释放内存空间用 delete。37.常数据成员和静态数据成员在使用前共同的要求是要进行 1。(分数:3.00)填空项 1:_ (正确答案:初始化)解析:C+语言中常数据成员和静态数据成员都要进行初始化,只是初始化的方法不一样。 38.下面程序的输出结果为 1。 # include iostreamh void main2 int num=0,i=8; do i ; num+; while(i); cout num endl; (分数:3.00)填空项 1:_ (正确答案:4)解析:本题考查的是考生分析简单循环结构的能力。大体过程为第 1次进入循环,i 变成 7,num 变为1,i
13、变为 6;第 2次进入循环,i 变成 5,num 变为 2,i 变为 4;第 3次进入 循环,i 变成 3,num 变为3,i 变为 2;第 4次进入循环,i 变成 1,num 变为 4,i 变为 0,循环 结束。 39.C+语言中表示双精度浮点数的关键字是 1。(分数:3.00)填空项 1:_ (正确答案:double)解析:C+语言中基本的数据类型关键字,有 int,float,double。 40.C+语句 const char * const p= “hello“;,所定义的指针 p和它所指的内容都不能被 1。(分数:3.00)填空项 1:_ (正确答案:改变)解析:本题考查的是定义常
14、量的关键字 const,由 sonst定义的变量的值不可以再改变,所以定义时必须进行初始化。41.程序 #include“ iostreamh“ void main1 int i=10; jnt j=5; cout j+i+ end1; 的结果为 2 (分数:3.00)填空项 1:_ (正确答案:15)解析:i+为先做与 i有关的运算后,i 自加 1,而+i 是先给 i加 1再进行与 i有关的操作42.要采用“cin,tout”进行输入输出时,必须包含的头文件是 1。(分数:3.00)填空项 1:_ (正确答案:iostreamh)解析:iostreamh 是与输入输出有关的类文件。 43.如
15、果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:3.00)填空项 1:_ (正确答案:friend void A-|_|-;)解析:C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。 44.operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为 1 的。(分数:3.00)填空项 1:_ (正确答案:public)解析:本题考查 c+中运算符重载的固定格式和要求。C+中不论用成员函数还
16、是友元函数重载运算符都必须用关键字 operator,都必须将函数声明为公有的。45.设 i,j,k 均为 int型变量,则执行完 for(i=0,j=10;i=j;i+,j-)k=i+j;语句后,k 的值为 1。(分数:3.00)填空项 1:_ (正确答案:10)解析:该 for语句以 i为 0、j 为 10初始化,循环条件是 i=j,每次循环后 i增 1、j 减 1,循环体是将i与 j的和赋给 k。这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 1、j 为 9,二次循环后i为 2、j 为 8,五次循环后 i为 5、j 为 5,继续第六次循环,将 i与 j的和 10存于 k后,i
17、 为6、j 为 4,结束循环。所以循环执行后 k为 10。 46.为了便于对照检查,测试用例应由输入数据和预期的 1 两部分组成。(分数:-1.00)填空项 1:_ (正确答案:输出结果)解析:本题主要考查测试的步骤。47.在树结构中,树根结点没有 1。(分数:-1.00)填空项 1:_ (正确答案:前件)解析:在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。48.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 1。(分数:-1.00)填空项 1:_ (
18、正确答案:消息)解析:在面向对象技术中,主要用到对象(object)、类(class)、方法(method)、消息 (message)、继承(inheritance)、封装(encapsulation)等基本概念。其中消息是用来请求对象执行某一处理或回答某些信息的要求。 49.若串 s=“MathTypes“,则其子串的数目是 1。(分数:-1.00)填空项 1:_ (正确答案:46)解析:串 s中共有 9个字符,由于串中字符各不相同,则其子串中有 0个字符的 1个 (空串),1 个字符的 9个,2 个字符的 8个,3 个字符的 7个,4 个字符的 6个,5 个字符的 5个,6 个字符的 4个,7 个字符的 3个,8 个字符的 2个,9 个字符的 1个,共有 1+2+3+4 +5+6+7+8+9+1=46。50.可以把具有相同属性的一些不同对象归类,称为 1。(分数:-1.00)填空项 1:_ (正确答案:对象类)解析:类描述的是具有相似性质的一组对象;把具有相同属性的一些不同对象归为类,我们称之为对象类。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1