《C++面向对象程序设计》复习题
一、 填空题
1.C++程序语言中程序从Main()位置开始执行。
2.设int a=7;float x=2.5,y=8.2;表达式x+a%3*(int)(y-x)%2/4的值是2.5 3.“判断整数x和整数y是否都为奇数”的C++语言表达式是x%2<>0&&y%2<>0。 4.将字符串s2连接到字符串s1后的函数调用是strcat(s1,s2)。
5设x=2,y=3,z=4;则z+=x++&&y++&&++z表达式执行后,x、y、z的值分别是3,4,6。 6.若有函数调用语句 fun(a+b,(y=9,x),37),则其实参的个数是3 。
7.已知字母a的ASCII码为十进制数97,ch为字符变量,则ch=’a’+’8’-’5’的值为d 。
8.设:int a[5]={10,20,30,40,50};int *p=&a[0];表达式++*p+*(a+3)的值是51 。 9.若有宏定义: #define T(x,y,z) x*y*z/4
cout<
if(!a)x--;else if(b);if(c)x = 3;else x = 4;
13.类的成员函数可以在类体内 定义,也可以在类体外定义。
14.如类中没有明确定义析构函数,清除对象的工作仍由析构函数来完成,原因是编译器自动提供缺省析构函数。
15.生成一个派生类对象时,先调用基类的构造函数,然后调用派生类的构造函数。
16.在继承关系中,一个派生类同时继承自多个基类的情形称为多重继承,一个派生类继承自一个基类的情形称为单继承。
17.若在I/O流的输出中使用控制符setfill( )设置填充字符,应包含的头文件是iomanip.h。
18.在私有继承关系下,基类的公有成员和保护成员将成为派生类中的私有成员,它们只能由派生类的成员函数来访问。
19在C++中,函数的参数有两种传递方式,它们是值传递和 地址或指针或引用传递 。 20.当一个成员函数被调用时,该成员函数的 this指针 指向调用它的对象。
21. 在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有 作用域分隔符限定时 ,对此数据成员的访问将出现歧义。
22. 拷贝构造函数使用 引用 作为参数初始化创建中的对象。
23. 在公有继承的情况下,基类数据成员在派生类中的访问权限 保持不变 。 24. 描述命题\小于B或小于C\的表达式为 A
25. 用new申请某一个类的动态对象数组时,在该类中必须能够匹配到 没有形参的或缺省参数 构造函数,否则应用程序会产生一个编译错误。
26. 静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象 共享 。
27. 为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与 与最近的if 配对。
28. 设\,表达式\(a+b)>c&&b==c\的值是 0 。
29. 面向对象的程序设计有四大特征,它们是抽象、封装、 继承 、 多态 。 30. 在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型 不同 ;
在基类和派生类中,成员函数的覆盖是指 派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同 。
31. 构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、 析构函数没有参数 、 析构函数可以定义为虚函数 。
32. 动态联编要满足两个条件,它们是 被调用的成员函数是虚函数 、 用指针或引用调用虚函数 。
33. 在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为 抽象类 ,定义该类至少具有一个 纯虚函数 。 34. 在C++类中,const关键字可以修饰对象和成员函数,const对象不能 被修改 ,const成员函数不能 修改类数据成员 。
35. 举出C++中两种用户自定义的数据类型: 类 、 枚举 。
36. C++中没有字符串类型,字符串是通过 字符数组 来表示的,每一个字符串都有一个结尾字符 \\0 。
37. C++中没有输入输出语句,输入输出是通过 输入输出库 实现的, 写出一条打印整型变量n的输出语句:cout< 38. 举出C++中两种代码复用的方式: 继承 、 复用 。 39.C++程序有且只有一个main()。 40.若有变量定义 int x = 7; float a = 2.5, c = 4.7;表达式 a + (int)(x/3*(int)(c + 2)/2) % 4 的值是4.5。 41. “x或y中至少有一个小于z”的C++语言表达式是x 43.执行语句“ x = (a = 4, b = a++);”后,变量x、a、b的值依次为4,5,4。 44.表述“x或y中有一个大于z”的C++语言表达式是x>z || y>z。 45.字符串str长度的函数调用是strlen(str)。 46.执行语句“ y = (x = 3, z = --x);”后,变量的值依次为2,2,2。 47.设 #define a(x) x*x;
相关推荐: