【计算机类职业资格】二级C++笔试-300及答案解析.doc
《【计算机类职业资格】二级C++笔试-300及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-300及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-300 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有以下程序#includeiostreamhstruct STUchar num10;float score3;void main( )struct STU s3= “20021“,90,95,85 ,“20022“,95,80,75 ,“20023“,100,95,90 ,* p=s;int i;float sum=0;for(i=0;i3;i+)sum=sum+p-scorei;cout sum;程序运行后的输出结果是(分数:2.00)A.260B.270C.280
2、D.2852.C+语言中类的定义的结束声明的符号是(分数:2.00)A.B.,C.;D.3.在下列几种排序方法中,要求内存量最大的是(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序4.设一棵二叉树中有 3 个叶子结点,有 8 个度为 1 的结点,则该二叉树中总的结点数为(分数:2.00)A.12B.13C.14D.155.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(分数:2.00)A.PAD 图B.N-S 图C.结构图D.数据流图6.关于类定义中的语句错误的是class Aiht i;A a;A * b;char * ch
3、;(分数:2.00)A.int i;B.A a;C.A * b;D.char * ch;7.根据数据结构中各数据元素之问前后件关系的复杂程度,一般将数据结构分成(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构8.下面程序段中,for 循环的执行次数是char * s=“/ta/018bc“;for(;* s! =/0;s+)cout “ * “;(分数:2.00)A.9B.5C.6D.79.软件复杂性度量的参数包括(分数:2.00)A.效率B.规模C.完整性D.容错性10.如下程序的执行结果是#includeiostreamhvoi
4、d main( )static int a = 1,7,3,9,5,11 ;int * p=a;* (p+3)+=4;cout * p “,“ * (p+3);(分数:2.00)A.1,13B.1,16C.3,13D.1,1411.下列叙述中,不属于结构化程序设计方法的主要原则的是(分数:2.00)A.自顶向下B.由底向上C.模块化D.限制使用 goto 语句12.有以下程序#includeiostreamhint f(iht n)if(n=1) return 1;else return f(n-1)+1;void main( )iht i,j=0;for(i=1;i3;i+)j+=f(i);
5、cout j;程序运行后的输出结果是(分数:2.00)A.4B.3C.2D.113.以下程序的输出结果是#includeiostreamhint f( )static int i=0;int s=1s+ =i; i+;return s;void main( )int i,a=0;for(i=0 ;i5;i+)a+=f( );cout a;(分数:2.00)A.20B.24C.25D.1514.下列程序的输出结果是#includeiostreamhvoid main( )double d=3.2;int x,y;x=12;y=(x+38)/50;cout y * d end1;(分数:2.00)
6、A.3B.3,2C.0D.30715.以下程序段的执行结果为#includeiostreamh#define PLUS(X,Y)X+Yvoid main( )int x=1,y=2,z=3,sum;sum=PLUS(x+y,z) * PLUS(y,z);cout “SUM=“ sum;cout end1;(分数:2.00)A.SUM=9B.SUM=12C.SUM=18D.SUM=3016.执行下面的程序段后,变量 k 中的值为#includeiostreamhvoid main( )int k=3, s2;s0=k; k=s1 *10;cout k;(分数:2.00)A.不定值B.33C.30
7、D.1017.下列关于 C+函数的描述中正确的是(分数:2.00)A.主函数是程序的入口,它由用户定义的函数调用B.函数在调用之前必须先被声明C.每个用户定义的函数只能被其他函数调用一次D.函数是 C+中面向对象程序设计框架的基本组成单元18.下列叙述中,不属于数据库系统的是(分数:2.00)A.数据库B.数据库管理系统C.数据库管理员D.数据库应用系统19.C+语言中运算对象必须是整型的运算符是(分数:2.00)A.%=B./C.=D.=20.下列关于 C+关键字的说法中正确的是(分数:2.00)A.关键字是用户为程序中各种需要命名的“元素”所起的名字B.关键字是对程序中的数据进行操作的一类
8、单词C.关键字是在程序中起分割内容和界定范围作用的一类单词D.关键字是 C+中预先定义并实现一定功能的一类单词21.有如下程序段#includevoid main( )int a=14,b=15,x;char c=A;x=(a&b) &(cB) ;cout x;执行该程序段后,x 的值为(分数:2.00)A.tureB.falseC.0D.122.下列运算符只能用友元函数重载的是(分数:2.00)A. , B.new,deleteC.+,-D.,23.下列不属于软件调试技术的是(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法24.以下程序的输出结果是#includevoi
9、d main( )char c=Z;cout c-25;(分数:2.00)A.97B.ZC.z-25D.225.视图设计一般有 3 种设计次序,下列不属于视图设计的是(分数:2.00)A.自顶向下B.由外向内C.由内向外D.自底向上26.#includeiostreamhvoid main( )int n=9;while(n6) n-;cout n; 该程序的输出结果是(分数:2.00)A.987B.876C.8765D.987627.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统C.数据模型D.软件工具28.下面关于成员函数重载运算符和友元函数重载运算符相同的是(分数:2.
10、00)A.成员函数和友元函数可重载的运算符是不相同的B.成员函数和友元函数重载运算符时都需要用到 this 指针C.成员函数和友元函数重载运算符时都需要声明为公有的D.成员函数和友元函数重载运算符时的参数町能是相同的29.下列程序的运行结果是#inCludeiostreamhroid fun(int *a,int * b)int * k;k=a;a=b;b=k;void main( )int a=2004,b=9,* x=&a,* y=&b;fun(x,y);cout a “ “ b end1;(分数:2.00)A.2004 9B.9 2004C.0 0D.编译时出错30.下面说明不正确的是(
11、分数:2.00)A.char a10=“china“;B.char a10,* p=a;p=“china“;C.char * a;a=“china“;D.char a10,* P;P=a=“china“;31.在 C+语言中,退格符是(分数:2.00)A./nB./tC./fD./b32.以下程序的结果是#includeiostreamhvoid main( )char * p=“abcdefgh“,* r;long * q;q=(long * )p;q+;r=(char * )q;cout r end1;(分数:2.00)A.defgB.cdefC.ghabD.efgh33.下列描述中错误的
12、是(分数:2.00)A.析构函数可以被继承B.虚函数不能被继承C.派生类可以有多个基类D.纯虚基类的子类可以是虚基类34.下列描述中哪个是正确的?(分数:2.00)A.派生类构造函数中没有调用父类构造函数则没有对父类初始化B.子类构造函数不能是内联函数C.派生类构造函数中可以对父类数据成员赋值D.构造函数的返回值为 void 类型35.关于语句#includeiostreamusing namespace std;void main( ) cout 1008989663 ; cout fixed 1008989663 ;cout scientific 1008989663 ;的输出结果为(分数
13、:2.00)A.100.899 100898966 1008990e+002B.100.8989663 100898966 1008990e+002C.100899 100898966 1008989e+002D.100899 1008989663 1008989e+002二、填空题(总题数:13,分数:30.00)36.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【1】 。(分数:2.00)填空项 1:_37.数据结构包括数据的逻辑结构、数据的 【2】 以及对数据的操作运算。(分数:2.00)填空项 1:_38.可以把具有相同属性的一些不同对象归类,称为 【3】 。(分数:2
14、.00)填空项 1:_39.软件工程包括 3 个要素,分别为方法、工具和 【4】 。(分数:2.00)填空项 1:_40.由关系数据库系统支持的完整性约束是指 【5】 和参照完整性。(分数:2.00)填空项 1:_41.c+语言标识符是以字母或 【6】 开头的,由字母,数字和下划线组成的字符串。(分数:2.00)填空项 1:_42.在内存中,存储字符X要占用 1 个字节,存储字符串“X“要占用 【7】 个字节。(分数:2.00)填空项 1:_43.mystrlen 函数的功能是计算 str 所指字符中的长度,并作为函数值返回,请填空。int mystrlen(char * str)int i;
15、for(i=0; 【8】 !=/0;i+);return(i);(分数:2.00)填空项 1:_44.以下函数用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元中。请填空。#includeiostreamhvoid fun(int * s,int t,int * k)int i;* k= 【9】 ;【10】 if(s * k si) * k=i;void main1int al0= 876,675,896,101,301,401,980,431,451,777 ,k;fun(a,10,&k);cout k “,“ ak;(分数:4.00)填空项 1:_45.如果一个类中定义了成员
16、对象,则该类的对象和成员对象先被初始化的是 【11】 。(分数:2.00)填空项 1:_46.请在 mian 函数中填空使下面程序的输出结果为 1 1。#includeiostreamhclass Aprivate:int a;int b;public:A( ):a(0) ,b(1) void show( ) cout a “ “ b; ;class Bprivate:int a;int c;public:B( ):a(1),c(1) void show( ) cout a “ “ c; ;class C:public A,public B;void main( )C cc;【12】 (分数:
17、2.00)填空项 1:_47.C+在重载运算符中,如用成员函数重载一元运算符参数表中需要 【13】 个参数,如用友元函数重载一元运算符参数表中需要 【14】 个参数。(分数:4.00)填空项 1:_48.已知:double A (double A) return +a;和 int A(int A) return +a;是一个函数模板的两个实例,则该模板定义为 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-300 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有以下程序#includeiostreamhstruct STUcha
18、r num10;float score3;void main( )struct STU s3= “20021“,90,95,85 ,“20022“,95,80,75 ,“20023“,100,95,90 ,* p=s;int i;float sum=0;for(i=0;i3;i+)sum=sum+p-scorei;cout sum;程序运行后的输出结果是(分数:2.00)A.260B.270 C.280D.285解析:【命题目的】考查结构体的用法【解题要点】:C+语言规定数组名代表数组的首地址,也就是第 0 号元素的地址,在本题中 s 就是 s0的地址,指针变量 P 指向 s,也就是指向 s0
19、,所以在 for 循环累加的是 s0的 score 成员值。【考点链接】注意结构体与类的区别。2.C+语言中类的定义的结束声明的符号是(分数:2.00)A.B.,C.; D.解析:【命题目的】考查 C+语言中类定义的结束符号。【解题要点】C+语言中类定义的结束符号是分号。【考点链接】函数的定义不需要分号。3.在下列几种排序方法中,要求内存量最大的是(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序 解析:【命题目的】要求考生对几种排序方法的实现机制有充分的理解。【解题要点】快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的
20、关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止:归并排序是将两个或两个以上的有序表组合成一个新的有序表。【考点链接】各种排序方法实现过程及实现机制。4.设一棵二叉树中有 3 个叶子结点,有 8 个度为 1 的结点,则该二叉树中总的结点数为(分数:2.00)A.12B.13 C.14D.15解析:【命题目的】本题考查二叉树的基本概念及其基本性质
21、。【解题要点】按照题目的要求可得到满足条件的二叉树,如下图所示:*故该二叉树中总的结点个数为 13。5.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(分数:2.00)A.PAD 图B.N-S 图 C.结构图D.数据流图解析:【命题目的】本题考查了几种常用的算法描述工具及其基本知识。【解题要点】常见的过程设计工具有:程序流程图、N-S 图、PAD 图和 HIPO 图。其中,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 N-S 图。【考点链接】其他常用算法描述工具的概念。6.关于类定义中的语句错
22、误的是class Aiht i;A a;A * b;char * ch;(分数:2.00)A.int i;B.A a; C.A * b;D.char * ch;解析:【命题目的】考查 C+语言中类定义用它自己定义数据的方法。【解题要点】C+语言中类定义中若想用该类来定义数据只能定义为指针类型的,而不能定义为普通类型的。【考点链接】C+语言类的定义的方法7.根据数据结构中各数据元素之问前后件关系的复杂程度,一般将数据结构分成(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:【命题目的】考查考生对数据结构分类的理解。【解题要点】根
23、据数据结构中各数据元素之间前后件关系的复杂程序,一般将数据结构分为两大类:线性结构和非线性结构。线性结构是指满足以下两个条件的非空的数据结构:一是有且只有一个根结点,二是每一个结点最多有一个前件,也最多有一个后件。如是一个数据结构不是线性结构,则称为非线性结构。【考点链接】数据结构的各种分类方法及标准。8.下面程序段中,for 循环的执行次数是char * s=“/ta/018bc“;for(;* s! =/0;s+)cout “ * “;(分数:2.00)A.9B.5C.6 D.7解析:【命题目的】数据成员内存的占用。【解题要点】本题中,格式符。表示的是八进制无符号形式输出整型数(不带前导
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 300 答案 解析 DOC
