ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:26.92KB ,
资源ID:10526934      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10526934.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C选择题2概要.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C选择题2概要.docx

1、C 选择题2概要1.在语句cindata;中,cin是(类与对象3)C+的关键字类名对象名函数名2.有如下程序:#include using namespace std;class Complexdouble re, im;public:Complex(double r, double i) : re(r), im(i) double real() const return re; double image() const return im; Complex& operator += (Complex a)re += a.re;im += a.im;return *this;ostream&

2、 operator (ostream& s, const Complex& z)return s(z.real(),z.image();int main()Complex x(1,-2), y(2,3);cout (x+=y) endl;return 0;执行这个程序的输出结果是(1,-2)(2,3)(3,5)(3,1)3.执行如下的程序段后,输出结果是( )。cout.fill(*); cout.width(6); cout.fill(#); cout 123 endl;#123123#*123123*4.在进行完任何C+流的操作后,都可以用C+流的有关成员函数检测流的状态;其中只能用于检测

3、输入流状态的操作函数名称是()faileofbadgood5.在C+语言中,打开一个文件就是将这个文件与一个( )建立关联。结构流类对象6.下面关于C+流的叙述中,正确的是( )。cin是一个输入流对象可以用ifstream定义一个输出流对象执行语句序列char *y=PQMN; couty; 将输出字符串 PQMN的地址执行语句序列char x80; cin.getline(x,80); 时,若键入Happy new year则x中的字符串是Happy7.在说明语句:int *f();中,标识符f代表的是().一个用于指向整型数据的指针变量一个用于指向一维数组的行指针一个用于指向函数的指针变

4、量一个返回值为指针型的函数名8.有如下函数模板定义:template T func(T x, T y) return x*x+y*y; 在下列对func的调用中,错误的是( )。 func(3, 5);func(3.0, 5.5); func (3, 5.5); func(3, 5.5);在下列函数原型中,可以作为类AA构造函数的是( )。void AA(int);int AA( );AA(int)const;AA(int);9.有如下函数模板定义:template T func(T x,T y) return x*x+y*y;在下列对 func 的调用中,错误的是( )。func(3,5);

5、func(3.0,5.5);func(3,5.5);func(3,5.5);10.有如下函数模板templateT square(T x) return x* x; 其中T是函数形参函数实参模板形参模板实参11.在C+中,用于实现运行时多态性的是( )。内联函数重载函数模板函数虚函数12.#include using namespace std;class Apublic:virtual void func1( ) coutA1; void func2( ) coutA2; ;class B:public Apublic:void func1( ) coutB1; void func2( )

6、coutfunc1( );p-func2( );return 0;运行此程序,屏幕上将显示输出B1B2A1A2B1A2A1B213.要实现运行时的多态性,必须通过( )调用虚函数基类指针派生类指针对象名派生类名14.要实现动态联编,派生类中的虚函数( )返回的类型可以与虚函数的原型不同参数个数可以与虚函数的原型不同参数类型可以与虚函数的原型不同以上都不对15.要实现动态联编,必须通过( )调用虚函数对象指针成员名限定对象名派生类名16.虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程

7、序:#include using namespace std;class Basepublic:virtual void f()coutf0+;void g()coutg0+;class Derived:public Basepublic:void f()coutf+;void g()coutf();p-g();return 0;运行时输出的结果是( )。f+g+f0+g+f+g0+f0+g0+17.下面四个选项中,( )是用来声明虚函数的。virtualpublicincludeusing namespace18.下面描述中,正确的是( )。virtual可以用来声明虚函数含有纯虚函数的类是

8、不可以用来创建对象的,因为它是虚基类即使基类的构造函数没有参数,派生类也必须建立构造函数静态数据成员可以通过成员初始化列表来初始化19.下面关于C+语言的描述错误的是( )。C+语言支持数据封装C+语言中引入友元没有破坏封装性C+语言允许函数名和运算符重载C+语言支持动态联编20.有如下程序#includeusing namespace std;class Baseprotected: Base() cout A; Base(char c) cout c; ;class Derived :public Basepublic: Derived(char c) cout c; ;int main(

9、) Derived d1(B);return 0;执行这个程序屏幕上将显示输出_。BBAABBB21.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。派生类的对象可以赋给基类的对象派生类的对象可以初始化基类的引用派生类的对象可以直接访问基类中的成员派生类的对象的地址可以赋给指向基类的指针22.在公有继承的情况下,允许派生类直接访问的基类成员包括?公有成员公有成员和保护成员公有成员保护成员和私有成员保护成员23.在公有继承的情况下,基类成员在派生类中的访问权限() 。受限制保持不变受保护不受保护24.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继

10、承的规则( )。完全相同完全不同部分相同,部分不同以上都不对25.下面叙述不正确的是()。基类的保护成员在派生类中仍然是保护的成员基类的保护成员在公有派生类中仍然是保护的基类的保护成员在私有派生类中仍然是私有的对基类成员的访问必须是无二义性的26.下面描述中,表达错误的是 ()公有继承时基类中的public成员在派生类中仍是public的公有继承时基类中的private成员在派生类中仍是private的公有继承时基类中的protected成员在派生类中仍是protected的私有继承时基类中的public成员在派生类中是private的27.运用运算符delete删除一个动态对象时( )。系统

11、首先为该动态对象调用构造函数,再释放其占用的内存系统首先释放该动态对象占用的内存,再为其调用构造函数系统首先为该动态对象调用析构函数,再释放其占用的内存系统首先释放动态对象占用的内存,再为其调用析构函数28.有如下类声明:class MyBASEint k;public:void set(int n) k=n;int get( )const return k; ;class MyDERIVED: protected MyBASEprotected:int j;public:void set(int m, int n) MyBASE:set(m); j=n;int get( )const ret

12、urn MyBASE:get( )+j; ;则类MyDERIVED中保护的数据成员和成员函数的个数是( )。432129.有如下类定义:class MyBaseint k;public: MyBase(int n=0):k(n) int value()return k;class MyDerived: MyBase int j;public; MyDerived(int i): j(i) int getK()const return k; int getJ()constreturn j;在一个派生类对象结束其生命周期时( )。先调用派生类的析构函数后调用基类的析构函数先调用基类的析构函数后调用

13、派生类的析构函数如果基数没有定义析构函数,则只调用派生类的析构函数如果派生类没有定义析构函数,则只调用基类的析构函数30.执行下列语句后的结果为().int x=3,y;int *px=&x;y=*px+;x=3,y=4x=3,y=3x=4,y=4x=3,y不知48.在用关键字class定义的类中,以下叙述正确的是( )。在类中,不作特别说明的数据成员均为私有类型在类中,不作特别说明的数据成员均为公有类型类成员的定义必须是成员变量定义在前,成员函数定义在后类的成员定义必须放在类定义体内部31.有如下程序:includeclass BASEchar c;public:BASE(char n) :

14、 c(n)virtual BASE() cout c; ;class DERIVED:public BASEchar c;public:DERIVED(char n) : BASE(n + 1), c(n)DERIVED() cout c; ;int main()DERIVED D(X);return 0; 执行上面的程序将输出( )。XYYXXY32.在以下new和delete运算符使用中,错误的是().char *p=new char10; deletep;char *p=new char5; delete p; p=new char10; delete p;char *p=new cha

15、r; delete p;char *p=new int10; delete p;33.有如下程序:#include using namespace std;class BASEpublic:BASE( ) coutBASE;class DERIVED: public BASE public:DERIVED( ) coutDERIVED;int main( )DERIVED x; return 0 ;执行后的输出结果是( )。BASEDERIVEDBASEDERIVEDDERIVEDBASE34.有如下程序:#include using namespace std;class A public:

16、A( ) cout A; ;class B public: B( ) cout B; ;class C : public A B b;public:C( ) cout C; ;int main( ) C obj; return 0; 执行后的输出结果是( )。CBABACACBABC35.有如下程序:#include using namespace std;class Apublic:A(int i)x=i;void dispa()coutx,;private:int x;class B:public Apublic:B(int i):A(i+10)x=i;void dispb()dispa(

17、);coutxendl;private:int x;int main()B b(2);b.dispb();return 0;运行时输出的结果是10, 212,1012,22,236.用new运算符创建一维数组的正确形式是().int *p=new a10;float *p=new float10;int *p=new int10=0;int *p=new int5=1,2,3,4,5,6;37.有如下程序:#include using namespace std;class Apublic:A() cout A; A() cout A; ;class B : public AA* p;publ

