C++笔试模拟试题2.docx

上传人:b****6 文档编号:7765230 上传时间:2023-01-26 格式:DOCX 页数:10 大小:19.83KB
下载 相关 举报
C++笔试模拟试题2.docx_第1页
第1页 / 共10页
C++笔试模拟试题2.docx_第2页
第2页 / 共10页
C++笔试模拟试题2.docx_第3页
第3页 / 共10页
C++笔试模拟试题2.docx_第4页
第4页 / 共10页
C++笔试模拟试题2.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C++笔试模拟试题2.docx

《C++笔试模拟试题2.docx》由会员分享,可在线阅读,更多相关《C++笔试模拟试题2.docx(10页珍藏版)》请在冰豆网上搜索。

C++笔试模拟试题2.docx

C++笔试模拟试题2

传智播客C++面向对象程序设计复习题

姓名____________得分____________排名____________

一.选择题,每题1分

1.在一个C++程序中,main函数的位置()。

(a)必须在程序的开头(b)必须在程序的后面

(c)可以在程序的任何地方(d)必须在其它函数中间

2.用C++语言编制的源程序要变为目标程序必须要经过()。

(a)解释(b)汇编(c)编辑(d)编译

3.C++程序基本单位是()。

(a)数据(b)字符(c)函数(d)语句

4.C++程序中的语句必须以()结束。

(a)冒号(b)分号(c)空格(d)花括号

5.执行C++程序时出现的“溢出”错误属于()错误。

(a)编译(b)连接(c)运行(d)逻辑

6.下列正确的八进制整型常量表示是()。

(a)0a0(b)015(c)080(d)0x10

7.下列正确的十六进制整型常量表示是()。

(a)0x11(b)0xaf(c)0xg(d)0x1f

8.执行语句inti=10,*p=&i;

后,下面描述错误的是()。

(a)p的值为10(b)p指向整型变量i

(c)*p表示变量i的值(d)p的值是变量i的地址

9.执行语句inta=5,b=10,c;int*p1=&a,*p2=&b;

后,下面不正确的赋值语句是()。

(a)*p2=b;(b)p1=a;

(c)p2=p1;(d)c=*p1*(*p2);

10.执行下面语句后,a和b的值分别为()。

inta=5,b=3,t;

int&ra=a;

int&rb=b;

t=ra;ra=rb;rb=t;

(a)3和3(b)3和5(c)5和3(d)5和5

11.设i=1,j=2,则表达式++i+j的值为()。

(a)1(b)2(c)3(d)4

12.在下列表达式选项中,()是正确。

(a)++(a++)(b)a++b(c)a+++b(d)a++++b

13.以下正确的函数原型为()。

(a)f(intx;inty);(b)voidf(x,y);

(c)voidf(intx,y);(d)voidf(int,int);

14.有函数原型voidfun1(int);下面选项中,不正确的调用是()。

(a)doublex=2.17;fun1(x);

(b)inta=15;fun1(a*3.14);

(c)intb=100;fun1(&b);

(d)fun1(256);

15.有函数原型voidfun2(int*);下面选项中,正确的调用是()。

(a)doublex=2.17;fun2(&x);

(b)inta=15;fun2(a*3.14);

(c)intb=100;fun2(&b);

(d)fun2(256);

16.有函数原型voidfun3(int&);下面选项中,正确的调用是()。

(a)intx=2.17;fun3(&x);

(b)inta=15;fun3(a*3.14);

(c)intb=100;fun3(b);

(d)fun3(256);

17.在VC中,若定义一个函数的返回类型为void,以下叙述正确的是()。

(a)用语句调用函数(b)用表达式调用函数

(c)有返回值(d)通过return语句可以返回指定值

18.使用重载函数编程序的目的是()。

(a)使用相同的函数名调用功能相似的函数(b)共享程序代码

(c)提高程序的运行速度(d)节省存贮空间

19.下列的描述中()是错误的。

(a)使用全局变量可以从被调用函数中获取多个操作结果

(b)局部变量可以初始化,若不初始化,则系统默认它的值为0

(c)当函数调用完后,静态局部变量的值不会消失

(d)全局变量若不初始化,则系统默认它的值为0

20.以下对一维数组a的正确定义是()。

