【计算机类职业资格】二级C++-192及答案解析.doc
《【计算机类职业资格】二级C++-192及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-192及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-192 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:35,分数:69.00)1.下列关于继承方式的描述中,错误的是_。(分数:2.50)A.如果不显式地指定继承方式,默认的继承方式是私有(private)B.采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D.采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员2.设变量已正确定义并赋值,以下正确的表达式是_。(分数:2.50)A.x=y*5=x+zB.int(15.8%5)C.x=y+z+5,+yD.x=25%5.03.
2、有如下程序: #qncludeiostream #includeiomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):x(xo),y(yo) friend ostream return os; ; int main() CSum y(3.5; coutsetfill(“*“)8 couty; return0; 执行上面程序的输出是(分数:1.00)A.88B.*88C.*8*8D.8*84.有如下函数模板定义: templatetypename T1,Typename T2 T1 Fun(T2
3、n)return n*5.0; 若要求以 int 型数据 9 作为函数实参调用该模板,并返回一个 double 型数据,则该调用应表示为_。(分数:3.00)A.FUN(9)B.FUN9C.FUNdouble9D.FUN9(double)5.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:2.50)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.5432IEDCBA6.在 E-R 图中,用来表示实体联系的图形是_。(分数:2.50)A.椭圆图B.矩形C.菱形D.三角形7.下列描述中,错误
4、的是_。(分数:1.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员8.有如下程序: #includeiostream using namespace std; void f1(intx=y;y=z; void f2(int x,int y)int z=x;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数
5、:2.00)A.10B.16C.26D.369.有如下语句序列: int x=100, coutx“-“rendl; 已知其中变量 x 的地址为 0012FF7C,则执行该语句序列的输出结果为_。(分数:2.00)A.100-100B.100-0012FF7CC.0012FF7C-100D.0012FFTC-0012FFTC10.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。 # includeiostream.h void main() int v1=0,v2=0,k=0; char ch80; cinch; while(chk) switch(chk) case
6、“s“; case “h“; default: v1+1; case “o“: v2+; k+; coutv1 “,“v2end1; (分数:2.00)A.2, 0B.5, 0C.4, 5D.2, 511.若目前 D 盘根目录下并不存在 test.txt 文件,则下列打开文件方式不会自动创建 test.txt 文件的是_。(分数:2.00)A.ifstream fin;fin.open(“d:/test.txt“,ios_base:in);B.fstream fio;fio.open(“d:/test.txt“,ios_base:out);C.ofstream fout;four.open(“
7、d:/test.txt“,ios_base:out);D.ofstream fout;fout.open(“d:/test.txt“,ios_base:app);12.关于 continue 语句叙述不正确的是(分数:1.00)A.continue 语句用于循环体中,结束循环B.continue 语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue 可以用于 if 语句中D.continue 语句不能代替 break 语句13.关于静态数据成员的描述中正确的是_。(分数:2.50)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被
8、类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化14.对软件的特点,下面描述正确的是_。(分数:2.50)A.软件是一种物理实体B.软件在运行使用期间不存在老化问题C.软件开发、运行对计算机没有依赖性,不受计算机系统的限制D.软件的生产有一个明显的制作过程15.若有下面的函数调用: fun(a+b,3,max(n-1,b) 则 fun 的实参个数是_。(分数:1.00)A.3B.4C.5D.616.软件调试的目的是_。(分数:2.50)A.发现错误B.改善软件的性能C.改正错误D.验证软件的正确性17.在最坏情况下,冒泡排序所需要的比较次数为(分数:
9、2.00)A.n/2B.(n+1)/2C.n(n-1)/2D.n(n+1)/218.下面程序的运行结果为 _ 。 #includeiostream using namespace std; void main() int a=1; switch(a) case 1:cout“1“; case 2:cout“2“; break; default:cout“0“; (分数:2.00)A.12B.120C.1D.1019.堆栈 s 进行下列操作:push(1);push(2);pop();pop();后,此时的栈顶元素为 _ 。(分数:1.00)A.1B.2C.0D.不确定20.下列关于运算符重载的
10、叙述中,错误的是_。(分数:1.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载21.如有以下程序: #includeiostream using namespace std, long fun(int n) if(n2) return(fun(n-1)+fun(n-2); else return 2; int main() coutfun(3)end1; return 0; 则该程序的输出结果应该是_。(分数:2.50)A.2B.3C.4D.522.有如下数组声明:int nu
11、m10;,下标值引用错误的是(分数:1.00)A.num10B.num5C.num3D.num023.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址24.语句 ofstream f(“SALARY.DAT“,ios_base:app);的功能是建立流对象 f,并试图打开文件SALARY.DAT 与 f 关联,而且_。(分数:2.00)A.若文件存在,将
12、其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件25.有如下程序: #includeiostream using namespace std; class Basel public: Basel(int d) coutd; Base1() ; class Base2 public: Base2(int d) coutd; Base2() ; class Derived:public Base1,Base2 public: D
13、erived(int a,int b,int c,int d); Base1(b),Base2(a),b1(d),b2(c) Private: int b1; int b2; ; int main() Derived d(1,2,3,4); return 0; 运行时的输出结果是_。(分数:2.00)A.1234B.2134C.12D.2126.有如下程序: #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
14、 obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.327.设 int x =2,4,6,8,y,*p= class C1 public: C1()cout1; ; class C2: public C1 public: C2()cout2; ; int main() C2 cb2; C1*cb1; return 0; 运行时的输出结果是_。(分数:2.50)A.121B.21C.211D.1229.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是_。(分数:2.50)A.fstreamB
15、.istreamC.cstdlibD.iomanip30.有如下程序段: int i=1; while(1) i+; if(i=10)break; if(i%2=0)cout“*“; 执行这个程序段输出字符“*“的个数是_。(分数:2.50)A.10B.3C.4D.531.数据库系统的核心是_。(分数:2.00)A.数据库B.数据库管理系统C.数据模型D.软件工具32.若已知 char str 20;,且有语句 cinstr;,此时输入为“This is a program“,则所得的结果是 str= _ 。(分数:2.00)A.This is a programB.ThisC.This is
16、D.This is a33.Sample 是一个类,执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2,*p=new Sample;(分数:2.50)A.0B.1C.2D.334.有下列程序: #include stdio.h void main() (int a=1,2,3,4),y,*p=a3; -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是 _ ,(分数:2.50)A.y=0B.y=1C.y=2D.y=335.下列关于虚函数与函数重载区别的叙述中不正确的是_。(分数:1.00)A.函数说明形式上不同B.函数允许非成员函数重载,虚函数
17、只能是成员函数C.函数重载的调用依据参数和类型的差别,虚函数则依据对象D.函数重载的本体可以在类外定义,虚函数不可以二、填空题(总题数:15,分数:27.00)36.下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是) n!=n*(n-1)*.*2*1) unsigned fact(unsigned n) if (n =1) return 1; return 1; (分数:2.00)37.类模板不同于函数模板,类模板只可用 1 型参数。 (分数:2.00)38.下列程序运行后的输出结果是 1。 #includeiostream.h void main() ? i
18、nt s=0,k for(k=7;k=0;k-) switch(k) case 1: case 4: case 7:s+ +;break: case 2: case 3: case 6:break; case 0: case 5:s+=2;break; cout“s=“sendl; (分数:1.00)39.在下面程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。 #include iostream using namespace std; class A public: A() cout“A“; ; class B: _ 1_ public:B() cout“B“; ; clas
19、s C: _ 2_ public: C()cout“C“; ; class D:public B,public C public:D() cout“D“; ; void main() D obj; (分数:4.00)40.下面程序的输出结果是 _ 1_ 。 #includeiostream.h #includemath.h class point double x; double y; public: point(doublea,d double B) x=a; y=b; friend double distance (point a,point B) ; ; double distance
20、(point a,point B) return sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); void main() point p1(1,2); point p2(5,2); coutdistance(p1,p2)end1; (分数:1.00)41.fun()函数的功能是:首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中的最小的那个数作为函数返回值。请填空完成此程序。 #define N 100 int fun(int (*A) N) int row,col,max,min; for(row=0;row fo
21、r(max=arow0,col=1;col if( )max=arowcol;if(row=0)min=max;else if( )min=max;return min;arowcolmax 或 arowcol=max 或 maxarowcol或 max=arowcolmaxmin 或 max=min 或 minmax 或 min=max。解析 由程序可知,第 2 个 for 循环是用宋找出某一列中的最大值。由于 if 选择后面的语句是把数组元素值存入变量 max 中,说明此时的数组元素比开始设定的 max 值要大,所以 if 中的条件表达式为:arowcolmax。第 1 个 for 循环用
22、于实现对矩阵的行扫描,由于 else if 后面的执行语句是把 max 赋给min,说明此时 max 比开始设定的 min 还小,所以 else if 中的条件表达式为:maxmin 或 max=min。(分数:1.00)42.有以下程序: #include fstream #include string using namespace std; int main () char ch = “The end“; ofstream outstr( “d:/put.txt“, ios_base: :app); for (int i = 0; i strlen( ch ); i+ ) outstr.
23、put(chi); outstr.close(); return 0; 程序实现的功能是 _ 1_ 。 (分数:1.00)43.以下程序的输出结果 1。 #includeiostream.h void main() int a=0 a+=(a=8); couta; (分数:1.00)44.下列程序的输出结果为 1 2.3 2 4.6,请将横线处的缺失部分补充完整。 #includeiostream using namespace std; class Base public: Base(int A) :idata(A) void print()coutidata“ “; private: in
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C192 答案 解析 DOC
