欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++-195及答案解析.doc

    • 资源ID:1324019       资源大小:79.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++-195及答案解析.doc

    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.一个算法的

    24、时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对 解析:解析 算法的时间复杂度和算法的空间复杂度从不同的角度来衡量算法的执行情况,它们之间没有内在联系。2.设有程序段: int k=10; while(k=0)k=k-1; 则下面描述中正确的是_。(分数:1.00)A.循环执行 10 次B.无限循环C.循环体语句一次也不执行 D.循环体语句执行一次解析:解析 while 中表达式值一直为 0,故循环一次也不执行。3.设以下变量均为 int 类型,则值不等于 7 的表达式是 _ 。(分数:2.00)A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,

    25、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.2 C.3D.4解析:解析 本题考查递归函数的使用。fun(4,2)-fun(2,0),由于 b 等于 0,故返回值为 2。反之,fun(4,2)=2。5.下列关于宏的叙述中正确的是_。(分数:2.50)A.宏名必须用大写字母表示B.宏定义

    26、必须位于源程序中所有语句之前C.宏替换没有数据类型限制 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; 解析:解析 一维数组名代表着首元素的地址,选

    27、项 D 输出的是首元素的值,为 1。7.计算机软件是_ 。(分数:2.00)A.程序B.数据C.文档D.程序、数据及相关文档的完整集合 解析:解析 计算机软件是包括程序、数据及相关文档的完整集合。8.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstream B.ifstreamC.ofstreamD.iostream解析:解析 文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。ifstream是文件输入流类,ofstream 是文件输出流类,fstream 是文件输入输出流类,当使用 cin、cout 的预定义流对象进行针对标准设备的

    28、I/O 操作,则需要使用 iostream 文件。9.设置虚基类的目的是 _ 。(分数:2.00)A.简化程序B.消除二义性 C.提高运行效率D.减少目标代码行解析:解析 设置虚基类的目的是为了消除二义性。10.下列关于 C+流的叙述中,正确的是(分数:2.00)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象解析:解析 在 C+中,所有设备的交互都通过流来实现。从流中提取数据称为输入操作,或者提取操作;向流

    29、中添加数据称为输出操作,或者插入操作。cin 是标准的输入流对象,cout 标准输入流对象。文件流中有 open 成员函数,其作用是使磁盘文件同某一已经定义的文件流对象建立关联。11.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析 循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针,故答案为 D。12.下列关于多继承二义性的描述中,

    30、错误的是 _ 。(分数:2.00)A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题 D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性解析:13.树是结点的集合,它的根结点的数目是_。(分数:1.00)A.有且只有 1 个B.1 或多于 1C.0 或 1 D.至少有 2 个解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树

    31、中根结点的数目为 0。14.在软件测试设计中,软件测试的主要目的是 _ 。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序 解析:解析 使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能。15.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。(分数:1.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一

    32、个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度解析:解析 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以 A 错误,B 正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以 C 与 D 错误。16.以下程序试图把键盘终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符“#”时结束输入和输出操作,但程序有错。程序出错的原因是_。 #incl

    33、udeiostream #includefstream using namespace std; int main() ofstream ofile; char ch; ofile.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 定义错误解析:解析 该程序在运行中会发现,如果不存在文件 abc.txt,将不会生成新的文件;即使已经

    34、存在该文件,也不能成功完成输出操作。原因在于 open()函数的第二个参数错误,open()函数不能成功打开文件 abc.txt。17.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:2.00)A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 解析:解析 此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员

    35、对象析构函数,调用基类析构函数对基类进行清理。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-1 解析:19.有如下程序: #includeiostream using namespace std; class AA int k; protected: int n; void setK(int k)this-k=k; publi

    36、c: void 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.2 C.3D.4解析:解析 本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。所以本题中 n、k 和 setK 变为了派生类的保护成员,不能直接使用,即 1、3、4 错误,所以 B 选项正确。20.已知

    37、在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数 B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 重载的是一个二元运算符“一”,所以此题选择 A。21.若有定义语句“int i=2,j=3;”,则表达式 i/j 的结果是_。(分数:2.00)A.0 B.0.7C.0.666 67D.0.666 666 67解析:22.有如下程序: #includeiostream using namespace st

    38、d; 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.1 C.2D.3解析:解析 本题考查构造函数,本题中对类中的 a 数据成员先是赋值为 0,当定义了对象 obj 时,执行构造函数,将 a 的值变为了 1,所以输出 1。23.有如下 4 个语句: cout“A“setfill(“*“)leftsetw(7)“B“endl; coutsetfill(

    39、“*“)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.和解析:解析 此题考查 C+流的使用。setfill()作用是设置填充字符;left 是使输出数据在指定宽度内左对齐;right 是使输出数据在指定宽度内右对齐。24.若有以下程序: #includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x;

    40、 int main() int a,b,C; sub(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)等价 解析:解析 选项 A,语句 p=my;是把对象 my 的地址值赋值给指针变量 P;选项 B,语句 MyClas

    41、s*p,my;中由于 p 只是一个指向对象的指针,因此定义指针 p 不调用构造函数,所以此语句只调用一次构造函数:对成员函数的引用可以通过两种形式:指针-成员函数(形参表),或者对象名,成语函数名(形参表),故选项 C 错误,选项 D 正确。27.每个 C+程序中都必须有且仅有一个_。(分数:2.50)A类B.预处理命令C.主函数 D.语句解析:解析 每个 C+程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。28.若有定义语句“double x5=10,2.0,3.0,4.0,5.0,* p=x”,则错误引用 x 数组元素的是_。(分数:2.

    42、50)A.*pB.x5 C.*(p+1)D.*x解析:解析 选项 B 中 x5数组下标越界,数组的下标是从 0 开始的。29.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:解析 本题考

    43、查的是文件流的操作, app 表示以追加方式打开文件(即将指针移至文件尾) , binary 表示以二进制方式打开文件。30.已知函数 FA 调用函数 FB,若要把这两个函数定义在同一个文件中,则_。(分数:2.50)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前 解析:解析 主要考查函数调用时,是否设置函数原型。在 C+中若被调用的函数放在主调函数之后,需将被调用函数原型放在主调函数之前,否则不需要。31.有如下程序:

    44、#includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数 解析:解析 此题考查的是函数参数的传递。C+语言中,函数在传递参数时,总是将实参的值传递给被调用函数的形参,即传值调用。因此,在函数中对形参所作的任何操作都不会改变

    45、实参的值。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; static int count; ; 下列关于类成员的叙述中,正确的是_。(分数:1.00)A.成员函数 GetPrice 存在重定义B

    46、.构造函数的参数不能设置默认值C.析构函数中不能访问静态数据成员D.成员函数 SetPrice 不能定义为常函数 解析:解析 重定义是指派生类的函数屏蔽与其同名的基类函数,成员函数重载是指在同一个类中函数名字相同而参数列表不同,两个成员函数 GetPrice 由于 const 的修饰,使得它们为重载函数,此处不存在重定义,选项 A 错误;构造函数的参数可以设置为默认值,选项 B 错误;析构函数可以访问静态数据成员,选项 C 错误;成员函数 SetPrice 会修改成员变量 price 的值,所以不能定义为常函数,选项 D 正确,答案为 D 选项。33.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且,实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着


    注意事项

    本文(【计算机类职业资格】二级C++-195及答案解析.doc)为本站会员(赵齐羽)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开