【计算机类职业资格】二级C++笔试304及答案解析.doc
《【计算机类职业资格】二级C++笔试304及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试304及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 304 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于类和对象的说法,不正确的是( )。(分数:2.00)A.类是对象的类,对象是类的对象B.系统不为类分配内存空间,而为对象分配内存空间C.类和对象一样D.类可以看作数据类型,对象也可以叫做类的实体、实例等2.下面程序的输出结果是( )。 #includeiostream using namespace std; void main() char cl=a,c2=c; cout.put(a).put(c).put(/n); cout.put(c1).put(c2)
2、; (分数:2.00)A.ac a cB.ac acC.a c ac cD.a c3.拷贝构造函数是用一个已知的对象为新创建的同类的对象赋初值,下列( )情况下它没有起作用。(分数:2.00)A.声明语句中,用一个对象初始化另一个对象。如 point p2(p1);,其中:point 为一个类, p2、p1 为该类的两个对象,p1 是一个已知的对象B.将对象作为函数实参传递给形参,用来初始化形参时C.当函数返回一个对象值,并用这个对象初始化一个匿名对象时D.调用对象的一个成员函数时4.下列工具中,是需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD5.下列正
3、确的是( )。(分数:2.00)A.静态局部变量和静态外部变量的生存期相同,它们的作用域也相同B.#includeiostream using namespace std; void main() int i,s; s=0; for(i=1;i10;i+) s=s+i; if(s8) break; couts; #includeiostream using namespace std; void main() int i; static int s; s=0; for(i=1;i10;i+) s=s+i; if(s8 )break; couts; 其中 break;语句的作用是跳出循环。上面两
4、段程序的执行结果是不相同的。C.register 存储类型一般为使用频繁的变量所说明,这样可以提高程序的执行效率D.静态变量生存期长,作用大,可以多用6.关于抽象类的说法,不正确的是( )。(分数:2.00)A.如果一个类至少有一个纯虚函数,则此类即为抽向类B.抽象类中的纯虚函数没有定义,不能建立它的对象,只能派生其子类C.抽象类对象不能用作参数类型、函数返回类型及显式转换类型D.不可声明指向抽象类的指针和引用7.对建立良好的程序设计风格,下面描述正确的是( )。(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无8.下面
5、程序的运算结果是( )。 #includeiostream using namespace std; class A public: virtual void fun()=0; ; class B:public A public: void fun() cout“new file“ “; ;class C:public A public: void fun() cout“open file“ “; ; void main() A a, * p; B b;C c; p= p-fun(); p= (分数:2.00)A.new file open fileB.new file new fileC.编
6、译出错D.open file new file9.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性10.关于内联函数的说法,不正确的是( )。(分数:2.00)A.在说明类的同时定义成员函数,则函数隐含为内联函数B.也可在类外用 inline 关键字对成员函数进行说明,则该函数也为内联函数C.当内联函数被调用时,内联函数的代码在调用处被展开D.当内联函数被调用时,内联函数将返回结果11.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为( )。(分数:2.00)A.publicB.prote
7、ctedC.privateD.static12.关于函数的返回值,正确的是( )。(分数:2.00)A.由 return 语句返回时,只带回一值,其类型在函数定义时确定B.其类型由调用表达式决定C.函数可以没有返回值,这时在函数定义中,函数的类型说明就没必要了D.函数调用就要有返回值,否则调用就没有意义了13.下列函数的功能是( )。 #includeiostream using namespace std; void main() char a;int i; cina; for(i=1;i=10;i+) if(a= a) couta; (分数:2.00)A.把 a 中的小写字母变成大写字母B
8、.把 a 中的大写字母变成小写字母C.把 a 中的所有字母变成小写字母D.把 a 中的字符变成它前面 i 个的字符14.在函数定义前加上关键字“inline”,表示该函数被定义为( )。(分数:2.00)A.重载函数B.内联函数C.成员函数D.普通函数15.下面程序段的功能是( )。 int a=4,0,2,3,1,i,j,t; for(i=0;5;i+) t=ai;j=i;j-; while(j=0j-; aj+1 =t; (分数:2.00)A.对数组 a 进行插入排序(升序)B.对数组 a 进行插入排序(降序)C.对数组 a 进行选择排序(升序)D.对数组 a 进行选择排序(降序)16.下
9、列叙述中错误的是( )。(分数:2.00)A.一个函数中可以有多条 return 语句B.调用函数必须在一条独立的语句中完成C.函数中可通过 return 语句传递函数值D.主函数名 main 也可以带有形参17.下面关于继承的说法,正确的是( )。 class math ; class math1:math ;(分数:2.00)A.math 类、math1 类没有继承关系B.math1 类是 math 类的父亲C.math1 类对 math 类继承是公有继承D.math1 类对 math 类的继承是私有继承18.当输入“ d”时(“”代表空格),下列两段程序的输出结果是( )。 #inclu
10、deiostream #includeiostream using namespace std; using namespace std; void main() void main() char c; char c; cinc;coutc; cin.get(c);cout.put(c); (分数:2.00)A.与 dB.与 uC.d 与D.d 与 d19.对于 char ch120,ch220;strcmp(ch1,ch2);,说法正确的是( )。(分数:2.00)A.若 ch1=ch2,则 strcmp(ch1,ch2)返回 1B.若 ch1=ch2,则 strcmp(ch1,ch2)返回
11、 0C.若 ch1ch2,则 strcmp(ch1,ch2)返回 1D.若 chich2,则 strcmp(ch1,ch2)返回 120.下列选项中,不属于模块间耦合的是( )。(分数:2.00)A.数据耦合B.特征耦合C.异构耦合D.公共环境耦合21.结构化程序设计的三种结构是( )。(分数:2.00)A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构22.下列说法正确的是( )。(分数:2.00)A.定义 int a4=1,3;,则 a0=1,a1=3,a3的值不确定B.定义 static int a4;,则元
12、素值不确定C.const int x;x=5;表示给常量 x 赋初值D.定义 int a4;,则其元素的值是不确定的23.数据的存储结构是指( )。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示24.下面程序执行后的结果是( )。 #includeiostream using namespace std; void func1(int i); void func2(int i); char st=“hello, friend!“; void func1(int i) coutsti; if(i3)i+=2;fu
13、nc2(i); void func2(int i) coutsti; if(i3)i+=2;func1(i); void main() int i=0;func1(i);coutendl;(分数:2.00)A.elloB.helC.hloD.him25.为避免指针使用上的错误,可以在定义指针时就给指针一个值,这叫指针的初始化。不能初始化指针的值是( )。(分数:2.00)A.8B.0C.NULLD.地址26.下列关于形参的说法,正确的是( )。(分数:2.00)A.函数的形参是必须的B.函数的形参可以是表达式C.函数在定义时,形参是不占用存储空间的,只是在被调用时才会占,调用完毕也就被释放了D
14、.形参的名称、类型、数量、顺序必须与实参都相同,否则实参不会把信息正确地传递给形参27.若有以下调用语句,则不正确的 fun 函数的首部是( )。 void main() int a50,n; fun(n,(分数:2.00)A.void fun(int m,int x)B.void fun(int s,int h)C.void fun(intp,int *D.void fun(int n,int28.下列 4 项中说法不正确的是( )。(分数:2.00)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性29.unsigned char
15、 c=“/41;printf(“%d“,c); 输出结果为( )。(分数:2.00)A.AB.41C.语法错D.6530.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是( )。(分数:2.00)A.黑箱测试法B.白箱测试法C.错误推测法D.安装测试法31.数据结构中,与所使用的计算机无关的是数据的( )。(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构32.关于 for 循环,不正确的是( )。(分数:2.00)A.在循环体中,不能改变循环控制变量值B.在执行中循环控制变量初值、终值可变C.循环控制变量可增可减D.循环控制变量可以不必在说
16、明部分说明33.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( )。(分数:2.00)A.PAD 图B.N-S 图C.结构图D.数据流图34.下面不属于同一函数模板的是( )。(分数:2.00)A.templateclass t1 t1 max(t1 public: void input(int i) a=i; ; class B protected: int a; public: void input(int j) a=j; ; class C: public A, public B int x; public: void input()
17、x=A:a * B:a;coutxendl; ; void main() C c; c.A:input(5); c.B:input(8); c.input(); (分数:2.00)A.5B.8C.40D.编译出错二、B填空题/B(总题数:15,分数:30.00)36.测试的目的是暴露错误,评价程序的可靠性;而发现错误的位置并改正错误的是U 【1】 /U。(分数:2.00)填空项 1:_37.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为U 【2】 /U。(分数:2.00)填空项 1:_38.在算法正确的前提下,评价一个算法的两个标准是U 【3】 /U。(分数:2.00)填空项
18、1:_39.在长度为 n 的有序线性表中进行二分查找,最坏的情况下需要的比较次数为U 【4】 /U。(分数:2.00)填空项 1:_40.需求分析的步骤是需求获取、需求描述、需求验证和U 【5】 /U。(分数:2.00)填空项 1:_41.指针类型变量在内存中占有一个存储单元,它用于存储U 【6】 /U。(分数:2.00)填空项 1:_42.程序文件的编译错误分为连接错误和U 【7】 /U两类。(分数:2.00)填空项 1:_43.下面的函数是检验输入的字符是大写还是小写或者不是 26 个字母,请填空。 #includeiostream using namespace std; void fu
19、n(char ch) if(ch=a) else IfU 【8】 /U cout“是大写字母:“chendl; else cout“是其他字符:“chendl; void main() char ch; cout“请输入一个字符:“; cinch; fun(ch); (分数:2.00)填空项 1:_44.下面函数的作用是U 【9】 /U。 int index(int x,int a,int n) for(int i=0;in;i+) if(ai=x) return i; return i; (分数:2.00)填空项 1:_45.int(*p)6;,当有定义 int a46,并让 p 指向它的语
20、句是U 【10】 /U。(分数:2.00)填空项 1:_46.对指定类型对象动态分配内存并返回该类型的指针的是使用U 【11】 /U运算符来完成的。(分数:2.00)填空项 1:_47.重载函数的实现和功能不同,但函数的U 【12】 /U相同。(分数:2.00)填空项 1:_48.当派生类中有和基类相同名字的成员时,派生类的同名成员会U 【13】 /U基类的成员。(分数:2.00)填空项 1:_49.纯虚函数是在基类中声明但没有定义的虚函数,可以声明该函数为纯虚函数是在U 【14】 /U置于虚函数的原型后完成的。(分数:2.00)填空项 1:_50.类模板成员函数体外定义时,必须用与声明该类模
21、板一样的 template class 模板形参 声明,使它成为U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 304 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于类和对象的说法,不正确的是( )。(分数:2.00)A.类是对象的类,对象是类的对象B.系统不为类分配内存空间,而为对象分配内存空间C.类和对象一样 D.类可以看作数据类型,对象也可以叫做类的实体、实例等解析:解析 对象是类的实例化,类和对象不一样。2.下面程序的输出结果是( )。 #includeiostream using namespace
22、std; void main() char cl=a,c2=c; cout.put(a).put(c).put(/n); cout.put(c1).put(c2); (分数:2.00)A.ac a cB.ac ac C.a c ac cD.a c解析:解析 分析该题,输出字符“a”,“c”和换行,然后再输出“a”,“c”。3.拷贝构造函数是用一个已知的对象为新创建的同类的对象赋初值,下列( )情况下它没有起作用。(分数:2.00)A.声明语句中,用一个对象初始化另一个对象。如 point p2(p1);,其中:point 为一个类, p2、p1 为该类的两个对象,p1 是一个已知的对象B.将对
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 304 答案 解析 DOC
