【计算机类职业资格】二级C++-229及答案解析.doc
《【计算机类职业资格】二级C++-229及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-229及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-229 及答案解析(总分:70.00,做题时间:90 分钟)一、选择题(总题数:38,分数:70.00)1.关于关键字 class 和 typename,下列表述中正确的是_。(分数:2.50)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型2.在深度为 5 的满二叉树中,叶子结点的个数为_。(分数:2.50)A.32B.31C.16D.153.下列有关抽象类和纯虚函数的叙述中,错误的
2、是_。(分数:2.50)A.拥有纯虚函数的类是抽象类,不能用来定义对象B.抽象类的派生类若不实现纯虚函数,它也是抽象类C.纯虚函数的声明以“=0;”结束D.纯虚函数都不能有函数体4.下列关于重载函数的调用时选择的依据中,错误的是 _ 。(分数:2.00)A.根据函数参数个数不同B.根据函数参数类型不同C.根据函数名字不同D.根据函数的返回值不同5.语句 cout setprecison (3)3.1415926end1;的输出为 _ 。(分数:2.00)A.3.14B.3.1C.3.142D.3.1416.对于一个类定义,下列叙述中错误的是_。(分数:2.00)A.如果没有定义拷贝构造函数,编
3、译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数7.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,85.0,90.0;int i;strcpy(a.name,b.name); a.sex=b.sex; for
4、(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.50)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,908.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据9.假设 a 为一个整型
5、数组名,则元素 a4的字节地址为_ 。(分数:2.00)A.a+4B.a+8C.a+16D.a+3210.下列函数的运行结果是_。 #includeiostream.h int f(int a,int b) int c; if(ab)c=1; else if(a=b)c=0; else c=-1; return(c); void main() int i=2,j=3; int p=f(i,j); coutp;(分数:2.50)A.-1B.1C.2D.编译出错,无法运行11.有如下程序: #includeiostream using namespace std; int main() void
6、function(double val): double val; function(val); coutval; retum0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:1.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数12.程序中有语句:for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 a 的前 5 个元素。由此可知,变量 P 的定义及初始化语句是_。(分数:2.50)A.int*p=a;B.int p=a;C.“p=a;D.p=a;13.有如
7、下程序: #include using namespace std; int main() int a6=23, 15, 64, 33, 40, 58; int s1, s2; s1=s2=a0; for(int* p=a+1; p if(s1*p) s1=*p; if(s2*p) s2=*p; couts1+s2 return 0; /s1+s2 运行时的输出结果是_。(分数:2.50)A.23B.58C.64D.7914.下列是软件调试技术的是_。(分数:1.00)A.错误推断B.集成测试C.回溯法D.边界值分析15.以下程序的输出结果是 _ 。 #includeiostream.h vo
8、id main() int a(5),b(6),i(0),j(0); switch(a) case 5:switch(b) case 5:i+;break; case 6:j+;break; default:i+;j+; case 6:i+; j+; break; default:i+;j+; couti“,“jendl; (分数:2.00)A.1,2B.1,3C.2,2D.2,316.必须用一对大括号括起来的程序段是_。(分数:1.00)A.switch 语句中的 case 标号语句B.if 语句的分支C.循环语句的循环体D.函数的函数体17.以下 C+语言中用于单行注释的是(分数:1.00
9、)A./B./*C.*/D.|18.下列关于运算符重载的描述中,正确的是_。(分数:1.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符19.假定 MyClass 为一个类,执行 MyClass a3, *p2;语句时会自动调用该类构造函数_次。(分数:2.50)A.2B.3C.4D.520.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是(分数:2.00)A.int operator-(FunNumber);B.FunNumber oper
10、ator-( );C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);21.已知类 Base 和类 Derived 的定义如下: class Base int n; public; Base(int d); n(d) ; class Derived: public Base public: _ ; 其中横线处应为类 Derived 的构造函数的定义。 在下列构造函数的定义中正确的是_。(分数:2.50)A.Derived(int i)Base(i); B.Derived(int i): Base(i); C.Deriv
11、ed(int i)n=i; D.Derived(int i): n=i22.有如下程序: #includeiostream using namespace std; int main() int a6=23,15,64,33,40,58; int s1,s2; s1=s2=a0; for(int*p=a+1;pa+6;p+) if(s1*p)s1=*p; if(s2*p)s2=*p; couts1+s2endl; return 0; 运行时的输出结果是_。(分数:2.50)A.23B.58C.64D.7923.下列关于构造函数的描述中,错误的是_。(分数:2.00)A.构造函数名与类名相同B.
12、构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数24.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序25.有如下函数模板定义: templatetypename T1,typename T2 T1 FUN(T2 n)return n*5,0; 若要求以 int 型数据 9 作为函数实参调用该模板,并返回一个 double 型数据,则该调用应表示为_。(分数:2.50)A.FUN(9)B.FUN9C.FUNdouble(9)D.FUN9(double)26.设有定义: c
13、lass C public: int value; ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)A.x=value;B.x=C:value;C.p=for(int i=70;i0;i-=3)n+; n 的值是_。(分数:2.00)A.23B.24C.25D.7128.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return count;) private: static i
14、nt count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是_。(分数:2.00)A.121B.232C.221D.12229.为类 Matrix 重载下列运算符时,只能作为 Matrix 类成员函数重载的运算符是_。(分数:2.00)A.+B.=C.D.+30.表示在输出时显示小数位,和在文件输入
15、时判断文件尾的函数分别是 _ 。(分数:1.00)A.showbase()和 eof()B.showpoint()和 eof()C.showpoint()和 bad()D.showpoint()和 good()31.下面属于“类-对象”主要特征的是_。(分数:1.00)A.对象一致性B.对象无关性C.类的多态性D.类的依赖性32.下列关于顺序存储结构叙述中错误的是 _ 。(分数:2.00)A.存储密度大B.逻辑上相邻的结点物理上不必相邻C.可以通过计算直接确定第 i 个结点的存储地址D.插入、删除运算操作不方便33.下列关于 break 语句的叙述不正确的是 _ 。(分数:2.00)A.bre
16、ak 语句可用在循环体中,它将使执行流程跳出本层循环体B.break 语句可用在 switch 语句中,它将使执行流程跳出当前 switch 语句C.break 语句可用在 if 语句中,它将使执行流程跳出当前 if 语句D.break 语句在一层循环体中可以出现多次34.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个35.在 C+中用来实现运行时多态性的是_。(分数:2.50)A.重载函数B.析构函数C.构造函数D.虚函数36.假定 AB 为一个类,则执行 AB x;语句
17、时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数37.有如下程序: #includeiostream using namespace std; class Part public: Part(int x=0): val(x) coutval; Part() coutval; private: int val; ; class Whole public: whole(int x, int y, int z=0): p2(x), p1(y), val(z) coutVal; Whole() coutval; private: Part p1, p
18、2; int val; ; int main() Whole obj(1, 2, 3); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.123321B.213312C.213D.12312338.下列关于虚函数的说明中,正确的是_。(分数:1.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数二级 C+-229 答案解析(总分:70.00,做题时间:90 分钟)一、选择题(总题数:38,分数:70.00)1.关于关键字 class 和 typename,下列表述中正确的是_。(分数:2.50
19、)A.程序中的 typename 都可以替换为 class B.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型解析:2.在深度为 5 的满二叉树中,叶子结点的个数为_。(分数:2.50)A.32B.31C.16 D.15解析:解析 分析:在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第 k 层上有 2 k-1 个结点。叶子结点在第 7 层上,有 2 5-1 =16 个结点。3.下列有关抽象类和纯虚函数的叙述中,错误的是_。(分数:2.50)A
20、.拥有纯虚函数的类是抽象类,不能用来定义对象B.抽象类的派生类若不实现纯虚函数,它也是抽象类C.纯虚函数的声明以“=0;”结束D.纯虚函数都不能有函数体 解析:解析 拥有纯虚函数的类成为抽象类,抽象类不能定义对象。如果一个抽象类的派生类没有重定义来自基类的某个纯虚函数,则该函数在派生类中也是纯虚函数,派生类也是抽象类,纯虚函数可以有函数体。4.下列关于重载函数的调用时选择的依据中,错误的是 _ 。(分数:2.00)A.根据函数参数个数不同B.根据函数参数类型不同C.根据函数名字不同 D.根据函数的返回值不同解析:解析 函数的重载要求函数名相同。5.语句 cout setprecison (3)
21、3.1415926end1;的输出为 _ 。(分数:2.00)A.3.14 B.3.1C.3.142D.3.141解析:6.对于一个类定义,下列叙述中错误的是_。(分数:2.00)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数解析:解析 此题考查的是构造函数。如果一个类中没有定义任何构造函数,编译器将生成一个不带参数的公有缺省构造函数。但只要定义了一个任意的构造函数,就不会生
22、成缺省构造函数了。7.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,85.0,90.0;int i;strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C229 答案 解析 DOC
