【计算机类职业资格】二级C++笔试354及答案解析.doc
《【计算机类职业资格】二级C++笔试354及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试354及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 354 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.执行完下列语句 int a,b, *c int * p 后 c 指向(分数:2.00)A.aB.bC.cD.无效地址2.有以下程序 main() union unsigned int n; unsigned char c; ul; u1.cA; coutu1.nendl; 执行后输出结果是(分数:2.00)A.产生语法错B.随机值C.AD.653.若有以下宏定义: # define N 2 # define Y(n) (N+1)*n) 则执行语句 z2*(N+Y(
2、5);后的结果是(分数:2.00)A.语句有错误B.z=34C.z70D.z 无定值4.以下叙述中正确的是(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义5.若已定义 int a1,2,3,4,5,6,7,8,9,10, *pa,i5; 则对数组元素的不正确的引用是(分数:2.00)A.ap-aB.* ( if(abc) coutdendl; else if(c-1d)1) coutd+1endl; else coutd+2endl; 执行后输出结果是(分数:2.00)A.
3、2B.3C.4D.编译时有错,无结果10.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.投影、选择、连接是从二维表的列的方向来进行运算C.并、交、差是从二维表的列的方向来进行运算D.以上三种说法都不对11.下列程序的输出结果是 main() int x1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; cout“a“a“b“bendl; (分数:2.00)A.a2,b=1B.a=1,b1C.a1,b=0D.a=2,b=212.假定其中的 x 的单位是角度且不考虑 值的精
4、度,则与数学公式 (分数:2.00)A.sqrt(cos()B.sqrt(abs(cos(x* 3.14/180)C.sqrt(abs(cos(x*(/180)D.sqrt(fabs(cos(x* 3.14/180)13.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用”括起时,寻找被包含文件的方式是(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,再按系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录14.以下循环体的执行次数是 main() int i,j; for(i0,j=1;ij+1;i+=2,j-) cou
5、tiendl;(分数:2.00)A.3B.2C.1D.015.以下关于友元函数的叙述不正确的是(分数:2.00)A.友元函数提供了类之间数据共事的一个途径B.一个友元函数可以访问任何类的任何成员C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性16.一棵二叉树中所含最少的结点数是(分数:2.00)A.0B.1C.2D.317.有以下程序 main() int i1,j1,k2; if(j+|k+) 执行后输出结果是(分数:2.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,318.下列程序的运行结果是 main() int a2,c=5; cout“a“a“b=“cen
6、dl (分数:2.00)A.a%2,b%5B.a=2,b5C.ad,bdD.a%d,b=%d19.能保证对所有的参数能够结束的递归函数是(分数:2.00)A.int f(int if(n1) return 1; else return n*f(n+1);B.int f(int if(n1) return 1; else return n*f(n-1);C.int f(int if(abs(1) return 1; else relurn n*n/2);D.int f(int if(n1) return 1; else return n*f(n*2);20.以下函数值的类型是 fun ( flo
7、at x) float y; y 3*x-4; return y; (分数:2.00)A.intB.不确定C.voidD.float21.以下程序的输出结果是 int a, b; void fun() a100; b200; main() int a=5, b=7; fun(); coutabendl; (分数:2.00)A.100200B.57C.200100D.7522.设有语句 int n,m; char a5,b; cinnamb; 为了分别将 10 和 20 分别赋给 n 和m,look 赋给 a,t 赋给 b,则正确的输入为(分数:2.00)A.10 “look“ 20 tCRB.
8、10 “look“ 10C.10 look 20 tD.10CRlook20CRtCR23.执行下面程序中的输出语句后,a 的值是 main() int a; cout(a3*5,a*4,a+5); (分数:2.00)A.65B.20C.15D.1024.数据结构分为(分数:2.00)A.表、队列、堆栈和树B.逻辑结构C.存储结构D.逻辑结构与存储结构25.设有如下说明 typedef struct int n;char c;double x;STD; 则有以下选项,能正确定义结构体数组并赋初值的语句是(分数:2.00)A.STD tt21,A,62,2,B,75;B.STD tt2=“1,“
9、A“,62,2,“B“,75;C.struc tt21,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;26.已知语句 int m10;则下列引用的表示中正确的是(分数:2.00)A.int B.int C.int D.float 27.为了避免嵌套的 if.else 语句的二义性,C+规定与 else 配对的是(分数:2.00)A.缩排位置相同的 ifB.在其之前未配对时 ifC.在其之前未配对的最近的 ifD.同一行上的 if28.在数据流图(DFD)中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.数据的流向D.控制程序
10、的执行顺序29.在最坏情况下,冒泡排序所需要的比较次数为(分数:2.00)A.n/2B.(n+1)/2C.n(n-1)/2D.n(n+1)/230.在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是(分数:2.00)A.封装B.类C.对象D.继承31.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.需求分析C.可行性分析D.详细设计32.有如下程序 main() int n9; while(n6)n-; coutnendl; 该程序段的辅出结果是(分数:2.00)A.987B.876C.8765D.987633.下
11、列叙述中错误的是(分数:2.00)A.二又树不是线性结构B.线性表是非线性结构C.线性链表是线性结构D.栈与队列是线性结构34.对于以下带参数的 main()函数的第二形参,void main(int argc, _),不可能的形式是(分数:2.00)A.char * argvB.char argvC.char * *aD.char * m35.有关构造函数的叙述不正确的是(分数:2.00)A.构造函数名必须和类名一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个二、B填空题/B(总题数:15,分数:30.00)36.所谓数据封装就是将一组数据和与
12、这组数据有关操作组装在一起,形成一个实体,这实体也就是U 【1】 /U。(分数:2.00)填空项 1:_37.在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送U 【2】 /U实现。(分数:2.00)填空项 1:_38.在关系数据库中,用来表示实体之间联系的是U 【3】 /U。(分数:2.00)填空项 1:_39.在测试时,完全不考虑程序的内部结构和内部特征的测试方法称为U 【4】 /U测试方法。(分数:2.00)填空项 1:_40.一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于U 【5】 /U的联系。(分数:2.00)填空项
13、1:_41.执行语句序列 char strl10=“ABCD“,str210=“XYZxyz“; for (int i=0; strli=str2i; i+) 后,数组 str1 中的字符是 XYZxyz,数组 str2 中的字符串是U 【6】 /U。(分数:2.00)填空项 1:_42.下列程序的执行结果是U 【7】 /U。 include iostream. h int a; int sum_a(void) a=a+5; return a; void main(void) a = a+sum_a(); coutaendl; (分数:2.00)填空项 1:_43.根据输出结果填空完成下面程序
14、。 # includeiostream. h class Test private: static int val; int a; public: static int func( ); void sfunc(Test ; U 【8】 /U/初始化静态变量 val int Test:func() return val+; void Test:sfunc(Test cout“Result3=“r.a; void main( ) cout“Resultl=“Test:func( )endl; Test a; cout“Result2=“a. func( ); a. sfunc(a) (分数:2.0
15、0)填空项 1:_44.下列程序的运行结果是U 【9】 /U。 # include iostream. h class test private: int num; public: test() int TEST() return num+100; test() ; test:test()num=0; test:test()cout“Destructor is active“endl; void main() test x3 coutx1. TEST()endl; (分数:2.00)填空项 1:_45.下列程序是一个函数模板,用于把数组 a 的每个元素按照逆序放入数组 b 中。请填空完成该函数
16、模板的定义 templateclass Type void Func(Type a, Type b, U【10】 /U) for(int i=0;in;i+) bn-i-1=ai; (分数:2.00)填空项 1:_46.下列程序的运行结果是U 【11】 /U。 # includeiostream. h # includestring. h void main() char * a5=“stuent“,“worker“,“teacher“,“soldier“,“ peasant“; char * p1, * p2; p1=p2=a0 for(int i=0;i5;i+) if(strcmp(ai
17、,p1)0) p1=ai; if(strcmp(ai,p2)0) p2=ai; coutp1“,“p2endl; (分数:2.00)填空项 1:_47.下列程序编译时发现 pb-f(10);语句出现错误,其原因是U 【12】 /U。 # includeiostream. h class Base public: void f(int x)cout“Base:“xendl; ; class Derived: public Base public: void f(char * str)cout“Derivcd:“strendl; ;void main(void) Derived * pd=new
18、Derived; pd-f(10) (分数:2.00)填空项 1:_48.下列程序的运行结果是U 【13】 /U。 # include iostream. h class SomeClass public: SomeClass(int value) some_value=value; void show_data(void) coutdata“some_valueendl; ; static void set_data(int value) data=value; private: static int data; int some_value ; int SomeClass:data voi
19、d main(void) SomeClass my_class(1001),your_class(2002); your_class. set_data(4004); my_elass. show_data() (分数:2.00)填空项 1:_49.下列程序用于打印出 ASC字符,其析构函数内的语句应为U 【14】 /U。 # includeiostream. h # ineludeiomanip, h templateclass T class Array T * elems; int size; public: Array(int.s); Array() T templateclass T
20、 ArrayT:Array(int s) size=s; elems=new Tsize for(int i=0;isize;i+) elemsi=0 templatecelass T ArrayT:Array() _ template class T T templateclass T void ArrayT:operator=(T temp) for(int i=0;isize;i+) elemsi=temp; void main() int i,n=26; Arrayint arr1(n) Arraychar arr2(n) for(i=0;in;i+) -. arr1i=a+i; ar
21、r2i=a+i; cout“ASCII 字符“endl; for(i=0;in;i+) coutsetw(8)arr1isetw(8)arr2iendl; (分数:2.00)填空项 1:_50.下列程序对加号进行了重载,划线部分的语句是U 【15】 /U。 # includeiostream. h # includemath. h class Triangle int x,y,z; double area; public: Triangle(int i,int j, int k) double s; x=i;y=j;z=k; s=(x+y+z)/2.0; area=sqrt(s*(s-x)*(
22、s-y)*(s-z); void disparea() cout“Area=“areaendl; friend double operator+(Triangle t1,Triangle t2) _ ; void main() Triangle t1(3,4,5),t2(5,12,13); double s; cout“t1:“;t1.disparea() cout“t2:“;t2.disparea() s=t1+t2; tout“总面积:=“sendl; (分数:2.00)填空项 1:_二级 C+笔试 354 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 354 答案 解析 DOC
