版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+语言程序设计复习题一、 单项选择题1.下列表达式中不正确的是 。A、px B、pq9C、k/(p3) D、23i52.若w是一个bool型变量,则w &&!w的值是 。A、true B、falseC、与w的值相同 D、与!w的值相同3.要定义一个int 型数组A,并使其各元素具有初值9,0,3,0,0,不正确的定义语句是 。A、int A =9, 0, 3;B、int A =9, 0, 3, 0, 0;B、int A5=9, 0, 3;D、int A5=9, 0, 3, 0;4.如果一个函数无返回值,则只能作为 被调用。A、表达式B、语句C、有参函数D、无参函数5.有关析构
2、函数的说法中不正确的是 。A、析构函数有且只能有一个B、析构函数无任何函数类型C、析构函数和构造函数一样可以有参数D、析构函数的作用是在对象被撤销时收回先前分配的内存空间6. 的功能是对对象进行初始化A、析构函数B、数据成员C、构造函数D、静态成员函数7.下列for语句的循环次数为 。for(int i0,x0;!x && i<=5;i+)A、5B、6C、1D、无限8.X>Y&&X<=Y的值为 。A、true B、falseC、与X>Y的值相同 D、与X<=Y的值相同9.若对函数类型未加显式说明,则该函数的隐含类型是 。A、void
3、 B、doubleC、intD、char10.有关类和对象的说法,下列不正确的是。A、对象是类的一个实例 B、任何一个对象只能属于一个具体的类C、一个类只能有一个对象 D、类与对象的关系和数据类型和变量的关系相似11. 不是构造函数的特征。A、构造函数的函数名与类名相同 B、构造函数可以重载C、构造函数可以设置默认参数D、构造函数必须指定类型说明12. 是析构函数的特征。A、一个类中只能定义一个析构函数 B、析构函数与类名不同C、析构函数的定义只能在类体内D、析构函数可以有一个或多个参数13.类型修饰符unsigned修饰 类型是错误的。A、charB、int C、long intD、floa
4、t14.下列十六进制的整型常数表示中, 是错误的A、0xafB、0X1bC、2fxD、0XAE15.下列运算符中, 的结合性从左到右。A、三目B、赋值C、比较D、单目16.预处理命令在程序中都是以 开头的。A、*B、# C、:D、/17.将两个字符串连接成一个字符串时,选用 函数。A、strlenB、strcpyC、strcatD、strcmp18.下述静态数据成员的特征中, 是错误的。A、说明静态数据成员时,前面要加修饰府staticB、静态数据成员要在类体外进行初始化C、引用静态数据成员时,要在静态数据成员名加类名和作用域运算符D、静态数据成员不是所有对象所公有的19. 类C是以多重继承的
5、方式从类A和类B继承而来的,类A和类B无公共的基类,那么: A. 类C的继承方式只能采用public继承。 B. 可改用单继承的方式实现类C的同样功能。 C. 类A和类B至少有一个是抽象类。 D. 类A和类B至少有一个是虚基类。 20. 下列哪种用法不能体现类A和类B之间的组合关系: A. 类A中声明数据成员B b; B. 类A中声明数据成员B* b; C. 类A中声明数据成员const B& b; D. 类A中声明成员函数 B func( B& obj);21.执行bool OK=2!=3; cout<<OK;后,显示在屏幕上的是 。A、true B、falseC
6、、1 D、022.若w是一个bool型变量,则w | 5的值是 。A、true B、falseC、与w的值相同 D、与!w的值相同23.已知一正常运行的程序中有这样两个语句:int* p2=&x,*p1=d1; *p2=*d2;由此可知,变量d1和d2的数据类型分别是 。A、int 和 intB、int* 和intC、int* 和 int* D、int 和 int*24.要使指针变量P指向一维数组A的第五个元素(下标为4的那个元素),正确的赋值表达式是 。A、P=&A 或 P=&A4B、P=A+4 或 A=&A4C、P=A+4 或 P=A4D、P=&A+
7、4 或 P=A425.是给对象取一个别名。A、指针B、引用C、枚举D、结构26.sizeof(double)是一个 表达式。A、整型B、双精度C、不合法D、函数调用27.要定义一个int 型数组A,并使其各元素具有初值9,0,3,0,0,不正确的定义语句是 。A、int A =9, 0, 3;B、int A =9, 0, 3, 0, 0;B、int A5=9, 0, 3;D、int A5=9, 0, 3, 0;28.下列while循环的次数是 。While (int i=0) i;A、0 B、1C、5D、无限29.有关构造函数的说法不正确的是 。A、构造函数的名字和类的名字一样 B、构造函数在
8、声明对象时自动执行C、构造函数无任何数据类型D、构造函数有且只有一个30.以下类的说明中,指出有错误的地方 。class Aint a=1; /Adouble b; /Bpublic:A( );/CA( );/D31.下列各函数中, 不是类的成员函数。A、构造函数 B、析构函数C、友员函数D、拷贝初始化构造函数32.下列定义中, 是定义指向数组的指针p。A、int *p5 B、int (*p)5C、(int *)p5D、int *p33.下列double型常量表示中, 是错误的。A、E15B、.35C、3E5D、3E534.对字符数组初始化时, 是正确的。A、char s1“abcd“;B、c
9、har s23= “xyz”;C、char s33=“abc”;D、char s423=“xyz”,”mnp”;35.下述关于break语句的描述中, 是不正确的。A、break语句可以用在循环体内,它将退出该重循环B、开关语句中每个语句序列中必须有break语句C、开关语句中default子句只能放在最后D、开关语句中case子句后面的表达式可以是整型表达式36.下面关于条件语句的描述中, 是错误的。A、if语句中只有一个else子句B、if语句中可以有多个else if子句C、if语句中if体不能是开关语句D、if语句的if体可以是循环语句37.派生类的对象对它的基类中 是可以访问的。A、
10、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员38.关于虚函数的描述中, 是正确的。A、虚函数是一个static类型的成员函数B、虚函数是一个非成员函数C、基类中说明了虚函数后,派生类中将其对应的函数不必说明为虚函数D、派生类的虚函数和基类的虚函数具有不同的参数个数和类型39. 类A有一个实例化的常量对象a,那么下面的说法中不正确的是: A. 类A中的非静态数据成员一定都是常量成员。 B. 通过a可以直接调用类A的常量成员函数。 C. a不能直接作为左值表达式使用。 D. a可以是静态常量对象。 40. 在不考虑强制类型转换的情况下,关于类中常量成员函数的
11、下列说法不正确的是: A. 常量成员函数中不能修改本类中的非静态数据成员。 B. 常量成员函数中可以调用本类中的任何静态成员函数。 C. 常量成员函数的返回值只能是void或常量。 D. 若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数。 41.n>=0的等价条件是 。A、n<0 B、!(n>=0)C、!(n<0) D、!(n>0)42.与if(x>0) if(y<0) x+=y;else x-=y;等效的语句有 。A、if(x>0 | y<0) x+=y; else x-=y;B、if(x<=0 | y>
12、;=0) x+=y;else x-=y;C、if(x>0) x=(y>=0 ? x-y : x+y); D、if(y>=0) if(x<=0) x-=y;else x+=y;43.要使语句p=new long *;能够正确执行,p应定义为 。A、long *p; B、 long *p; C、long p; D、 long *p;44.有关构造函数的说法中不正确的是 。A、构造函数的名字和类的名字一样B、构造函数在说明类变量时自动执行C、构造函数无任何函数类型D、构造函数有且只能有一个45.以下语句不正确的是 。(设有int p,q)A、p*=3B、p/=qC、p+=3D
13、、p&&=q46.以下程序段 。int x=-1;dox=x*x;while(!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误47.当一个函数无返回值时,函数的类型应定义为 类型。A、void B、任意C、intD、无48.C语言中规定,函数的返回值的类型是由 。A、return语句中的表达式的类型决定 B、调用该函数时的主调函数类型决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型决定49. 的功能是对对象进行初始化。A、构造函数 B、数据成员C、虚函数D、析构函数50.如果一个函数无返回值,则只能作为 被调用。A、表达式B、语句C、有参函数
14、D、无参函数51.下列说明中:const char *ptr; ptr应该是 。A、指向字符常量的指针 B、指向字符的常量指针C、指向字符串常量的指针D、指向字符串的常量指针52.为了避免嵌套的ifelse语句的二义性,C语言规定else总是与 组成配对关系。A、缩排位置相同的if B、在其之前未配对的ifC、在其之前未配对的最近的ifD、同一行上的 a=3,*p=&a;其中p的值是 。A、变量a的地址值B、无意义C、变量p的地址值D、354.下列运算符中, 可以用于浮点数。A、 B、C、>>D、&55.下列的 是引用调用A、形参参是指针,实参是地址
15、值B、形参和实参都是变量C、形参和实参都是数组名D、形参是引用,实参是变量56.下列存储类标识符中, 的可见性和存在性不一致。A、外部类B、自定类C、内部静态类D、寄存器类57.下面关于new 和delete操作符的说法,哪个是不正确的: A. 使用new操作符,可以动态分配全局堆中的内存资源。 B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用。 C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中。 D. 执行语句A * p=new A100;时,类A的构造函数只会被调用1次。 58.类TM和类T
16、N是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的: A. TM* a; B. TN& a; C. TM a; D. TN a; 59.类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是: A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数。 B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间。 C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象。 D. 类A和类B中的同名虚函数的返回值类型必须完全一致。 60.下列哪种
17、函数可以是虚的: A. 自定义的构造函数 B. 拷贝构造函数 C. 静态成员函数 D. 析构函数 二、多项选择题1.下列对指针变量的操作中,正确的是( )A char s7; int *p=s=580; B char s6; int *p1=s; *p1= *p2;C char a7,*p; p=a; D int a6,*p; p=&a;E int a8, *p=a;2.下列一维数组的初始化语句中,正确的是( )A float b5=0,3.2,4.3; B float b5=0,3,4.5,6,7,1.2;C char a3=a; D int a=0;E static int b3=
18、1,5;3.若有说明 int i=4,j=2,a54,(*p)4; 和赋值语句p=a;则对数组元素aij之值的正确引用是( )A *( p+4 *i+j) B *(p +i)j C *( *(p+i)+j) D *pijE pij4.以下叙述中正确的是( )A. 在不同的函数中可以使用相同名字的变量B. 函数中的形式参数是局部变量C. 在一个函数内定义的变量只在本函数范围内有效D. 在一个函数内的复合语句中定义的变量在本函数范围内有效E. 用static标识的变量是全局变量5.设有如下定义:int (*ptr)( ); 则以下叙述中不正确的是( )A. ptr是指向一维数组的指针变量B. pt
19、r是指向int型数据的指针变量C. ptr是指向函数的指针,该函数返回一个int型数据D. ptr是一个函数名,该函数的返回值是指向int型数据的指针E. ptr是一个指向二维数组的指针变量6.以下标识符中不合法的是( )A、pab B、a#b C、int D、2_and7.已知:char a20, b20;则以下正确的输入语句是( )A、gets(a, b); B、scanf(“%s%s”,a, b);C、scanf(“%s%s”, &a, &b); D、gets (a), gets(b);8.已知:double *p6;它的含义是( )A. p是指针数组 B. p是数组指针
20、C. p是含有6个元素的一维数组,数组中每个元素都是指向double型变量的指针D. p是double型数组9.已知:int i, x34;则能将x11的值赋给变量i的语句是( )A、i=*(*(x+1)+1) B、i=x11 C、i=*(*(x+1) D、i=*(x1+1)10.设有以下说明语句:struct stu int a; float b; stutype;则下面叙述中正确的是( )A、struct 是结构类型的关键字 B、struct stu是用户定义的结构类型C、stutype是用户定义的结构类型变量名 D、a 和b都是结构成员名11若有说明:long *p,a;则能通过scan
21、f语句正确给输入项读入数据的程序段是() (A) *p=&a; scanf(“%ld”,p); (B) p=(long *)malloc(4); (C)scanf(“%ld”,p=&a); (D)scanf(“%ld”,&a); (E) scanf(“%ld”,p); a=*p;12.下列一维数组的初始化语句中,正确的是() (A)float b5=0,3.2,4.3; (B)float b5=0,3,4.5,6,7,1.2; (C) char a3=a; (D) int a=0; (E) static int b3=1,5;13.以下叙述中错误的是()A. 定义函数时
22、,形参的类型说明只能放在函数定义的第一行参数表中B. return语句后边不能用表达式C. 如果函数的类型与返回值类型不一致,以函数类型为准D. 如果函数的类型与返回值类型不一致,以返回值类型为准E. 如果形参与实参的类型不一致,以实参类型为准14.若有以下说明: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 则数值为4的表达式是() (A)ag-c (B)a4 (C)a3 (D)ad-c (D)ad-c15.设有如下定义:int (*ptr)( ); 则以下叙述中不正确的是()A. ptr是指向一维数组的指针变量B. ptr是指向int型
23、数据的指针变量C. ptr是指向函数的指针,该函数返回一个int型数据D. ptr是一个函数名,该函数的返回值是指向int型数据的指针E. ptr是一个指向二维数组的指针变量16以下标识符中不合法的是( )A、pab B、a#b C、int D、2_and E、abc1已知:char a20, b20;则以下正确的输入语句是( )A、gets(a, b); B、scanf(“%s%s”,a, b);C、scanf(“%s%s”, &a, &b); D、gets (a), gets(b);E、getchar(a,b);1已知:double *p6;它的含义是( )a) p是指针数
24、组 b) p是数组指针c) p是含有6个元素的一维数组,数组中每个元素都是指向double型变量的指针d) p是double型数组e) p是一个指向数组的指针1已知:int i, x34;则能将x11的值赋给变量i的语句是( )A、i=*(*(x+1)+1) B、i=x11 C、i=*(*(x+1) D、i=*(x1+1) E、i=x1+12设有以下说明语句:struct stu int a; float b; stutype;则下面叙述中正确的是( )A、struct 是结构类型的关键字 B、struct stu是用户定义的结构类型C、stutype是用户定义的结构类型变量名 D、a 和b都
25、是结构成员名 E、stutype是结构体类型名21.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )A a:=b+1 B a=b=c=2 C a+=b+3 D *p+ E a=a+7=c+b22.以下叙述中正确的是( )A. 在不同的函数中可以使用相同名字的变量B. 函数中的形式参数是局部变量C. 在一个函数内定义的变量只在本函数范围内有效D. 在一个函数内的复合语句中定义的变量在本函数范围内有效E. 用static标识的变量是全局变量23.设有如下定义:int (*ptr)( ); 则以下叙述中不正确的是( )A. ptr是指向一维数组的指针变量B. ptr是指向int型数据的指针
26、变量C. ptr是指向函数的指针,该函数返回一个int型数据D. ptr是一个函数名,该函数的返回值是指向int型数据的指针E. ptr是一个指向二维数组的指针变量24.以下叙述正确的是( )A. do-while语句构成的循环不能用其它语句构成的循环来代替B. do-while语句构成的循环只能用break语句退出C. 由do-while语句构成的循环,其循环体至少执行一次D. 用do-while语句构成的循环,在while后的表达式为非零时结束循环E. 用do-while语句构成的循环,在while后的表达式为零时结束循环25.若已定义:int a9,*p=a; 并在以后的语句中未改变p的
27、值,能表示a1地址的表达式是( )A p+1 B a+1 C a+ D +p E &a126.以下标识符中合法的是( )A day B E2 C int D ab_cd27.已知:int a, *p=&a; 则下列函数调用中正确的是( )A scanf(“%d”, &a); B scanf(“%d, p”);C printf(“%d”, a); D printf(“%d”, *p);28.设有说明int (*ptr)M; 其中的标识符ptr是( )A. M个指向整型变量的指针B. 数组指针C. 具有M个指针元素的一维指针数组,每个元素都只能指向整型变量D. 一个指向具有
28、M个整型元素的一维数组的指针29.已知:static int a23=2,4,6,8,10,12;正确表示数组元素的是( )A *(a+1) B *(a1+2) C *(*(a+1)+1) D a0030.若有以下说明和语句:struct student int age;int num; std, *p;p=&std;则以下对结构变量std中成员age 的引用方式正确的是( )A std.age B p->age C (*p).age D *p.age三、填空题:1.字符串“Hello”的长度是 个字节,存储时占有 个字节的空间。2.字符串“C:DOSDATA.DAT”所表示的全
29、路径文件名是 。3.如果x的值为34,y的值为7,则执行 if(x>0) cout<<A;if(y<-8) cout<<B;屏幕上显示的是 。4.与if(READY) if(OK) y=-1; else y=0; else y=1;等效的赋值语句是 。5.执行 int i,s; for(i=8,s=0;i>0;i-) s+=i; while(+i<5)s+=i; 后,s的值是 。6.字符串“ccutnsoft”的长度是 。7.执行for(int i23;i>0;i-)cout<<*;将输出 个*号。8.指针变量保存的不是一般的数
30、据值,而是程序中另一个对象的 。9.一个类有 个析构函数。10.执行int x=5,y;y=+x3;后,x的值是 ,y的值是 。1利用操作符,语句序列g=g+1;h=g+3;的功能可以由一个语句完成,这个语句是 。1与对应的C表达式是 。1执行if(s&&!s) cout<<"AAA"else cout<<"ZZZ" 屏幕上显示的是 。1执行if(x>923 |x<=923) cout<<"AAA" else cout<<"ZZZ" 屏幕上
31、显示的是 。1执行cout<<”Whats the date today?”, 显示在屏幕上的是 。1253的值是 。1函数的递归调用是指 。1作为 调用的函数,必须有副作用才有意义。1下面的语句按行显示输出5行8列数组m的所有元素,从倒数第一行开始输出,最后输出首行,请补充完整:for(int i= ;i>= ; ) cout<<endl; for( ; ; j+) cout<< << ;2下面语句显示输出7行7列数组a的主对角线上的所有元素,请补充完整:for( ; ;i+) cout<< << ;21.表达式x
32、625,i(x>100?10:100)的值和完成表达式求值后变量i的值分别是 和 。22.不用操作符“!” ,xy<3 的相反条件可以表示为: 。23.执行for(int i0;i<=21;i+)cout<<*;将输出 个*号。24.与int i100;while(i)cout<<P ; i-;这两个语句相当的for语句是 。25.利用操作符,语句序列h=g5;g+=1;的功能可以由一个语句完成,这个语句是 。26.不用操作符“!” ,x>=3 | | x<=5 的相反条件可以表示为: 。27.类成员的访问属性分为 、 、 。28.类中的数
33、据成员和成员函数的默认类型为 ,而结构中的数据成员和成员函数的默认类型为 。29.已知数组array定义为int array=1,3,6,9,12 ; ,则array的各元素值是 ,最小下标是 ,最大下标是 。30.已知数组array定义为 int array 5=1,2,3,5,6,8;,则array是一个 行 列的二维数组,总共 个元素,最大行下标是 ,最大列下标是 ,第一行元素的值是 。四、简答题1. 说明类中的public、 protected和 private成员函数分别在public、protected和private继承方式下在派生类中的可访问性。2. 若类A和类B没有继承关系,
34、对于函数void func(A&) ,请至少用两种不同方法说明如何才能传递一个非常量的B类对象给func函数。 3. 在声明类中的构造函数、析构函数、纯虚函数、静态成员函数、非静态的成员函数以及全局函数作为类的友元函数时,哪些可以是常量成员函数? 4. 举例说明重载(overload) 、重定义(redefine) 和重写(override)的含义。5. 通常类A的拷贝构造函数的原型写为A(const A&);,请问为什么参数一定要使用引用形式?使用const修饰符除了可以防止修改传递给构造函数的实参外,还有什么作用? 6. 程序员规范中要求不要写出类似(+i)+(i+) 或
35、f(+i,i+)这样的代码,请说明原因。7.下面程序的打印结果是#incude int f(int); int main() int i; for(i=0;i<5;i+) cout<<F(i)<<"" return 0; int f(int i) static int k=1; for(;i>0;i-) k+=i; return k; 8. 下面程序的打印结果是#include<iostream.h> int add(int x,int y=8); void main() int a=5; cout<<"
36、sum1="<<add(a)<<endl; cout<<"sum2="<<add(a,add(a)<<endl; cout<<"sum3="<<add(a,add(a,add(a)<<endl; int add(int x,int y) return x+y; 9、main() int *p1,*p2,i1=10,i2=20;p1=&i1;p2=&i2;printf("%d,%d,",*p1,*p2);p2=p1;
37、printf("%d,%dn",*p1,*p2); 10、main() int a,b,c; a=-1;b=-2; c=+a-b+; printf("%d",c); 11、void add() static int x=0; x+; printf("%d ",x); void main() int i; for(i=0;i<3;i+) add(); 12main() char ch25=“6934”,”8254”,*p2; int i,j,s=0; for(i=0;i<2;i+) pi=chi; for(i=0;i<
38、2;i+) for(j=0;pij>0&&pij<9;j+=2) s=10*s+pij-0; printf(“%d”,s); 13.main() int x,y,z;x=1;y=3;z=+x+(+y);printf("%d",z);14.main() int a10=1,2,3,-4,5,6,7,-8,9,10,s=0; for(int i=0;i<10;i+) if (ai<0) break; s+=ai; printf("%d",s);15.main() int a=24,b=16,r; while (b) r
39、=a%b; a=b; b=r; printf("%d",a);16.main() char s10="abcdef" char *p=s; printf("%c ",*p+); p+; p+; printf("%c ",*p-); printf("%c ",*-p); 17、 main() int x,y,z;x=y=z=3;y=x+-1;printf("%d,%d,",x,y);y=z-+1;printf("%d,%dn", y,z);18、main()
40、 int a10=1,2,3,-4,5,6,7,-8,9,10,s=0; for(int i=0;i<10;i+) if (ai<0) break; s+=ai; printf("%d",s);19、int x=1;void fun(int x) x=3; main() fun(x); printf(“%dn”,x);20、main() int *p1,*p2,i1=10,i2=20; p1=&i1; p2=&i2; printf("%d,%d,",*p1,*p2); p2=p1; printf("%d,%dn&qu
41、ot;,*p1,*p2);21、main() int a4=10,25,36,48; int *p=a; printf("%d ",*p); p+; printf("%d ",*p+); printf("%d ",*+p);22、int f(int b ,int n) int i, s=0; for(i=0; i<=n; i+=2) s+=bi; return s; main() int x,a =2, 3, 4, 5, 6, 7, 8, 9; x=f (a, 5); printf(“%d”,x ); 23、main() sta
42、tic chat a =”program”, *ptr; for( ptr=a; ptr<a+7; ptr+=2) putchar(*ptr);24、int fun(int n) if (n>0) return (n* fun (n-2);else return (1);main() int x; x=fun(5); printf(“%dn”, x ); 五、 编程题:1、设计一个程序,输入正五边形的边长a,按公式R 计算该五边形外接圆的半径。2、重新安排整数序列21,26,15,78,3,47,11,7,53,39的顺序,使其中最大的5个整数 位于序列的前部。显示处理后的这个整数
43、序列3.设计一个程序,输入四个整数,找出其中最大的一个并显示出来。4.设计一个程序,输入三角形的三个边的长度a,b,c,按公式area,其中s 计算三角形的面积。5.设计一个程序,计算并显示输出的值。6.输入12个正整数,然后重新排列这个数列的顺序,使得所有的奇数位于数列的前部。显示处理后的这两个数列的结果C+语言程序设计复习题参考答案一、 单项选择题: 1-5、DBABC 6-10、CBBCC 11-15、DADCC 16-20、BCDBD2125 C A B B B2630 A A A D A 3135 C B A A B 3640 C A B A C41-45、ACBDD 46-50、C
44、ADAB 51-55、DCAAD 56-60、CDCBD二、多项选择题: 1、CE 2、ACDE 3、CE 4、ABC 5、ABDE 6、BCD7、BD 8、AC 9、ABD 10、ABCD 11BCD 12.ACDE 13.ABDE 14CE 15. ABDE 16. BCD 17. BD 18. AC 19.ABD 20. ABCD21、BCD 22、ABC 23、ABDE 24、CE 25、ABDE 26、ABD 27、ABCD 28、BD 29、BCD 30、ABC三、填空题: 1.5、6 2.C:DOSDATA.DAT 3.A 4.y=READ?(OK?-1:0):-1;5.46 6
45、.9 7.23 8.地址值 9.1 10.6 、3 11.h=+g+3;12.a*sqrt(b+2*sqrt(c)/5)/2 13.ZZZ 14.AAA 15.Whats the date today?16.1 17.函数直接或间接调用自身 18.语句 19.4、0、i 、int j = 0 、j<8 、mij 20.int i=0 、i<7 、aii 21.x+y>=3 22.22 23.for(int i=100;i>0;i-)24.cout<<P 25.h=g-5; 26.x<5&&x>5 27.public 、protec
46、ted 、private28.private 、public 29.1 3 6 9 12 、0、4 30.3、5、15、2、4、1 2 3 0 0四、简答题1. 重点是基类中的任何Private在派生类中都是不可访问的。 2. 可在A类中定义一个构造函数:A(const B&); 或在B类中定义一个自动转换函数: operator A( ) const; 3. 只有纯虚函数、非静态的成员函数可以是常量成员函数。 (这题有点问题,析构函数可以是纯虚函数,但不能是常量函数) 4. 如类A中有函数 int f(void);和int f(int);为重载(overload) (同名,参数不同)
47、 如类A中有函数 int f(void);,A的派生类B中给int f(void)一个新的实现体,为redefine 如类A中有虚函数 virtual int f(void);,A的派生类B中给virtual int f(void)一个新的实现体, 为override. 5. A(const A& one ).当调用此拷贝构造函数时,需将参数压栈,若不使用&,就需要在 栈内创建一个one的副本,而这需要用拷贝构造函数。这样就会形成递归调用。 使用const,还允许用一个常量对象作为样本,来构造一个新的对象。 6. 计算子表达式的顺序由编译器决定的,虽然参数的压栈顺序在给定的调用
48、方式下式固定的, 但参数表达式的计算顺序也由编译器决定的。不同的编译器或不同的表达式计算的顺序可能 不一致。7. 1 2 5 11 21 8. 5,10,15 9、10,20,10,10 10、2 11、1 2 3 12、6385 13、6 14、6 15、8 16、a d b 17、 4,2,4,2 18、 6 19、 1 20、 10,20,10,10 21、 10 25 48 22、 1223、 porm 24、 15五、编程题1./设计一程序,输入正五边形的边长a,计算该五边形外接圆的半径#include <iostream.h>#include <math.h>void main()double a,R;cout<<&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眼镜行业销售工作总结
- 酒水饮料行业员工激励措施
- 2024年电大电子商务概论考试综合手册
- 创意设计服务协议书(2篇)
- 易错点12 抗日战争时期的主要史实与时间-备战2023年中考历史考试易错题(原卷版)
- 黄金卷6-【赢在中考·黄金八卷】(解析版)
- DB33T 2195-2019 家庭医生签约服务居家护理工作规范
- 以社區為基礎之糖尿病個案管理與疾病管理
- 2022-2023学年山东省聊城市高一上学期期末考试地理试题(解析版)
- 阜阳热熔胶项目可行性研究报告
- 初三家长会数学老师发言稿
- 2025版国家开放大学法学本科《知识产权法》期末纸质考试总题库
- 医药销售培训课程
- 2022-2023学年北京市海淀区七年级(上)期末语文试卷
- 膝关节炎阶梯治疗
- 设备日常维护及保养培训
- 行业背景、经济运行情况及产业未来发展趋势分析
- 配电室维护协议书
- 2024年度工作总结模板简约干练风格
- 2024年广东省第一次普通高中学业水平合格性考试历史试卷(解析版)
- 部编版一年级上册语文期末试题含答案
评论
0/150
提交评论