您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2010――2011学年度《C++程序设计》期末考试B及答案
本试卷共12页第1页本试卷共12页第2页河南师范大学物理与信息工程学院2010――2011学年度第二学期期末考试《C++程序设计》B卷题号一二三四总分得分(注意:请将答案填写在答题纸中相应位置上,否则将视为无效答案。)1.C++语言是从早期的C语言发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是()。A)面向过程B)面向对象C)安全性D)复用性2.C++源程序文件的扩展名是()。A).cppB).cC).dllD).exe3.在对变量命名时中,下面()是合法的。A)CHINAB)byte-sizeC)doubleD)A+a4.若x,a,b和c均是int型变量,则执行表达式x=a=b=2后x的结果是()。A)1B)2C)3D)x无确定值。5.设有数组定义:chararray[]=China;,则数组array所占的空间为()。A)4个字节B)5个字节C)6个字节D)7个字节6.编写C++程序一般需经过的几个步骤分别是()A.编译、编辑、构建(连接)、调试B.编辑、编译、构建(连接)、调试C.编译、调试、编辑、构建(连接)D.编译、调试、编辑、构建(连接)7.当一个函数无返回值时,函数的类型定义为()。A)voidB)任意C)intD)无8.C++中注释“∥”的有效范围是()A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾9.定义字符型数据的关键词是()A.boolB.charC.intD.stuct10.设x和y都是bool型的变量,则x&&y为真的条件是()A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假11.设有定义:inta=12,则执行完语句a+=a*a后,a的值为()A.12B.144C.156D.28812.循环语句for(inti=0;in;i++)coutiendl;循环体执行的次数为()A.1B.n-1C.nD.n+113.循环体至少被执行一次的语句是()A.for循环B.while循环C.dowhile循环D.任一种循环14.从下面各选项中,选择合法的if语句(设有intx,a,b,c;)。()A)if(a==b)x++;B)if(ab)x++C)if(ab)x++;D)if(a=bx++;)15.假定一个二维数组的定义为inta[3][4]={{3,4},{2,8,6}},则元素a[2][1]的值为()A.2B.4C.6D.816.以下说法正确的是()A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行得分评卷人一、选择题(每题1分,共30分)姓名:________学号:__________年级:______________专业:_____________…….……………………….密…………………封…………………线…………………………本试卷共12页第3页本试卷共12页第4页C.C++函数必须有返回值,否则不能使用函数D.C++程序中函数的定义可以嵌套。17.函数重载是指()A.两个或者两个以上的函数去相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的函数名和相同的参数个数,但返回值的类型不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的名字,并且函数的返回值类型相同。18.以下正确的函数声明语句(包括标点符号)是()A.doublefun(intx,inty)B.doublefun(intx;inty);C.doublefun(int,int);D.doublefun(intx,y);19.假定有变量s的定义为:ints=3;要使指针变量p指向s相同的单元,定义的方法是()A.int*p=s;B.int*p=&s;C.int*p;p=*sD.int*p;p=s;20.switch语句能够改写为()A.复合B.ifC.doD.while21.假定变量x定义为:intx=5;要使rx成为x的引用(别名),rx应定义为()A.intrx=x;B.intrx=&x;C.int*rx=&x;D.int*rx=x;22.下面的循环语句中,循环体执行的次数为:()intn=9;for(inti=0;in;i++)if(in/2)break;A.4B.5C.6D.723.使用如setw()的操作对数据进行格式输出时,包含()文件。A)iostream.hB)fstream.hC)iomanip.hD)string.h24.对于重载的函数,不允许它们的()。A)参数的个数、类型、顺序都相同,而函数的返回类型不同B)参数的类型不同C)参数的顺序不同D)参数的个数不同25.设有以下变量定义,并已经赋确定的值:charw;intx;floaty;doublez;则表达式w*x+z-y所求得的数据类型为()。A.charB.intC.floatD.double26.在关键词public后面定义的成员为类的()成员A.私有B.公有C.保护D.任何27.假定AA为一个类,a为该类公用的数据成员,x为该类的一个对象,则访问该对象中数据成员的格式为()A.x(a)B.x[a]C.x-aD.x.a28.对于公用继承,基类的私有成员在派生类中将()A.仍然直接使用成员名访问B.能够通过成员运算符访问C.仍然是基类的私有成员D.变成派生类的私有成员29.以下有关类和对象的描述中,错误的是:()A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型和变量的关系。30.假定一个类的构造函数为B(intax,intbx){a=ax;b=bx;},执行Bx(1,2),y(3,4);x=y;后,a.x的值为()A.1B.2C.3D.41.#includeiostream.hvoidfun(intx=0,inty=0)得分评卷人二、程序填空题(每空2分,共30分)本试卷共12页第5页本试卷共12页第6页{coutxy;}voidmain(){fun(5);}该程序的运行结果为【1】;2.如果有字符数组定义:charstr[]=”helloworld!”;从将数组输出的语句是【2】3.假定对数组的a[]进行初始化的数据为:{2,9,6,5,7,10},则a[2]的值为【3】;4.若x=5,y=10,则xy和x=y的逻辑值分别为【4】和【5】。5.若要在程序中进行输入输出,如cin或者cout,则必须在开始的#inlude命令中使用【6】头文件。6.要访问一个对象x中的由a指针成员所指向的变量,方法为【7】。7.下面是使用递归函数求n的阶乘的函数定义,请补充Intfac(intn){intz;if(n==1)z=1;elsez=【8】returnz;}8.有结构体类型的定义为:StructA{inta;};按顺序完成下面的要求1)定义一个A类型的变量s1的语句是:【9】2)将s1中的a赋值为5的语句:【10】9.下面是时间类的定义和调用过程,其中包括3个私有变量hour,minute,second,和两个公用函数settime用来设置时间和showtime用来输出时间,请补充之【11】iostreamusingnamespacestd;【12】Time{private:Inthour,minute,second;【13】voidsettime(int,int,int);voidshowtime():};void【14】settime(inth,intm,ints){hour=h;【15】;second=s;}VoidTime::showtime(){Couthour”:”minute”:”secondendl;}intmain(){Timet;t.settime(12,0,0)t.showtime();return0;}1.#includeiomanip.hvoidmain(){inta[9]={2,4,6,8,10,12,14,16,18};for(inti=0;i9;i++){cout*(a+i)’‘;if((i+1)%3==0)coutendl;}}该程序的输出结果为:2.给出下面程序的输出结果。#includeiostreamusingnamespacestd;voidswap1(int,int);得分评卷人三、读程序,给出运行结果(每空2分,共20分)本试卷共12页第7页本试卷共12页第8页voidswap2(int&,int&);intmain(){inta=3,b=5;swap1(a,b);couta=a\tb=b\n;swap2(a,b);couta=a\tb=b\n;return0;}voidswap1(inta,intb){intt;t=a;a=b;b=t;}voidswap2(int&a,int&b){intt;t=a;a=b;b=t;}3.写出以下程序运行结果。#includeiostream.h#includestdlib.hvoidmain(){inta[8]={25,48,32,85,64,18,48,29};intmax,min;max=min=a[0];for(inti=0;i8;i++){if(maxa[i])max=a[i];if(mina[i])min=a[i];}coutmax:maxendl;coutmin:minendl;}4.#includeiostream.h#includestring.hstructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=WeiRong;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;coutx.name''x.age''x.payendl;}1.编程求100以内的素数,并输出。2.已知有一个数组array[10],编程统计其中正数和负数和零的个数,并输出。得分评卷人四、编程题(每题10分,共20分)本试卷共12页第9页本试卷共12页第10页河南师范大学物理与信息工程学院2010―2011学年度第二学期期末考试《C++程序设计》B卷答题纸题号一二三四总分得分123456789101112131415161718192021222324252627282930(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)1、2、3、4、得分评卷人一、选择题(每题1分,共30分)得分评卷人二、填空题(每空2分,共30分)得分评卷人三、读程序,给出运行结果(每题5分,共20分)姓名:________学号:__________年级:______________专业:_____________…….……………………….密…………………封…………………线…………………………姓名:________学号:__________年级:______________专业:_____________…….……………………….密…………………封…………………线…………………………本试卷共12页第11页本试卷共12页第12页1、2、得分评卷人四、编程题(每题10分,共20分)
本文标题:2010――2011学年度《C++程序设计》期末考试B及答案
链接地址:https://www.777doc.com/doc-3065545 .html