【计算机类职业资格】国家二级(C++)机试-试卷9-1及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试-试卷9-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试-试卷9-1及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试-试卷 9-1 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.if 语句的语法格式可描述为: 格式 1:if() 或 格式 2:if() else 关于上面的语法格式,下列表述中错误的是( )。(分数:2.00)A.部分可以是一个 if 语句,例如 if(if(a=0)B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if()while()2.下列关于派生类构造函数和析构函数的说法中,错误的是( )。(分数:2.00)A.派生
2、类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数3.有如下语句序列:char str10; cinstr;当从键盘输入“I love this game“时,str 中的字符串是( )。(分数:2.00)A.IlovethisgameB.IlovethiC.IloveD.I4.下列语句中,正确的是(分数:2.00)A.charstr=“abcde“;B.char*str=“abcde“;C.charstr5=“ab
3、cde“;D.char*str5=“abcde“;5.有如下程序: #include using namespace std; class Base public: void fun() coutfun();C.Base:fun();D.fun();6.设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0 或 357.下列关于运算符重载的表述中,错误的是(分数:2.00)A.所有的运算符都可以通过重载而赋予其新的含义B.有的运算符只
4、能作为成员函数重载C.不得为重载的运算符函数的参数设置默认值D.有的运算符可以作为非成员函数重载8.有如下类定义: class Bag public: Bag(); / void SetSize(string s); / string GetSize() const; / friend void Display(Bag / private: string size; ;在标注号码的 4 个函数中,不具有隐含 this 指针的是(分数:2.00)A.B.C.D.9.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的
5、D.算法只能被有限的用户使用10.下列关于函数的叙述中,正确的是(分数:2.00)A.C+不允许函数嵌套定义B.C+中所有函数都有返回值C.函数的形参列表一定不能为空D.调用函数时一定会执行完函数体的最后一条语句11.有如下类定义: class Base1 int m; public: Base(int m1): m(m1) ; class Base2 int n; public: Base(int n1): n(n1) ; class Derived: public Base2,public Base1 int q; public: Derived(int m1, int n1, int q
6、1): q(q1),Base1(m1),Base2(n1); ;在创建一个 Derived 对象时,数据成员 m、n 和 q 被初始化的顺序是(分数:2.00)A.m、n、qB.n、m、qC.q、m、nD.q、n、m12.某二叉树中有 15 个度为 1 的结点,16 个度为 2 的结点,则该二叉树中总的结点数为(分数:2.00)A.32B.46C.48D.4913.有如下类定义: class MyClass public: MyClass(double d=0.0):val(d) _ /运算符函数-的声明 private: double val; ;若要使语句序列 MyClass y(4.6)
7、,z; z=6.7-y;能够正常运行,横线处的声明语句应为(分数:2.00)A.friendMyClassoperator-(MyClassB.friendMyClassoperator-(double,MyClass);C.friendMyClassoperator-(MyClassD.friendMyClassoperator-(double14.有如下类定义: class Pet char name30; public: Pet(char * n) strcpy(name, n); void bark() coutbark()D.(*p).bark()15. (分数:2.00)A.投影B
8、.交C.选择D.并16.下列关于 this 指针的描述中,正确的是(分数:2.00)A.下列关于 this 指针的描述中,正确的是B.类的 const 成员函数都有 this 指针C.任何静态成员函数都有 this 指针D.类的非静态成员函数都有 this 指针17.某二叉树的前序序列为 ABCD,中序序列为 DCBA,则后序序列为(分数:2.00)A.BADCB.DCBAC.CDABD.ABCD18.有如下程序: #include using namespace std; void fun(int x=y/4; x+; int main() int x=4,y=5; fun(x,y); co
9、utstr;当从键盘输入“I love this game“时,str 中的字符串是( )。(分数:2.00)A.IlovethisgameB.IlovethiC.IloveD.I 解析:解析:cin 是 C+预定义的标准输入流对象,cin 用来接收字符串时,遇“空格“、“TAB“、“回车“时都会结束。所以本题答案为 D。4.下列语句中,正确的是(分数:2.00)A.charstr=“abcde“;B.char*str=“abcde“; C.charstr5=“abcde“;D.char*str5=“abcde“;解析:解析:本题考查字符串的定义,A 选项中,定义了一个字符,而用字符串赋值,所
10、以错误,C 选项定义了字符数组,但是赋值的字符串实际上有 6 个字符,所以赋值错误,D 选项定义了一个字符串指针数组,赋值错误。5.有如下程序: #include using namespace std; class Base public: void fun() coutfun();C.Base:fun(); D.fun();解析:解析:本题考查派生类对基类成员的访问属性,派生类公用继承基类,所以派生类可以直接使用基类的公用成员,题目中输出了 Base:fun,所以可以推断派生类一定是调用了基类的 fun 函数,只有 C 选项正确调用了基类的 fun 函数,所以 C 选项正确。6.设循环队列
11、的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0 或 35 解析:解析:在循环队列中,用队尾指针 rear 指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加,朝前移动。只不过当头尾指针指向向量上界时,其加操作的结果是指向向量的下界。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为 D 选项。7.下列关于运算符重载的表述
12、中,错误的是(分数:2.00)A.所有的运算符都可以通过重载而赋予其新的含义 B.有的运算符只能作为成员函数重载C.不得为重载的运算符函数的参数设置默认值D.有的运算符可以作为非成员函数重载解析:解析:本题考查运算符重载,重载不能改变运算符运算对象的个数;不能改变运算符的优先级别;不能改变运算符的结合性;重载运算符的函数不能有默认值,否则就改变了运算符参数的个数;不能定义新的运算符,某些运算符不能重载。所以 A 选项错误。8.有如下类定义: class Bag public: Bag(); / void SetSize(string s); / string GetSize() const;
13、/ friend void Display(Bag / private: string size; ;在标注号码的 4 个函数中,不具有隐含 this 指针的是(分数:2.00)A.B.C.D. 解析:解析:当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数,所以正确使用 this 指针。9.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算
14、法程序的运行时间是有限的。10.下列关于函数的叙述中,正确的是(分数:2.00)A.C+不允许函数嵌套定义 B.C+中所有函数都有返回值C.函数的形参列表一定不能为空D.调用函数时一定会执行完函数体的最后一条语句解析:解析:C+中函数可以不返回任何值,不返回任何值指定返回类型为 void 类型;函数形参表可以为空,但不能省略;函数调用过程中,可能会由于 return 语句或者异常终止执行,不一定会执行完最后一条语句;B、C、D 错误;函数不允许嵌套定义,答案为 A。11.有如下类定义: class Base1 int m; public: Base(int m1): m(m1) ; class
15、 Base2 int n; public: Base(int n1): n(n1) ; class Derived: public Base2,public Base1 int q; public: Derived(int m1, int n1, int q1): q(q1),Base1(m1),Base2(n1); ;在创建一个 Derived 对象时,数据成员 m、n 和 q 被初始化的顺序是(分数:2.00)A.m、n、qB.n、m、q C.q、m、nD.q、n、m解析:解析:C+中,派生类构造函数都是先调用基类构造函数,再根据声明次序定义数据成员,所以Derived 构造函数的初始化列
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 试试 91 答案 解析 DOC
