当前位置:首页 > c++试卷 习题集 长沙理工大学
65.C++语言支持的两种多态性分别是编译时的多态性和 _________的多态性。 66.设有如下程序结构: class Box { ? };
void main() {Box A,B,C; }
该程序运行时调用_________次构造函数;调用 _________次析构函数。
67.目前,有两种重要的程序设计方法,分别是:____________和____________。
68. C++语言提供的基本控制结构可以分为3种类型:顺序结构、__________ 和循环结构。 69.函数的调用主要分为传值调用和___________调用。前者的特点是___________。
70.函数重载时要求同名函数的___________或___________不同,否则无法确定是哪个函数。
71.静态数据成员是类的所有对象中的___________成员,而非静态数据成员是属于___________对象的。 72.
设A为test类的对象且赋有初值,则语句test B(A); 表示___________。
73.面向对象程序设计方法中的每个对象都具有___________和__________两方面的特征。 74.“类”指的是____________________________________________。
75.构造数据类型,包括数组、__________、_________、________和类等。
76.C++中数据类型标识符Signed Char,其字节数为________,范围是____________。
77.在函数体内部定义的变量称为______________。在所有函数体外部定义的变量称为_______________。 78.有一数学表达式为2/3(f-32),要写成对应的C++的表达式时,正确地写法应写_________________。 79.类的静态成员是________________的成员,不是________________的成员,静态成员在________________进行引用性说明,在_________________进行定义性说明。
80.使用传统的结构化程序设计方法设计程序的步骤是______________、____________、_____________。 81.“封装”指的是_______________________________________________。
82.可以让新类继承已定义的类的______________和______________,这个新类称为______________,原来的类称为______________。新类可以从一个类中派生,这叫______________,也可以从多个类中派生,称为______________。
83.指针类型变量用于存储______________,在内存中它占有______________存储单元。 84.类有三种继承方式,分别是:______________、______________、______________。
三、判断下列描述的正确性:
1、C++中标识符内的大小写字母是没有区别的。 ( ) 2、C++是一种以编译方式实现的高级语言。 ( ) 3、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 ( ) 4、在私有继承中,基类中所有成员对派生类都是不可见的。 ( ) 5、返回值类型、参数个数和类型都相同的函数也可以重载。 ( ) 6、使用关键字class定义的类中缺省的访问权限是私有(private)的。 ( ) 7、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( ) 8、C++中使用了新的注释符(//),C语言中注释符(/*?*/)不能在C++中使用。 ( ) 9、While循环语句的循环体至少执行一次。 ( ) 10、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。 ( )
11、类封装了数据和操作。 ( )
12、在类的定义中,必须包含private、public、protected三种存取方式对应的部分。 ( )
13、类中的数据成员不能为指针类型。 ( ) 14、析构函数可以有形参。 ( )
15、派生类至少有一个基类。 ( )
第 13 页 共 40 页
16、在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问。 ( )
17、全局函数和静态成员函数也能声明为虚函数。 ( ) 18、在一个类的对象空间里不包含静态成员的空间。 ( )
19、友元本身就是类的成员。 ( ) 20、运算符重载后,原运算符的优先级和结合特性会改变。 ( ) 21、一个类只能有一个对象。 ( ) 22、在类中不能对所定义的数据成员进行初始化。 ( )
23、类的公有成员函数是类与外界的接口。 ( ) 24、构造函数没有函数类型。 ( )
25、在派生类的构造函数的初始化表中不能对包含基类的子对象初始化。
( ) ( )
27、只有类的成员函数才能声明为虚函数。 ( )
26、在公有和保护继承方式下,派生类的成员可以对基类的保护成员进行访问。
28、在一个类的对象空间里已经包含了静态成员的空间。 ( ) 29、C++不允许将构造函数、析构函数和虚函数声明为友元函数。( ) 30、运算符重载后,原运算符的优先级和结合特性不会改变。 ( ) 31. C++中使用了新的注释符(//),C语言中注释符(/*?*/)不能在C++中使用。 ( ) 32. 数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。 ( ) 33. 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。 ( ) 34. 宏定义命令是以分号结束的。 ( ) 35. While循环语句的循环体至少执行一次。 ( ) 36. 返回值类型、参数个数和类型都相同的函数也可以重载。 ( ) 37. 函数形参的作用域是该函数的函数体。 ( 38. 静态类标识符在它的作用域之外是不存在的。 ( 39. 对象成员的表示与结构变量成员表示相同,使用运算符.或->。 ( 40. 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 (
) ) ) )
41. 对象数组的元素可以是不同类的对象。 ( )
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型。( )
第 14 页 共 40 页
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 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 第 15 页 共 40 页 { return a[i]; } 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() { 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++) { 第 16 页 共 40 页
共分享92篇相关文档