【计算机类职业资格】二级C++分类模拟284及答案解析.doc
《【计算机类职业资格】二级C++分类模拟284及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟284及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 284及答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.以下函数实现的功能是 void fun(char*s) char*p,*q,temp; p=s; q=s+strlen(s)-1; while(pq) temp=*p; *p=*q; *p=temp; p+; q-; (分数:1.00)A.将一个字符串首尾颠倒B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母2.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr oper
2、ator -(DecrC.friend DecrD.friend Decr operator -(Decr3.下列关于基类和派生类关系的叙述中,正确的是_。(分数:1.00)A.每个类最多只能有一个直接基类B.派生类中的成员可以访问基类中的任何成员C.基类的构造函数必须在派生类的构造函数体中调用D.派生类除了继承基类的成员,还可以定义新的成员4.设树 T的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1。则 T中的叶子结点数为(分数:1.00)A.5B.6C.7D.85.有下列程序: # include stdio.h void fun(int*s,int n1,int n
3、2) int i,j,t; i=n1;j=n2 while(ij)t=si;si=sj;sj=t;i+;j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“, ak);printf (“/n“); 程序的运行结果是_ 。(分数:2.50)A.0987654321B.4321098765C.5678901234D.09876512346.下列叙述中正确的是 _ 。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个
4、算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对7.若要重载+、=、=和运算符,则必须作为类成员重载的运算符是_。(分数:2.50)A.+和=B.=和C.=和D.=和8.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象 f,试图打开文件 SALARY.DAT并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首
5、;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件9.有以下程序: #includeiostream using namespace std; Class sample private: int n; public: sample() sample(int m) n=m; sample add(sample s1,samplc s2) this-n=s1.n+s2.n; return(*this); void disp() cout“n”nendl; ; int main() sample s1(10),s2(5),s3; s3.add(s1,s2); s3.
6、disp(); return 0; 程序运行后,输出的结果是 _ 。(分数:2.00)A.n10B.n5C.n20D.n=1510.下列程序输出的结果是_。 #includestdio.h funl(char a,char b)char c;c=a;a=b;b=c; fun2(char*a,char b)char c;c=*a;*a=b;b=; fun3(char*a,char*b)char c;c=*a;*a=*b;*b=c;) void main() char a,b; a=“A“=b=“B“;funl(a,b);putchar(a);putchar(b); a=“A“-b=“B“;fun
7、2(a, b);putchar(a);putchar (b); a=“A“;b=“B“;fun3(a,b);putchar(a);putchar(b); putchar(“/n“); (分数:2.50)A.BABBABB.ABBBBAC.ABBABAD.ABABBA11.决定 C+语言中函数的返回值类型的是(分数:1.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型12.下列关于 this指针的叙述中,正确的是 _ 。(分数:2.00)A.this指针是一个隐含指针,它隐含于类的成员函数中B.只有在使用
8、 this时,系统才会将对象的地址赋值给 thisC.类的友元函数也有 this指针D.this指针表示了成员函数当前操作的数据所属的对象13.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书14.有如下程序: #includeiostream using namespace std; void f1(int void f2(int x)+x; int main() int x=10,y=12; f1(x); f2(y); coutx+yendl; return 0; 运行这个程序的输出结果是_。(分数
9、:3.00)A.22B.23C.24D.2515.有如下程序: #inchldeiostream using namespace std; int main() char a; cina; if(a=“*“)cout“*“endl; else cout“#“endl; return 0; 输入字符+时,程序的运行结果是_。(分数:2.50)A.*B.#C.*#D.无输出16.下面关于 C+流的叙述中,正确的是 _ 。(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char *y=“PQMN“;couty;将输出字符串 PQMN的地址D
10、.执行语句序列 char x80;cin.getline(x,80);时,若输入 Happy new year,则 x中的字符串是“Happy”17.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是_。(分数:1.00)A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符18.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型B.操作数个数C.优先级D.结合性19.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.内部结构和外部结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.动态结构和静态结构20.已知数组 arr的定义
11、如下: int arr5=1, 2, 3, 4, 5; 下列语句中输出结果不是 2的是_。(分数:2.50)A.cout*arr+1endl;B.cout*(arr+1)endl;C.coutarr1endl;D.cout*arrendl;21.已知函数 FA调用函数 FB,若要把这两个函数定义在同一个文件中,则_。(分数:1.00)A.FA必须定义在 FB之前B.FB必须定义在 FA之前C.若 FA定义在 FB之后,则 FA的原型必须出现在 FB的定义之前D.若 FB定义在 FA之后,则 FB的原型必须出现在 FA的定义之前22.有以下程序: #include iostream using
12、namespace std; int main() int num23,*p; int t,i,j,k=10; p=num0; for(i=0;i2;i+) for(j=0;j3;j+) k+; *p=k; for(t=2;t*p;t+) if(!(*pt) j-; *p-; break; *p+; cout*(p-1)end1; return 0; 程序运行后的输出结果是 _ 。(分数:1.00)A.19B.11C.29D.2323.有如下函数定义: void func(int a,intb+; 若执行代码段: int x=0,y=1; func(x,y); 则变量 x和 y的值分别是_。(
13、分数:1.00)A.0和 1B.1和 1C.0和 2D.1和 224.下面的语句中错误的是(分数:2.00)A.int a5;int xa ;B.const int a5;int xa ;C.int n5;int * pnew inta ;D.const int n5;int * pnew inta ;25.在数据结构中,从逻辑上可以把数据结构分成 _ 。(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树状结构和图状结构26.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun
14、(20+n);C.Fun(n);D.Fun(n);27.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.00)A.publicB.protectedC.privateD.static28.已知枚举类型声明语句为: enumCOLORWHITE,YELLOW,GREEN=5,RED,BLACK=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 129.有如下类定义: class B public: void fun1
15、() private: void fun2() protected: void fun3() ; class D:public B protected: void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();30.下列描述正确的是_。(分数:1.00)A.表示 mn 为 true或 mn 为 true的表达式为 mnmnB.switch语句结构中必须有 default语句C.if语句结构中必须有 else语句D.如果至少有一个操作数为
16、true,则包含|运算符的表达式为 true31.下列关于队列的叙述中正确的是(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表32.下列关于运算符重载的描述中,正确的是(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变运算符的优先级C.运算符重载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能33.下列关于 goto语句的描述中,正确的是 _ 。(分数:1.00)A.goto语句可在一个文件中随意转向B.goto语句后面要跟一个它所转向的语句C.goto语句可以同时转向多条语句D.goto
17、语句可以从一个循环体内转到循环体外34.数据库管理系统是_。(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统35.有如下语句序列: char str10;cinstr; 当从键盘输入“I love this game”时,str 中的字符串是_。(分数:2.50)A.“I love this game“B.“I love thi“C.“I love“D.“I“36.已知字母 A的 ASCII代码值为 65,若变量 kk为 char型,下列不能正确判断出 kk中的值为大写字母的表达式是_。(分数:2.50)A.kk=“A“kk=“Z“B.!(k
18、k=“A“|kk=“Z“)C.(kk+32)=“a“(kk+32)=“z“D.isalpha(kk)(kk=91)37.下列代码段声明了 3个类: class Person); class Student:public Person; class Undergraduate:Student); 下列关于这些类之间关系的描述中,错误的是_。(分数:2.50)A.类 Person是类 Undergraduate的基类B.类 Undergraduate从类 Student公有继承C.类 Student是类 Person的派生类D.类 Undergraduate是类 Person的派生类38.下列叙述
19、中正确的是_。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率39.若是对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是_。(分数:1.00)A.operator long() const;B.operator long(BigNumber);C.long operator long()const;D.long operalor long(BigNumber)
20、;40.有如下程序: #includeiostream using namespace std; class A public: virtua1 void func1()cout“A1“; void func2()cout“A2“; class B: public A public: void func1()(cout“B1“; void func2()cout“B2“;); int main() A*p=new B; p-funcl(); p-func2(); return 0; 执行该程序,屏幕上将显示输出_。(分数:1.00)A.B1B2B.A1A2C.B1A2D.A1B2二级 C+分类
21、模拟 284答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.以下函数实现的功能是 void fun(char*s) char*p,*q,temp; p=s; q=s+strlen(s)-1; while(pq) temp=*p; *p=*q; *p=temp; p+; q-; (分数:1.00)A.将一个字符串首尾颠倒 B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母解析:解析 本题考核 while循环语句和指针的使用。在该函数中,循环开始时,指针 p指向字符串的第 1个字符,指针 q指向字符串的最后一个字符,
22、首先交换这两个字符:然后,指针 p前进一个字符位置(指向下一个字符),指针 q后退一个字符位置(指向前一个字符);经过若干次循环,条件 pq 将为假(即指针 p和指针 q相遇),循环结束。从而实现了将一个字符串首尾颠倒的功能。2.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr 解析:解析 非成员函数重载用友元函数的形式实现,“- -”运算符重载分为前置和后置两种重载方式。用友元函数来实现“- -”运算符的重载
23、时,前置“- -”运算符的重载的一般格式为:friendtypeoperator- -(ClassName i=n1;j=n2 while(ij)t=si;si=sj;sj=t;i+;j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“, ak);printf (“/n“); 程序的运行结果是_ 。(分数:2.50)A.0987654321B.4321098765C.5678901234 D.0987651234解析:解析 本题定义一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 284 答案 解析 DOC
