C++期末考试试题(2007年)(投影版)
- 格式:doc
- 大小:77.50 KB
- 文档页数:8
一、单项选择题(共20个小题,每题2分,共40分)1、面向对象程序设计将数据与____放在一起,作为一个相互依存、不可分割的整体来处理。
A)对数据的操作B)信息C)数据隐藏D)数据抽象2、关于new运算符的下列描述中,____是错的。
A)它可以用来动态创建对象和对象数组B)使用它创建的对象或对象数组可以使用运算符delete删除C)使用它创建对象时要调用构造函数D)使用它创建对象数组时必须指定初始值3、在C++语言中合法的字符型常量是____。
A) '\t' B)"A" C)65 D)a4、在int b[][3]={{1},{3,2,7},{4,5},{0}};中a[2][2]的值是_____。
A) 0 B)7 C)5 D)随机值5、在int a=3,*p=&a;中,*p的值是____。
A)变量a地址值B)无意义C)变量p的地址值D)36、为了避免嵌套的if-else语句的二义性,C++语言规定else总是与____组成配对关系。
A)缩排位置相同的if B)在其之前未配对的ifC)在其之前未配对的最近的if D)同一行上的if7、以下程序段_____。
int x=-1;do{x=x*x;}while (!x);A)是死循环B)循环执行二次C)循环执行一次D)有语法错误8、以下程序的输出结果是____。
#include<iostream.h>void main(){int I;for (I=4;I<=10;I++){if (I%3==0) continue;cout<< I;}}A)45 B)457810 C)69 D)6789109、下面有关for循环的正确描述是____。
A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环语句中,不能用break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来10、下列语句段中不是死循环的是____。
A) int I=100;while (1){I=I%100+1;if (I==20) break;}C)int k=0;do {++k;}while (k>=0); B)int I,sum=0;for (I=1;;I++) sum=sum+1;D)int s=3379;while (s++%2+3%2) s++;11、在C++中,关于下列设置参数默认值的描述中,正确的是_______。
A)不允许设置参数的默认值B)设置参数默认值只能在定义函数时设置C)设置参数默认值时,应该是先设置右边的再设置左边的D)设置参数默认值时,应该全部参数都设置12、下列选项中,______是析构函数的特征。
A)一个类中只能定义一个析构函数B)析构函数与类名不同C)析构函数的定义只能在类体内D)析构函数可以有各个或多个参数13、以下程序的输出结果是_______。
#include <iostream.h> func(int a,int b) {static int m=0,I=2 ;I +=m+1;m=I+a+b;Return(m);} void main() {int k=4,m=1,p; p=func(k,m); cout<<p<<","; p=func(k,m); cout<< p<<endl; }A) 8, 17 B)8, 16 C)8, 20 D)8, 814、有以下类的说明,请指出错误的地方_______class Csample{int a=2.5;Csample ();Csample (int val);~Csample();};A)int a=2.5; B) Csample ();C)Csample (int val); D)~Csample();15、有关类的说法不正确的是_______。
A)类是一个用户自定义的数据类型B)只有类中的成员函数才能存取类中的私有数据C)在类中,如果不作特别说明,所有的成员均为私有类型D)在类中,如果不作特别说明,所有的成员函数均为公有类型16、有关构造函数的说法不正确的是________。
A)构造函数名字和类的名字一样B)构造函数在说明类变量时自动执行C)构造函数无任何函数类型D)构造函数有且只有一个17、已知:类A中一个成员函数说明如下:void Setval(A &val); 其中,A &val 的含义是____A)指向类A的指针为valB)将val的地址值赋给变量SetvalC)val是类A的对象引用,用来作函数Setval()的形参D)变量A与val按位相与作为函数Setval()的参数18、继承具有_____,即当基本类B本身也是A类的派生类时, 类B的派生类C 也会自动继承A类的成员。
A)规律性B)传递性C)重复性D)多样性19、派生类的对象对它的基类成员中_____是可以访问的。
A)公有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员D)私有继承的公有成员20、C++语言中规定函数的返回值的类型是由_______。
A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定二、填空题(第1-6题,每题3分,第7题6分,共24分)1、以下程序的执行结果是_____________________________。
#include <iostream.h>void main(){ int x=5,y=2;cout<<(y!=x%3)<<",";cout<<(x>0&& y<0)<<",";cout<<(x!=y||x>=y)<<endl;}2、以下程序的执行结果是______________________________________________。
#include <iostream.h>void main(){ int x=3,y=3;switch (x%2){case 1:switch (y){ case 0: cout<<"first\n";case 1: cout<<"second\n";break;default:cout<<"hellow\n";}case 2:cout<<"third\n";}}3、以下程序的执行结果是____________________________________________。
#include <iostream.h> class Sample{int x;public:void setx(int I) {x=I;} int putx() {return x;} };void main(){Sample *p;Sample A[3];A[0].setx(5);A[1].setx(6);A[2].setx(7);for (int j=0; j<3; j++) {p=&A[j];cout<<p->putx()<<","; }}4、写出以下程序的执行结果。
#include <iostream.h>class Tdate{public:Tdate(int m=4,int d=15,int y=1995){month=m; day=d; year=y;cout <<month <<"/" <<day <<"/" <<year <<endl;}protected:int month;int day;int year;};void main(){Tdate aday;Tdate bday(2);Tdate cday(3,12);Tdate dday(1,2,1998);}5、以下程序的执行结果是____________________________________________。
#include <iostream.h>void main(){int i=1,sum=0;while(i<=10)sum+ = ++i;cout << "sum=" << sum << ", i=" << i<<endl;}6、写出以下程序的执行结果。
#include <iostream.h>class base{public:virtual void who(){cout<<"base class\n";}};class derive1: public base{public:void who(){cout<<"derive1 class\n";}};class derive2: public base{public:void who(){cout<<"derive2 class\n";}};void main() Array {base obj1,*p;derive1 obj2;derive2 obj3;p=&obj1;p->who();p=&obj2;p->who();p=&obj3;p->who();}7、改正程序中斜体语句中的错误,并写出程序运行结果:#include "iostream.h"class Point{int x1,x2;public :Point(int x ,int y) {x1=x ;x2=y ; }int x_cord( ) { return x1; }int y_cord( ) { return x2; }};void main(){ Point data(3,4);cout<<data.x_cord()<<endl ;cout<<data.y_cord()<<endl ;Point more_data[3];cout<< more_data.x_cord()<<endl ;}三、编程题(共3个小题,共36分)1、(8分)设计一个计算器程序,实现加、减、乘、除运算,要求利用switch 语句实现,效果见右图。