18、ic:B() cout B; p = new A(); B() cout B; delete p; ;int main()B obj;return 0;执行这个程序的输出结果是BAAABAABABAABAABAAABA ABA49.重载运算符的实质是函数调用,如果重载了后置单目运算符“+”,执行C+,则相当于执行了哪个函数( )c.operator+(c,0)c.operator+( )operator+()operator+(c,0)38.应在下列程序划线处填入的正确语句是()#includeclass Base public: void fun()coutBase:funENDL; ;cl

19、ass Derived:public Base void fun() _ /显示调用基类的函数fun() coutDerived:funfun();39.有如下程序#include#includeusing namespace std;class MyClasspublic: MyClass()coutA; MyClass(char c )coutc; MyClass()coutB;void main() MyClass p1,*p2; p2=new MyClass(X); delete p2;执行这个程序幕上将显示输出_。ABXABXBAXBAXBB40.有如下程序:#includeusin

20、g namespace std;class Pointpublic: static int number;public: Point()number+; Point()number-;int Point:number=0;void main()Point *ptr;Point A,B;Point* ptr_point=new Point3;ptr=ptr_point;Point C;coutPoint:numberendl;deleteptr;运行时输出的结果是346741.以下程序的运行结果是 _。#include stdio.hmain( )int a =1,2,3,4,5,6,7,8,9

