【计算机类职业资格】二级C++-195及答案解析.doc
《【计算机类职业资格】二级C++-195及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-195及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-195 及答案解析(总分:91.50,做题时间:90 分钟)一、选择题(总题数:35,分数:64.50)1.下列叙述中正确的是 _ 。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对2.设有程序段: int k=10; while(k=0)k=k-1; 则下面描述中正确的是_。(分数:1.00)A.循环执行 10 次B.无限循环C.循环体语句一次也不执行D.循环体语句执行一次3.设以下变量均为 int 类型,则值不等于 7 的表达式是 _ 。(分数
2、:2.00)A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)4.有下列程序: #include stdio.h int fun(int a,int b) if(b=0) return a; else return(fun(-a,-b); void main() printf(“%d/n“,fun(4,2); 程序的运行结果是_。(分数:2.50)A.1B.2C.3D.45.下列关于宏的叙述中正确的是_。(分数:2.50)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数
3、据类型限制D.宏调用比函数调用耗费时间6.已知数组 arr 的定义如下: int arr5=1,2,3,4,5; 下列语句中输出结果不是 2 的是_。(分数:2.50)A.cout*arr+1endl;B.cout*(arr+1)endl;C.coutarr1endl;D.cout*arrendl;7.计算机软件是_ 。(分数:2.00)A.程序B.数据C.文档D.程序、数据及相关文档的完整集合8.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstreamB.ifstreamC.ofstreamD.iostream9.设置虚基类的目的是 _ 。(分数:2.0
4、0)A.简化程序B.消除二义性C.提高运行效率D.减少目标代码行10.下列关于 C+流的叙述中,正确的是(分数:2.00)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象11.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针12.下列关于多继承二义性的描述中,错误的是 _ 。(分数:
5、2.00)A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性13.树是结点的集合,它的根结点的数目是_。(分数:1.00)A.有且只有 1 个B.1 或多于 1C.0 或 1D.至少有 2 个14.在软件测试设计中,软件测试的主要目的是 _ 。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序15.耦合性和内聚
6、性是对模块独立性度量的两个标准。下列叙述中正确的是_。(分数:1.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度16.以下程序试图把键盘终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符“#”时结束输入和输出操作,但程序有错。程序出错的原因是_。 #includeiostream #includefstream using namespace std; int main() ofstream ofile; char ch; ofil
7、e.open(“d:/abc.txt“,“W“); do cinch: ofile.put(ch); while(ch!=“#“); ofile.close(); return 0: (分数:2.00)A.成员函数 open()调用形式错误B.输入文件没有关闭C.成员函数 put()调用形式错误D.对象 ofile 定义错误17.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:2.00)A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先
8、调用基类的析构函数,再调用派生类的析构函数18.已知数组,d 中有 n 个元素,下列语句将数组 a 中从下标 x1 开始的 k 个元素移动到从下标 x2 开始的k 个元素中,其中 0=x1x2n,x2+kn。将下列语句补充为_。 for(int i=x1+k-1;i=x1;i-) a_=ai;(分数:2.00)Ax2B.x2+kC.x2+k+1D.x2+k-119.有如下程序: #includeiostream using namespace std; class AA int k; protected: int n; void setK(int k)this-k=k; public: voi
9、d setN(int n)this-n=n; ; class BB:public AA/*类体略*/; int main() BB x; x.n=1;/1 x.setN(2);/2 x.k=3;/3 x.setK(4);/4 return 0; 在标注号码的四条语句中正确的是_。(分数:1.00)A.1B.2C.3D.420.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何
10、数据成员的值21.若有定义语句“int i=2,j=3;”,则表达式 i/j 的结果是_。(分数:2.00)A.0B.0.7C.0.666 67D.0.666 666 6722.有如下程序: #includeiostream using namespace std; class A public: static int a; void init() a=1; A(int a=2) init(); a+; ; int A:a=0: A obj; int main() coutobj. a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.323.有如下 4 个语
11、句: cout“A“setfill(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:2.00)A.和B.和C.和D.和24.若有以下程序: #includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(
12、8,4, SetVariable(int i)value=i; private: int value; ; 则对下列语句序列正确的描述是_。(分数:1.00)A.语句 p=my;是把对象 my 赋值给指针变量 pB.语句 MyClass*p,my;会调用两次类 MyClass 的构造函数C.对语句*P.SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetVariable(5)等价27.每个 C+程序中都必须有且仅有一个_。(分数:2.50)A类B.预处理命令C.主函数D.语句28.若有定义语句“double x5=10,2.0,3.0,4.0
13、,5.0,* p=x”,则错误引用 x 数组元素的是_。(分数:2.50)A.*pB.x5C.*(p+1)D.*x29.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件30.已知函数 FA 调用
14、函数 FB,若要把这两个函数定义在同一个文件中,则_。(分数:2.50)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前31.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double v
15、al) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数32.有如下类定义: class Bag public: Bag(int p, char s=“M“):price(p), size(s) count+; Bag()count-; int GetPrice() return price; int GetPrice() const return price; void SetPrice(int val) const price=val; private: int price; char size; s
16、tatic int count; ; 下列关于类成员的叙述中,正确的是_。(分数:1.00)A.成员函数 GetPrice 存在重定义B.构造函数的参数不能设置默认值C.析构函数中不能访问静态数据成员D.成员函数 SetPrice 不能定义为常函数33.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对34.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:1.00)A.coutintemal12345;B.cou
17、tleft12345;C.coutright12345;D.coutsetw(6)12345;35.有如下程序: # includeiostream using namcspace 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.79二、填空题(总题数:15,分数:27.00)36.根据程序中的
18、注释将下列缺失部分补充完整。 class A char*a; public: A():a(0) A(char*aa)/把 aa 所指字符串复制给 a 所指向的存储空间 a= 1; strcpy(a,aa); A()deletea; ; (分数:2.00)37.若下列程序运行时输出结果为 1,A,101 2,B,35 请将程序补充完整。 #includeiostream using namespace std; int main() void test(mt,char,double 1); test(1,“A“,10.1); test(2,“B“); return 0; void test(in
19、t a,char b,double c) couta“,“b“,“cendl; (分数:2.00)38.求 1100 的和,可写成“for(s=0,i=1; _ 1_ ;i+) s+=i;”的形式。 (分数:1.00)39.下列程序的输出结果为 _ 1_ 。 #ineludeiostream. h int void main() int n=3, m=12; max(m, n)+ cout“m=“m“, n= “nend1; (分数:2.00)40.程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为 _ 1_ 。 (分数:2.00)4
20、1.以下程序的输出结果为 1。 #includeiostream using namespace std; int main() int a33=1,2,3,4),5,6,i,j,s=0; for(i=1;i3;i+) for(j=0;j=i;j+) s+=aij; coutsendl; return 0; (分数:2.00)42.结构化程序设计的三种基本结构分别是顺序、选择和 1。 (分数:2.00)43.下列程序的执行结果是 1。 #includeiostream.h class Student public: Student(int xx)x=xx; virtual float calc
21、Tuition( ); protected: int x; ; float Studertt:calcTuition( ) return float(x*x); class GraduateStudent:public Student public: GraduateStudent(int xx):Student(xx) float calcTuition( ); ; float Graduatestudent:calcTuition( ) return float(x*2); void main( ) Student s(20); GraduateStudent gs(30); couts.
22、calcTuition( )“ “gs.calcTuition( )endl; /计算学生 s 和研究生 gs 的学费 (分数:2.00)44.以下程序的输出结果是 _ 1_ 。 #includeiostream using namespace std; int main() int sum,i; for(sum=0,i=1;i5;i+)sum+=i; coutsumendl; return 0; (分数:2.00)45.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 _ 1_ 。 (分数:2.00)46.面向对象的模型中,最基本的概念是对象和 _ 1_ 。 (分数:
23、2.00)47. 1 是从二维表列的方向进行的运算。 (分数:1.00)48.C+语言支持的两种多态性分别是编译时的多态性和 【13】 的多态性。 (分数:1.00)49.关系数据库的关系演算语言是以 1 为基础的 DML 语言。 (分数:2.00)50.在算法正确的前提下,评价一个算法的两个标准是 1 。 (分数:2.00)二级 C+-195 答案解析(总分:91.50,做题时间:90 分钟)一、选择题(总题数:35,分数:64.50)1.下列叙述中正确的是 _ 。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C195 答案 解析 DOC