(a)intn=5,a[n];(b)inta(5);

(c)constintn=5;inta[n];(d)intn;cin>>n;inta[n];

21.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则不能表示数组a中元素的式子是()。

(a)*a(b)*p(c)a(d)a[p-a]

22.已知inta[3][3]={1,2,3,4,5,6,7,8,9};则不能表示数组元素a[2][1]的地址是()。

(a)&[2][1](b)*(a[2]+1)(c)a[2]+1(d)*(a+2)+1

23.若用数组名作为调用函数的实参,则传递给形参的是()。

(a)数组存贮首地址(b)数组的第一个元素值

(c)数组中全部元素的值(d)数组元素的个数

24.下列描述中,错误的是()。

(a)输出字符指针就是输出字符串

(b)输出字符指针的间接引用就是输出单个字符

(c)具有相同字符的两个字符串常量相等

(d)两个数组名的比较是地址的比较

25.判断字符串s1和s2是否相等的表达式为()。

(a)s1=s2(b)s1==s2

(c)strcpy(s1,s2)==0(d)strcmp(s1,s2)==0

26.若有以下声明和定义,则下列错误的引用是()。

structworker

{intno;

charname[20];

}w,*p=&w;

(a)w.no(b)p->no(c)(*p).no(d)*p.no

27.若有以下声明和定义,则下列引用非法的是()。

structdata

{intn;

floatscore;

data*q;

};

dataa[3]={1001,87,&a[1],1002,75,&a[2],1003,90,&a[0]};

data*p=a;

(a)p->n++(b)(*p).n++(c)++p->n(d)*p->n

28.关于类和对象不正确的说法是()。

(a)类是一种类型,它封装了数据和操作(b)对象是类的实例

(c)一个类的对象只有一个(d)一个对象必属于某个类

29.在类定义的外部,可以被访问的成员有()。

(a)所有类成员(b)private或protected的类成员

(c)public的类成员(d)public或private的类成员

30.关于this指针的说法错误的是()。

(a)this指针不一定显式说明

(b)当创建一个对象后,this指针就指向该对象

(c)成员函数拥有this指针

(d)静态成员函数拥有this指针

31.下面对构造函数的不正确描述是()。

(a)系统可以提供默认的构造函数

(b)构造函数可以有参数,所以也可以有返回值

(c)构造函数可以重载

(d)构造函数可以设置默认参数

32.下面对析构函数的正确描述是()。

(a)系统不可以提供默认的析构函数(b)析构函数必须由用户定义

(c)析构函数没有参数(d)析构函数可以设置默认参数

33.下面选项中,不是类的成员函数为()。

(a)构造函数(b)析构函数(c)友元函数(d)复制构造函数

34.下面对友员的错误描述是()。

(a)关键字friend用于声明友员

(b)一个类中的成员函数可以是另一个类的友员

(c)友员函数访问对象的成员不受访问特性影响

(d)友员函数通过this指针访问对象成员

35.在下列运算符中,不能重载的是()。

(a)<=(b)>>(c)?

(d)&=

36.下列关于运算符重载的描述中,()是正确的。

(a)可以改变参与运算的操作数个数(b)可以改变运算符原来的优先级

(c)可以改变运算符原来的结合性(d)不能改变原运算符的语义

37.不能用友员函数重载的是()。

(a)=(b)==(c)+=(d)!

=

38.下面描述中,错误的是()。

(a)只有系统预先定义的运算符才可能被重载

(b)使用类型转换函数不能把一个类转换为另一个类

(c)使用类型转换函数可以把类转换为基本类型

(d)类型转换函数只能定义为一个类的成员函数,不能定义为类的友员函数

39.在c++中,类与类之间的继承关系具有()。

(a)自反性(b)对称性(c)传递性(d)反对称性

40.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()。

(a)public成员(b)private成员

(c)protected成员(d)友员

41.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。

(a)public成员(b)private成员

(c)protected成员(d)友员

42.当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。

(a)public成员(b)private成员

(c)protected成员(d)友员

43.不论派生类以何种方式继承基类,都不能使用基类的()。

(a)public成员(b)private成员

(c)protected成员(d)public成员和protected成员

44.在创建派生类对象时,构造函数的执行顺序是()。