21、,10,11,12;int *p=a+5,*qNULL;*q=*(p+5);cout *p*q;运行后报错6 66 125 542.有如下程序:#include using namespace std;class Test public:Test( ) n+=2; Test( ) n-=3; static int getNum( ) return n; private:static int n;int Test:n = 1;int main( )Test* p = new Test;delete p;cout n= Test:getNum( ) endl;return 0;执行后的输出结果是(

22、 )。n=0n=1n=2n=343.以下程序段的输出结果是().char *alp=ABC,DEF,GHI; int j; coutalp1;ABDDEF44.以下程序的输出结果是_。main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11;for(i=0;i4;i+=2) coutpi;5 25 15 39 745.以下程序的输出结果是().#include void main() char s=123,*p; p=s; cout*p+endl;1231332146.以下程序的输出结果是( )。#include void main() 47.char s=121

23、34211,*p;int v1=0,v2=0,v3=0,v4=0;for (p=s;*p;p+)switch(*p)case 1:v1+;case 3:v3+;case 2:v2+;default: v4+;coutv1,v2,v3,v4endl;4,2,1,14,7,5,87,3,2,18,8,8,847.已知数组A和指针p定义为:int A2010,*p;,要使p指向A的首元素,正确的赋值表达式是( )。p=&A 或 p=A00p=A 或 p=&A00p=&A0 或 p=A00p=A0 或 p=&A0050.要使语句p=new double20;能够正常执行,变量p应定义为( )。doub

24、le p20;double p;double (*p)20;double *p;51.要定义一个具有5个元素的一维数组,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中不正确的是 。int vect=30,50,-88;int vect=30,50,-88,0,0;int vect5=30,50,-88;int vect5=30,50,-88,0,0;52.下面说明不正确的是().char a10=china;char a10,*p=a;p=chinachar *a;a=china;char a10,*p;p=a=china53.重载赋值操作符时,应声明为( )函数 。友元

25、虚成员多态54.在一个类中可以对一个操作符进行()重载。1种2种以下3种以下多种55.在下列函数原型中,可以作为类AA构造函数的是( )。void AA(int)int AA()AA(int)constAA(int)56.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。虚函数友元函数构造函数析构函数57.在定义构造数据类型时,不能()。说明变量说明存储类型初始化末尾不写分号58.在表达式 x+y*z中, + 是作为成员函数重载的运算符,* 是作为非成员函数重载的运算符。则 operator+ 有( )个参数,operator* 有( )参数。2、22、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1