admin 管理员组文章数量: 1184232
2024年4月21日发(作者:gitclone后两个文件夹)
《C++程序设计》模拟试题(二)
一、选择题(本大题共10小题,每小题2分,共20分)
1.下列关于析构函数描述正确的是( )。
A.可以重载 B.函数体中必须有delete语句
C.返回类型是void类型 D.不能指定返回类型
2.下面有关重载函数的说法中正确的是( )。
A.重载函数必须具有不同的返回值类型
B.重载函数形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数名可以不同
3.下列关于单目运算符++、--的叙述中正确的是 ( )。
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
4.关于异常处理,下列说法中错误的是( )。
A.在C++程序中,由throw表达式抛出异常,throw抛出的可以是任何类型的数据
B.在一个try-catch结构中,只能有一个try语句块和一个catch语句块
C.当抛出异常后,系统会寻找匹配的catch语句,转到离出现异常最近的try-catch结
构去处理
D.当某条语句抛出异常时,跟在其后的语句将被跳过转到catch语句处,此时在try
块中抛出异常前创建的对象将被自动释放
5.对于公有继承,基类中的私有成员在派生类中将( )。
A.仍然是基类的私有成员
B.成为派生类的私有成员
C.可以被派生类的成员函数直接访问
D.可以被派生类的对象直接访问
6.下面关于抽象类的说法中错误的是( )。
A.抽象类是包含有纯虚函数的类
B.抽象类是一种特殊的类
C.抽象类可以定义自己的对象
D.抽象类可以派生新类
7.假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给
x,则不正确的语句为( )。
A.x=pa[3];
C.x=a[3];
B.x=*(a+3);
D.x=*pa+3;
8.若类X是类Y的友元类,则下列说法中正确的是( )。
A.类X的所有成员都可以访问类Y的私有成员
B.类Y的所有成员都可以访问类X的私有成员
C.只有类Y的公有成员才能访问类X的私有成员
D.只有类X的公有成员才能访问类Y的私有成员
9.派生类的成员函数可以直接访问基类的( )成员。
A.所有
B.公有和保护
C.保护和私有
D.公有和私有
10.C++中函数返回值的类型是由( )决定的。
A.return语句中表达式的类型
C.调用函数时的调用语句
B.该函数定义时的类型
D.系统根据结果
二、填空题(本大题共10小题,每小题2分,共20分)
1.在C++程序中使用的cin标识符是系统类库中定义的________类中的一个对象。
2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值
为________。
3.在一个类的定义中,包含有________成员和成员函数的定义。
4.C++的基类指针可以访问派生类对象,但不能访问派生类对象的________成员。
5.假定A为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,
则函数头为________。
6.执行语句“char a[10]={"abcd"},*p; p=a;”后,*(p+4)的值是________。
7.假定变量x定义为“int x=5;”,要将rx定义为x的引用(别名),应使用的语句为
________。
8.假定指针变量p定义为“int *p=new int;”,要释放p所指向的动态内存,应使用的
语句是________。
9.有如下类声明:
class Foo {int bar; };
则Foo类的成员bar的访问属性是________。
10.有二维字符数组“char s[4][6]={ "zhang","gao","tang","wang"};”,执行程序
“cout<
三、阅读下列程序,写出执行结果(本大题共5小题,每小题4分,共20分)
1.
#include
class Sample
{
int x,y;
public:
Sample(){x=y=0;}
Sample(int a,int b){x=a;y=b;}
void disp()
{
cout<<"x="< } }; void main() { Sample s(2,3), *p=&s; p->disp(); } 2. #include class Sample { int x; public: Sample(){}; Sample(int a){x=a;} Sample(Sample &a){x=a.x+1;} void disp(){cout<<"x="< }; void main() { Sample s1(2),s2(s1); (); (); } 3. #include class Sample { char c1,c2; public: Sample(char a){c2=(c1=a)-32;} void disp() { cout< } }; void main() { Sample a('a'),b('b'); (); (); } 4. #include class Sample { int x,y; public: Sample(){x=y=0;} Sample(int a,int b){x=a;y=b;} void disp() { cout<<"x="< } }; void main() { Sample s1,s2(1,2),s3(10,20); Sample *pa[3]={&s1,&s2,&s3}; for(int i=0;i<3;i++) pa[i]->disp(); } 5. #include void swap(int &,int &); void main() { int a=15,b=22,c=9,d=30; cout<<"15 22 9 30"; if(a if(b
版权声明:本文标题:《C 程序设计实例与操作》(於实 孟程 刘锋)759-3答案 模拟试题二 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713705788a647828.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论