1、国家二级 C+机试(选择题)-试卷 19 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误2.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度3.对下列二叉树 (分数:2.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ4.一个栈的初始状态为空。现将元素
2、 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A5.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法6.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作7.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合D.以上说法均错误8.下面描述中不属于
3、数据库系统特点的是(分数:2.00)A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高9.数据库设计过程不包括(分数:2.00)A.概念设计B.逻辑设计C.物理设计D.算法设计10.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.交C.投影D.并11.下列选项中,正确的 C+ 标识符是(分数:2.00)A.student-3B._3studentC.3studentD.student312.下列选项中,正确的 C+ 表达式是(分数:2.00)A.a1+B.b+2C.3=cD.d-=413.下列语句或语句序列中有语法错误的是(分数:2.00)A.int i,j; f
4、or( i=0, j=0; i 和 这四个运算符只能被重载为类的非静态成员函数,其他的可以被友元重载,主要是因为其他的运算符重载函数都会根据参数类型或数目进行精确匹配,这四个不具有这种检查的功能,用友元定义就会出错,所以本题选择B。26.下列有关类继承的表述中,错误的是(分数:2.00)A.继承可以实现软件复用B.派生类构造函数要负责调用基类的构造函数C.虚基类可以解决由多继承产生的二义性问题D.派生类没有继承基类的私有成员 解析:解析:软件方面的可重用性是通过继承来实现的,A 选项正确。派生类的构造函数负责调用基类的构造函数,B 选项正确。虚基类解决了由多继承产生的二义性问题,所以 C 选项
5、正确。派生类可以继承基类的私有成员,但是不能直接访问,所以 D 选项错误。27.在下列关键字中,不能用来表示继承方式的是(分数:2.00)A.privateB.publicC.static D.protected解析:解析:本题考查派生类定义时使用的关键字,三种继承方式分别为private、public、protected,而 C 选项为静态声明关键字,故选择 C。28.有如下两个类定义: class XX private: double x1; protected: double x2; public: double x3; ;class YY: protected XX private:
6、double y1; protected: double y2; public: double y3; ;在类YY 中保护成员变量的个数是(分数:2.00)A.1B.2C.3 D.4解析:解析:本题考查派生类对基类成员的访问属性,派生类保护继承基类,那么基类的公用成员和保护成员在派生类中成为保护成员,所以派生类 YY 总共有 3 个保护成员,C 选项正确。29.有如下类定义: class Cup public: void SetPrice(double val=5.8); double GetPrice() return price; double GetPrice() const retur
7、n price; private: double price; ; void Cup:SetPrice(double val) price=val; 下列关于类中成员函数的叙述中,错误的是(分数:2.00)A.成员函数 SetPrice 不是内联函数B.成员函数 SetPrice 的形参 val 具有默认值C.成员函数 GetPrice 可以重载D.类中没有对成员函数 GetPrice 进行重载 解析:解析:在类体中定义的成员函数,C+系统会自动将它们作为内联函数处理,而在类外定义的成员函数,系统并不把它们默认为内联函数,所以 SetPrice 不是内联函数,SetPrice 的形参 val
8、具有默认值5.8,类体中有两个 GetPrice,所以这是对 GetPrice 函数进行了重载,D 选项错误。30.有如下程序: #include using namespace std; class TV public: TV(int s=41):size(s) TV(const TV ; TV fun(TV return t; int main() TV x,y; x=fun(y); return 0; 则 TV 类的复制构造函数被调用的次数是(分数:2.00)A.1 次B.2 次 C.3 次D.4 次解析:解析:拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他
9、对象的构建及初始化。拷贝构造函数要调用基类的拷贝构造函数和成员函数。本题中调用 fun 函数时调用了一次复制构造函数,函数返回执行 x=fun(y)时又调用了一次复制构造函数,所以总共 2 次。B 选项正确。31.有如下程序: #include #include using namespace std; class MyBag public: MyBag(string br=“ABC“):brand(br) cout 和 进行输入输出解析:解析:输入输出流出了 cin 和 cout 还有 cerr、clog 等,所以 CD 选项错误,C+ 流不只是进行格式化输入输出,所以 B 选项错误,A 选项正确。40.已知一程序运行后执行的第一个输出操作是 coutsetw(10)setfill(*)1234;则此操作的输出结果是(分数:2.00)A.1234B.*1234 C.*1234D.1234*解析:解析:本题考查输入输出格式的控制,先是定义宽度为 10 个字符,然后填充字符,1234 只有四个字符,所以要在左侧填充 6 个* ,即输出*1234,B 选项正确。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1