【计算机类职业资格】二级C++笔试-410及答案解析.doc
《【计算机类职业资格】二级C++笔试-410及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-410及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-410 及答案解析(总分:87.00,做题时间:90 分钟)一、选择题(总题数:35,分数:64.00)1.下列选项中,不属于模块间耦合的是( )。A) 数据耦合 B) 同构耦合C) 异构耦合 D) 公用耦合(分数:2.00)A.B.C.D.2.以下程序的执行后,x 和 y的值是 _ 。#include iostream. hclass Samplepublic:int x;int y;void disp() cout“x=“x“, y=“yend1;void main()int Sample: :*pc;Sample s;pc=s. *pc=10;pc=s. *pc=.20;
2、s. disp ();A) x=10, y=20 B) x=20, y=10C) x=10, y=10 D) x=20, y=20(分数:2.00)A.B.C.D.3.下列叙述中正确的是( )。A) C程序的基本组成单位是语句 B) C 程序中的每一行只能写一条语句C) 简单 C语句必须以分号结束 D) C语句必须在一行内写完(分数:2.00)A.B.C.D.4.sizeof (float) 是A) 一个双精度型表达式 B) 一个整型表达式C) 一种函数调用 D) 一个不合法的表达式(分数:2.00)A.B.C.D.5.下面关于 C+流的叙述中,正确的是( )。A) cin是一个输入流对象B)
3、 可以用 if stream定义一个输出流对象C) 执行语句序列 char*y=“PQMN”;couty;将输出字符串”PQMN”的地址D) 执行语句序列 char x80;cin.getline(x,80);时。若键入“Happy new year”,则,中的字符串是“Happy”(分数:2.00)A.B.C.D.6.若有定义如下:char x10=“Visual C“,y=“+6.0“; 则下列选项中对字符串操作错误的是( )。A) strcpy(x,y); B) strcat(x,y); C) gets(x); D) coutstrlen(x);(分数:2.00)A.B.C.D.7.有以
4、下程序段:int k=0;while(k=1)k+;while循环执行的次数是( )。A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行 1次(分数:2.00)A.B.C.D.8.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.9.判断字符型变量 ch是否为大写英文字母,应使用表达式A) chA j=strlen(a)couti j;A) 6 6 B) 5 6C) 1 5 D) 6 5(分数:
5、2.00)A.B.C.D.13.有如下函数模板定义:templateT1 sum(T1 a1)return(a1+a2+a3);则以下调用中正确的是( )。A) sumint,4,3(5); B) sum4,3(5); C) sumint,int,int(5); D) sum(5);(分数:2.00)A.B.C.D.14.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.B.C.D.15.有以下程序:#include iostreamusing namespace std;class sampleprivate:int n;public:sample()sample(int
6、 m)n=m;void addvalue(int m)sample s;s.n=n+m;*this=s;void disp ()cout“n=“nendl;int main()sample s(10);s.addvalue(5);s.disp();return 0;程序运行后的输出结果是A) n=10 B) n=5 C) n=15 D) n=20(分数:2.00)A.B.C.D.16.关于语句#includeiostreamusing namespace std;void main()cout100.8989663;comfixed100.8989663;coutscientific100.8
7、989663;的输出结果为( )A) 100.899 100.898966 1.008990e+002B) 100.8989663 100.898966 1.008990e+002C) 100.899 100.898966 1.008989e+002D) 100.899 100.8989663 1.008989e+002(分数:2.00)A.B.C.D.17.以下不属于构造函数特征的是A) 构造函数名与类名相同 B) 构造函数可以重载C) 构造函数可以设置默认参数 D) 构造函数必须指定函数类型(分数:2.00)A.B.C.D.18.有如下程序: int x=3: d0 x-=2: coutx
8、: while(!(-x); 执行这个程序的输出结果是 A) 1 B) 30 C) 12 D) 死循环(分数:2.00)A.B.C.D.19.能正确表示逻辑关系:“a10 或 a0”的 C+语言表达式是A) a=10 or a=0 B) a=0|a=10C) a=10 class Obj static int i;public :Obj() i+; -Obj() i- -; static int getVal() return i;int Obj: :i =0;void f() Obj ob2 ; cout ob2. getVal() ;int main() Obj obl ;f();Obj
9、* ob3 = new Obj ; cout ob3 - getVal() ;delete ob3 ; cout Obj : :getVal() ;return 0 ;执行这个程序的输出结果是( )。A) 232 B) 231 C) 222 D) 221(分数:1.00)A.B.C.D.21.在 C+中,编译系统自动为一个类生成缺省构造函数的条件是( )。A) 该类没有定义任何有参构造函数B) 该类没有定义任何无参构造函数C) 该类没有定义任何构造函数D) 该类没有定义任何成员函数(分数:2.00)A.B.C.D.22.以下程序的输出结果是( )。#includeiostream#includ
10、estdlibusing namespace std;void func(char *m)+m;cout*mendl;main()static char *a=“MORNING“,“AFTERNOON“,“EVENING“);char *n;n=a;func(n);system(“PAUSE“);return 0;A) 为空 B) MORNINGC) AFTERNOON D) EVENING(分数:2.00)A.B.C.D.23.下列各组类型声明符中,含义相同的一组是( )。A) unsigned long int和 long B) signed short int和 shortC) unsi
11、gned short 和 short D) short int 和 int(分数:2.00)A.B.C.D.24.在重载运算符函数时,下面运算符必须重载为类的成员函数的是( )。A) + B) - C) + D) -(分数:2.00)A.B.C.D.25.关于关键字 class和 typename,下列表述中正确的是( )。A) 程序中的 typename都可以替换为 classB) 程序中的 class都可以替换为 typenameC) 在模板形参表中只能用 typename来声明参数的类型D) 在模板形参表中只能用 class或 typename来声明参数的类型(分数:2.00)A.B.C
12、.D.26.以下程序的功能是按顺序读入 10名学生 4门课程的成绩,计算出每位学生的平均分并输出:main( )int n, k,float score, sum, ave;sum=0.0;for(n=1; n=10; n+)for(k=1;k=4;k+)cinscore;sum+=score;ave= sum/4.0cout“No“n“:“aveend1;上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是A) sum=0.0B) sum+=scoreC) ave=sun/4.0D) cout“No“n“:“aveend1;(分数:2.00)A.B.C.D.27
13、.下列程序的执行结果是( )。#includeiostream.h#includestdlib.hclass TestClasspublic:intx,y;TestClass()x=y=0;TestClass(int a,int b)x=a;y=b;void disp()cout“X“=“X“,y=“yendl;void main()TestClass sl(2,3);s1.disp();A) x=2,y=2 B) x=3,y=3 C) x=2,y=3 D) x=3,y=2(分数:2.00)A.B.C.D.28.有以下程序mian()int i,j;for(i=1;i4;i+)for(j=i;
14、j4;j+) printf(“%d*%d=%d “,i,j,i*j);printf(“/n“);程序运行后的输出结果是_。A) 1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 3*1=3B) 1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9C) 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9D) 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9(分数:2.00)A.B.C.D.29.下列关于关系运算的叙述中正确的是A) 投影、选择、连接是从二维表的行的方向来进行运算B) 并、交、差是从二维表的列的方向来进行运算C)
15、 投影、选择、连接是从二维表的列的方向来进行运算D) 以上三种说法都不对(分数:2.00)A.B.C.D.30.设有定义 int a1;float f1.2;char ca;,则下列表示错误的是A) a; B) f-; C) c; D) 8;(分数:2.00)A.B.C.D.31.有下列程序:#includestdio.hvoid main()char *a=“abcd“,“ef“,“gh“,“ijk“);int i;for(i=0;i4;i+)printf(“%c“,*ai);程序运行后的输出结果是( )。A) aegi B) dfhk C) abcd D) abcdefghijk(分数:2
16、.00)A.B.C.D.32.如果表达式 y*x+十中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A) x.operator+(0).operator *(y);B) operator * (x.operator+(0),y);C) y.operator * (operator+(x,0)D) operator * (operator+(x,0),y)(分数:1.00)A.B.C.D.33.C+语言类体系中,不能被派生类继承的有( )。A) 转换函数 B) 构造函数C) 虚函数 D) 静态成员函数(分数:2.00)A.B.C.
17、D.34.下列关于运算符重载的叙述中,正确的是A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载一个二元运算符时,必须声明两个形参(分数:1.00)A.B.C.D.35.已知一个类 A的定义如下,则执行“Ax(3); ”语句后,x.a 和 x.b的值分别为 _。class Aint a, b;public:A(int aa=1,int bb=0)a=aa;b=bb ;A) 1和 0 B) 3和 1C) 1和 3 D) 3和 0(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:23.00)36.有如下的
18、程序:#includeiostreamusing namespace std;class ATfriend ostream class MyClasspublic:MyClass();MyClass();static int s;void SetValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)(s=val;int main()MyClass my3,*p;p=my;for(int k=0;k3;k+)p-SetValue(k+l);p+;coutMyClass:send1;retu
19、rn 0;运行后的输出结果是_。(分数:1.00)填空项 1:_43.语句 coutsetiosflags(ios:showpos)38“-38end1;的输出结果为 1。(分数:2.00)填空项 1:_44.若,将一个二元运算符重载为类的成员函数,其形参个数应该是 1 个。(分数:2.00)填空项 1:_45.在下面横线上填上适当的语句,完成程序。#includeiostreamusing namespace std;class Baseint x;public:Base(int i)x=i;Base();class Derived:public Basepublic:_/完成类 Deriv
20、e构造函数的定义;int main()Derived Obj;return 0;在横线处应填入的语句是_。(分数:1.00)填空项 1:_46.若要把类 A定义为 B的友元类,则应在类 B的定义中加入声明语句 1。(分数:2.00)填空项 1:_47.Staff类含有血型数据成员 ID,两个 Staff对象相等是指它们的 ID相同。下面的函数重载了运算符=,它用来判断两个 Staff对象是否相等,相等时返回 true,否则返回 false。请将横线处缺失部分补充完整。bool Staff:Staff=(const Staff int y;void disp() cout“x=“x“, y=“y
21、end1;void main()int Sample: :*pc;Sample s;pc=s. *pc=10;pc=s. *pc=.20;s. disp ();A) x=10, y=20 B) x=20, y=10C) x=10, y=10 D) x=20, y=20(分数:2.00)A. B.C.D.解析:3.下列叙述中正确的是( )。A) C程序的基本组成单位是语句 B) C 程序中的每一行只能写一条语句C) 简单 C语句必须以分号结束 D) C语句必须在一行内写完(分数:2.00)A.B.C. D.解析:解析 本题考查 C语言的基本概念。C 语言的源程序是由函数构成的,其基本单位是函数,
22、每一个函数完成相对独立的功能,其中至少包括一个主函数;C 语言的书写格式自由,一行可写多条语句,一条语句也可写在不同行上;C 语言规定每个语句以分号结束。可随时添加注释,对程序没影响。4.sizeof (float) 是A) 一个双精度型表达式 B) 一个整型表达式C) 一种函数调用 D) 一个不合法的表达式(分数:2.00)A.B. C.D.解析:解析 该函数用于数据类型和变量。注意: sizeof 操作符不能用于函数、不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、void 类型等。5.下面关于 C+流的叙述中,正确的是( )。A) cin是一个输入流
23、对象B) 可以用 if stream定义一个输出流对象C) 执行语句序列 char*y=“PQMN”;couty;将输出字符串”PQMN”的地址D) 执行语句序列 char x80;cin.getline(x,80);时。若键入“Happy new year”,则,中的字符串是“Happy”(分数:2.00)A. B.C.D.解析:解析 本题考查 C+洗的概念和 I/()的格式化。cln 是 lstream类的对象,即输入流对象。ifstream是输入文件流类不能定义个输出流对象。getline 函数功能是允许从输入流中读取多个字符,并且允许指定输入终止,在读取完成后,从读取的内容中删除读终止
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 410 答案 解析 DOC