(a)对象成员构造函数、基类构造函数、派生类本身的构造函数

(b)派生类本身的构造函数、基类构造函数、对象成员构造函数

(c)基类构造函数、派生类本身的构造函数、对象成员构造函数

(d)基类构造函数、对象成员构造函数、派生类本身的构造函数

45.当不同的类具有相同的间接基类时,有特点()。

(a)各派生类对象将按继承路线产生自己的基类版本

(b)派生类对象无法产生自己的基类版本

(c)为了建立惟一的间接基类版本,应该必须改变类格

(d)为了建立惟一的间接基类版本,应该声明虚继承

46.在C++中,要实现动态联编,必须使用()调用虚函数。

(a)类名(b)派生类指针(c)对象名(d)基类指针

47.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值()。

(a)不同(b)相同(c)相容(d)部分相同

48.下面函数原型声明中,()声明了fun为纯虚函数。

(a)voidfun()=0;(b)virtualvoidfun()=0;

(c)virtualvoidfun();(d)virtualvoidfun(){};

49.若一个类中含有纯虚函数,则该类称为()。

(a)基类(b)纯基类(c)派生类(d) 抽象类

50.read函数的功能是从输入流中读取()。

(a)一个字符(b)当前字符(c)一行字符(d)指定若干个字符

51.下列选项中,用于清除基数格式位设置以十六进制输出的语句是()。

(a)cout<

:

dec,ios:

:

basefield);

(b)cout<

:

hex,ios:

:

basefield);

(c)cout<

:

oct,ios:

:

basefield);

(d)cin>>setf(ios:

:

hex,ios:

:

basefield);

二.阅读下列程序,写出执行结果

1.#include

voidfunc(int,int,int*);

voidmain()

{intx,y,z;

func(5,6,&x);

func(7,x,&y);

func(x,y,&z);

cout<

}

voidfunc(inta,intb,int*c)

{b+=a;*c=b–a;}

2.#include

voidfunc(int,int,int&);

voidmain()

{intx=0,y=1,z=2;

func(1,2,x);

func(x+y,y,y);

func(z,x+y,z);

cout<

}

voidfunc(inta,intb,int&c)

{b+=a;c=b–a;}

3.#include

structemployee

{charname[20];

charsex;

};

voidfun(employee*p)

{if((*p).sex=='m')

cout<<(*p).name<

}

voidmain()

{employeeemp[5]={"Liming",'m',"Wangxiaoping",'f',"Luwei",'m'};

inti;

for(i=0;i<3;i++)

fun(emp+i);

}

4.#include

classA

{public:

intf1();

intf2();

voidsetx(intm){x=m;cout<

voidsety(intn){y=n;cout<

intgetx(){returnx;}

intgety(){returny;}

private:

intx,y;

};

intA:

:

f1(){returnx+y;}

intA:

:

f2(){returnx-y;}

voidmain()

{Aa;

a.setx(10);a.sety(5);

cout<

cout<

}

5.#include

classT

{public:

T(intx){a=x;b+=x;};

staticvoiddisplay(Tc)

{cout<<"a="<

private:

inta;

staticintb;

};

intT:

:

b=5;

voidmain()

{TA(3),B(5);

T:

:

display(A);

T:

:

display(B);

}

三.编程题

1.对3个变量按由小到大的顺序排序,要求调用排序函数时使用引用作为形式参数。

 

2.定义一个字符串类String,用来存放不定长的字符串,重载运算符“==”,“<”和“>”,用于两个字符串的等于、小于和大于的比较运算。

 

3.输入a,b和c的值,编写一个程序求这三个数的最大值和最小值。

要求把求最大值和最小值编写成函数,并使用指针作为形式参数把结果返回函数main。

 

4.有一个Time类,包含数据成员minute(分)和sec(秒),模拟秒表,每次走一秒,满60秒进一分钟,此时秒又从0开始算。

要求输出分和秒的值。

 

5.声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。

 

6.定义一个rectangle类,它包含两个数据成员length和width;以及包含用于求长方形面积的成员函数。

再定义rectangle的派生类rectangular,它包含一个新数据成员height和用来求长方体体积的成员函数。

在main函数中,使用两个类,求某个长方形的面积和某个长方体的体积。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

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

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