C++程序设计试卷
42. const char *p说明了p是指向字符串的常量指针。 ( ) 43、 引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。( ) 44、 无论是私有继承还是保护继承中,基类中所有成员对派生类对象都是不可见的。( )
45、 当break语句用在双重循环的内循环中时,它只能退出内循环到外循环中去,而不能直接退出整个双重循环。 ( )
46、 For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。 ( ) 47、 返回值类型、参数个数和参数类型都相同的函数也可以重载。 ( )
48、 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。 ( )
49、 友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。 ( ) 50、 已知:类A中一个成员函数说明如下:void Set(A&a);其中A &a的含意是将a的地址值赋给变量Set。 ( )
51、 在语句const char *ptr中, ptr是指向字符串的常量指针。 ( ) 52、多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺
序,而与派生类构造函数中所定义的成员初始化列表的各项顺序无关。 ( )
53、在说明语句 int a(15),&b=a,*p=&a;中,b的值的*P的是不相等的。( ) 54、已知:int a(5),b(10); 表达式++a+b++有二义性。( ) 55、在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型double型。( ) 56、break语句也可以用于if体内,它可退出if语句。( )
57、在一个被调用函数中,一个return语句可返回多个值给调用函数。( ) 58、在传值调用中,要求实参和形参的类型完全一致并且个数相等。( ) 59、for循环中,循环变量的作用域是该循环的循环体内。( ) 60、所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。( )
61、const char *p说明了p是指向字符串的常量指针。( ) 62、私有继承中,基类中所有成员对派生类的对象都是不可见的。( )
四、指出函数或程序的功能。
1、 template
Type a=x; x=y ; y=a ; }
2、int AB(int *a , int n) {
int x=a[0];
for (int i=1; i 第 16 页 共 43 页 C++程序设计试卷 return x; } 3. int AB(int *a , int n){ int x=a[0]; for (int i=1; i 4. float fact(int n) {float t=1; for(int i=1;i<=n;i++) t*=i; return t; } #include cout< 五、写出程序运行结果(每小题3分,共15分) 1、#include void main() { int i; index(3)=12; for (i=0;i<=4;i++) cout< 2、#include int temp; temp=*m; *m=n; n=temp; } void main() { int a=5,b=10; f(&a,b); cout< 3、#include int i=15; void main() 第 17 页 共 43 页 C++程序设计试卷 { int i; i=100; ∷i=i+1; cout<<∷i< 4、#include class toy { public: toy(int q, int p) { quan = q; price = p; } int get_quan() { return quan; } int get_price() { return price; } private: int quan, price; }; main() { toy op[3][2]={ toy(10,20),toy(30,48), toy(50,68),toy(70,80), toy(90,16),toy(11,120), }; int i; for (i=0;i<3;i++) { cout< cout<<\ return 0; } 5、#include class example { public: example(int n) { i=n; cout<<\ } ~example() { cout <<\ } int get_i() { return i; 第 18 页 共 43 页 C++程序设计试卷 } private: int i; }; int sqr_it(example o) { return o.get_i()* o.get_i(); } main() { example x(10); cout< 6、#include private: int x; public: Test() { cout<<“构造函数被执行”< ~Test() {cout<<“析构函数被执行”< void print() {cout<<“x=”< void main() { Test obj1,obj2; obj1.print(); obj2.print(); } 7、#include public: A(int *s) {cout< class B:public A { public: B(char *s1,char *s2):A(s1) { cout< 第 19 页 共 43 页 C++程序设计试卷 } }; class C:public A { public: C(char *s1,char *s2):A(s1) { cout< class D:public B,C { public: D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s3,s4) { cout< void main() { D d (“class A”,”class B”,”class C”,”class D”); } 8、#include public: virtual void disp() {cout<<”base class”< class Derivel:public Base { public: void disp() {cout<<”derivel class”< class Derive2:public Base { public: void disp() {cout<<”derive2 class”< void main() { Base *p; Base b; Derive1 d1; 第 20 页 共 43 页