【计算机类职业资格】二级C++-3-2及答案解析.doc
《【计算机类职业资格】二级C++-3-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-3-2及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-3-2 及答案解析(总分:78.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:54.50)1.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是U /U。 A.showbase()和 eof() B.showpoint()和 eof() C.showpoint()和 bad() D.showpoint()和 good()(分数:1.00)A.B.C.D.2.C+语言类体系中,不能被派生类继承的有 A.转换函数 B.构造函数 C.虚函数 D.静态成员函数 (分数:1.00)A.B.C.D.3.以下程序的正确运行结果是U /U。#includeiostre
2、am.hint f(int);void main()int a=2,i;for(i=0;i3;i+)coutf(a)“ “;coutendl;int f(int a)int b=0static int c=3;b+:c+;return(a+b+c); A.777 B.7 10 13 C.79 11 D.7 8 9 (分数:1.00)A.B.C.D.4.继承机制的作用是 A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象(分数:1.00)A.B.C.D.5.在深度为 7 的满二叉树中,叶子结点的个数为 A. 32 B. 31 C. 64 D. 63(分数:1.00)A.B.C.D.6.下列叙
3、述中正确的是U /U。 A. 一个算法的空间复杂度大,则其时间复杂度必定大 B. 一个算法的空间复杂度大,则其时间复杂度必定小 C. 一个算法的时间复杂度大,则其空间复杂度必定小 D. 上述三种说法都不对(分数:2.00)A.B.C.D.7.下面关于数组的描述错误的是 A.在 C+语言中数组的名字就是指向该数组第一个元素的指针 B.长度为 n 的数组,下标的范围是 0n-1 C.数组的大小必须在编译时确定 D.数组只能通过值参数和引用参数两种方式传递给函数(分数:1.00)A.B.C.D.8.有如下程序:#includeusing name space std;classBpublic:B(i
4、nt xx):x(xx)+count;x+=10;virtual void show()constcoutcountshow();delete ptr;return 0;运行时的输出结果是U /U。 A.1_120 B.2_120 C.1_20 D.2_20(分数:2.00)A.B.C.D.9.下列对重载函数的描述中,错误的是U /U。 A.重载函数中不允许使用默认参数 B.重载函数中编译是根据参数表进行选择的 C.不要使用重载函数来描述毫不相干的函数 D.构造函数重载将会给初始化带来多种方式(分数:2.00)A.B.C.D.10.在表达式 x-y 中,“-”是作为非成员函数重载的运算符。若使
5、用显式的函数调用代替直接使用运算符“-”,这个表达式还可表示为U /U。 A.x.operator-(y) B. operator-(y,x) C.y. operator-(x) D. operator-(x,y)(分数:2.00)A.B.C.D.11.关于虚函数下面说的正确的是U /U。 A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数 B.虚函数不能声明为友元 C.子类必须重定义父类的虚函数 D.虚函数不能是 static 的 (分数:1.00)A.B.C.D.12.下列表达式的值为 false 的是U /U。 A. 13while(*b=*a)b+;a+;void
6、main()char+s=“*a+b*“,t80;fun(s,t);puts(t)程序的运行结果是_。 A.*a*b B.a*b C.a*b* D.ab(分数:2.50)A.B.C.D.19.以下四种说法中,正确的一项是U /U。 A.C+允许在字符串上进行整体操作 B.语句:char vn =“Brown“; 将 vn 定义成一个有 5 个元素的数组,因为“Brown“ 中含有 5个字符 C.对指针只要赋给一个地址值就可以了 D.一维的指针数组实际上是一个二维数组(分数:2.00)A.B.C.D.20.在计算机中,算法是指 A. 加工方法 B. 解题方案的准确而完整的描述 C. 排序方法 D
7、. 查询方法(分数:1.00)A.B.C.D.21.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 A. public B. protected C. private D. static(分数:1.00)A.B.C.D.22.NULL 是指 A. 0 B. 空格 C. 未知的值或无任何值 D. 空字符串(分数:1.00)A.B.C.D.23.下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“left”,输出效果将发生变化的是 A. coutleftsetfill(*)357; B. coutleftsetw(5)357; C. coutlefts
8、etw(5)“ABCDE“; D. coutleft“ABCDE“;(分数:2.00)A.B.C.D.24.若调用一个函数,且此函数中没有 return 语句,则正确的说法是该函数U /U。 A. 没有返回值 B. 返回若干个系统默认值 C. 有返回值,但返回一个不确定的值 D. 返回一个用户所希望的函数值(分数:1.00)A.B.C.D.25.下列叙述中正确的是 A. 程序执行的效率与数据的存储结构密切相关 B. 程序执行的效率只取决于程序的控制结构 C. 程序执行的效率只取决于所处理的数据量 D. 以上三种说法都不对(分数:2.00)A.B.C.D.26.为了使类中的某个成员不能被类的对象
9、通过成员操作符访问,则不能把该成员的访问权限定义为_。 A. public B. protected C. private D. static(分数:2.00)A.B.C.D.27.下面关于 break 语句的描述中,不正确的是U /U。 A.break 可以用于循环体内 B.break 语句可以在 for 循环语句中出现多次 C.break 语句可以在 switch 语句中出现多次 D.break 语句可用于 if 条件判断语句内(分数:2.00)A.B.C.D.28.每个 C+程序都必须有且仅有一个U /U。 A. 预处理命令 B. 函数 C. 语句 D. 主函数(分数:2.00)A.B.
10、C.D.29.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)U /U。 A. 3 B. 4 C. 6 D. 7(分数:2.00)A.B.C.D.30.设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是_。 A.循环执行 10 次 B.无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次(分数:1.00)A.B.C.D.31.在设计程序时,应采纳的原则之一是U /U。 A. 不限制 goto 语句的使用 B. 减少或取消注解行 C. 程序越短越好 D. 程序结构应有助于读者理解(分数:2.00)A.B.C.
11、D.32.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是U /U。 A.operator long() const; B.operator long(BigNumber); C.long operator long() const; D.long operator long(BigNumber);(分数:2.00)A.B.C.D.33.下列关于纯虚函数与抽象类的描述中,错误的是U /U。 A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具有纯虚函数的类 C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类 D.抽象类只能作
12、为基类来使用,其纯虚函数的实现由派生类给出(分数:1.00)A.B.C.D.34.为了避免在嵌套的条件语句 if-else 中产生二义性,C+语言中规定的 if-else 匹配原则是U /U。 A. else 字句与所排位置相同的 if 配对 B. else 子句与其之前最近的 if 配对 C. else 子句与其之后最近的 if 配对 D. else 子句与同一行上的 if 配对(分数:1.00)A.B.C.D.35.有如下程序#include iostream#include iomanipusing namespace std;int main( )coutsetprecision(3)
13、fixedsetfill(*)setw(8);cout12.345_34.567;return 0;若程序的输出是:*12.345*34.567则程序中下划线处遗漏的操作符是U /U。 A.setprecision(3) B.fixed C.setfill(*) D.setw(8)(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:24.00)36.有以下程序: #include fstream #include string using namespace std; int main () char ch = “The end“; ofstream outstr( “d:
14、/put.txt“, ios_base: :app); for (int i = 0; i strlen( ch ); i+ ) outstr.put(chi); outstr.close(); return 0; 程序实现的功能是U U/U /U。(分数:1.00)填空项 1:_37.以下函数模板 max()的功能是返回数组 a 中最大元素的值。请将横线处缺失部分补充完整。 templatetypename TT max(T a,int n) T m=a0; for(int i=l;in;i+) if(aim)_; return m; (分数:2.00)填空项 1:_38.在概念设计阶段可用
15、 E-R 图,其中“矩形框表示实体,U U /U /U表示实体间联系。(分数:2.00)填空项 1:_39.计算机技术中,为解决一个特定问题而采取的特定的有限的步骤称为U U /U /U。(分数:2.00)填空项 1:_40.在 C+中,下列程序段的输出结果是U U /U /U。 int x, a10; coutsizeof(x)“”sizeof(a)“”sizeof(float)end1(分数:2.00)填空项 1:_41.下面程序的运行结果是U U /U /U。 #inChldeiOStream using namespace std; class count static int n;
16、public: count() n+; static int test() for(int i=0:i4;i+) n+; return n; ; int count:n=0; int main() coutCOUnt:test()“ “; count c1, c2; coutcount:test()end1; return 0; (分数:1.00)填空项 1:_42.数据结构分为逻辑结构与存储结构,线性链表属于U /U。(分数:2.00)填空项 1:_43.以下程序的输出结果是 【8】 。 #includeiostreamh class object private: int va1; pub
17、lic: object( ); object(int i) object( ); ; object:Object( ) va1=0; cout “Default constructor for object“ end1; object:object(int i) va1=i cout “Constructor for object“ va1 end1; object:object( ) cout “Destructor for object“ va1 end1; class container private: object one; object two; int data; public:
18、 container( ); container(int i,int j,int k); container( ); ; container:container( ) data=0; cout “Default constructor for container“ end1; container:container(int i,int j,int k):two(i),one(j) data=k; cout “Constructor for container“ end1; container:container( ) cout “Destructor for container“ end1;
19、void main( ) container anObj(5,6,10);(分数:1.00)填空项 1:_44.C+语言支持的两种多态性分别是编译时的多态性和U U /U/U的多态性。(分数:1.00)填空项 1:_45.静态数据成员在定义或说明时,要在前面加上关键字U U /U /U;静态成员函数的实现中,不能直接引用类中说明为非静态的成员。(分数:2.00)填空项 1:_46.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为U U /U/U。(分数:1.00)填空项 1:_47.在算法正确的前提下,评价一个算法的两个标准是U U /U /U。(分数:
20、2.00)填空项 1:_48.己知类 sample 是一个抽象类,其成员函数 display 是无形参、无返回类型的纯虚函数,请完成其声明:class sample public: sample(); _ ;(分数:2.00)填空项 1:_49.以下程序的功能是输出 1 至 100 之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数;对于 27,有 2*72+7,故输出该数。请填空。 #includeiostream.h void main() int n,k=1,s=o,m: for (n=l:n=100;n+= k=l;s=0; _; while(_) k
21、*=m%10;s+=m%10; U U /U /U; if(ks)coutn; (分数:1.00)填空项 1:_50.在最坏情况下,堆排序需要比较的次数为U /U。(分数:2.00)填空项 1:_二级 C+-3-2 答案解析(总分:78.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:54.50)1.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是U /U。 A.showbase()和 eof() B.showpoint()和 eof() C.showpoint()和 bad() D.showpoint()和 good()(分数:1.00)A.B. C.D.解析:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
本资源只提供5页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C32 答案 解析 DOC