南理工C++试题Word格式.docx
- 文档编号:16055219
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:20
- 大小:23.97KB
南理工C++试题Word格式.docx
《南理工C++试题Word格式.docx》由会员分享,可在线阅读,更多相关《南理工C++试题Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
如要调用以上函数,那么正确的函数调用形式为。
A)f(str,&
k);
B)f(str[100],k);
C)f(k,str);
D)f(str,&
5.设整型变量a表示天不下雨,整型变量b表示无任何会议通知,语句c表示我去图书官;
则“如果天不下雨并且无任何会议通知我去图书官”正确表示的C++语句为。
A)if(a|b){c;
}B)if(a&
&
b){c;
}
C)if(a||b){c;
}D)if(a<
}
6.为了避免嵌套的块语句的二义性,C++语言规定“}”与配对。
A)编辑时在同一列上的“{”
B)其之前最近的还没有配对过的“}”
C)其之后最近的“{”
D)其之前最近的还没有配对过的“{”
7.设有:
inta=1,b=2,c=3,d=4,m=2,n=3;
执行(m=a<
b)||(n=c>
d)后n的值为。
A)1B)2C)3D)4
8.在循环语句的循环体中使用break和continue语句的作用分别是:
。
A)二语句都结束循环B)结束本次循环和结束循环
C)二语句都结束本次循环D)结束循环和结束本次循环
9.对于for(intCount=1;
Count<
5;
){;
}语句,其循环体的执行情况是:
A)死循环B)至少执行一次C)至少执行二次D)不执行
10.下列叙述中,正确的是。
A)类的构造函数不可以重载B)类的析构函数不可以重载
C)一个类不一定有构造函数D)一个类不一定有析构函数
11.对于C++的函数,不正确的叙述是:
。
A)函数的定义不能嵌套,但函数的调用可以嵌套
B)函数体内不可以再定义一个函数,但函数体内可以调用另一个函数。
C)函数体内不可以再定义一个函数,但函数体内可以函数自身。
D)函数的定义和调用均可以嵌套
12.下面的说法不正确的是。
A)函数在重载时其函数名应相同
B)C++中所有运算符都可以重载
C)基类中定义了虚函数ab(int,int),若在派生类中重新定义为ab(int),则在派生类中,ab为函数重载
D)对于基类中定义的运算符重载函数,在派生类中不一定可继承。
13.若有说明char*(*f)(int);
则以下是正确的。
A)f是一个返回值为字符型指针的函数
B)f是指向一个函数指针,该函数返回值为字符
C)f是指向一个函数指针,该函数返回值为字符型指针
D)语法错
14.以下正确的说明语句是。
A)int*b[]={1,3,5,7,9}
B)inta[5][5],*num[5]={&
a[0],&
a[1],&
a[2],&
a[3],&
a[4]};
C)inta[5][5]={1,3,5,7,9};
int*num[5]={a[0],a[1],a[2],a[3],a[4]};
D)inta[3][4],(*num)[4];
num[1]=&
a[1][3];
15.下面程序的运行结果是。
structstu{
inti,j;
floatEng,Math,CPP;
};
voidmain(void)
{chara[]={'
a'
'
b'
c'
d'
cout<
"
i="
<
sizeof(stu)+sizeof(a)<
\n'
;
A.i=4B.i=20C.i=24D.i=35
16.下面程序的运行结果是。
staticintc;
{
#ifc*3
inti=10.88;
cout<
"
i<
\n"
#else
intj=10000.99;
cout<
j="
j<
#endif
A.j=10000B.j=10.88C.j=10000.99D.j=10
17.下列叙述,正确的是。
A)派生类对象不可以赋给基类对象
B)派生类对象的地址不可以赋给基类的指针变量
C)基类对象不可以赋给派生类对象
D)通过指向基类的指针变量不可访问基类对象中的成员
18.下面的说法正确的是。
A)能由抽象类产生该抽象类的对象
B)在定义纯虚函数时,能定义函数的实现部分
C)若一个类没有定义析构函数,则系统不会自动为其产生一个缺省的析构函数
D)不可以把构造函数定义为虚函数
19.下面程序的输出是。
注:
sin(3.1415/2)=1;
sin(10)=-0.544021;
math.h>
intsin(intx)
{returnx;
voidmain(void)
{intx=10;
floaty=3.1415/2;
sin(x)<
‘\t’;
sin(y)<
A)101B)-0.5440211
C)-0.5440211.57075D)101.57075
20.执行以下程序时,调用构造函数(以下简称为构造)和完成拷贝的构造函数(以下简称为拷贝)的次数分别为是。
A)1次构造,1次拷贝B)1次构造,2次拷贝
C)2次构造,1次拷贝D)2次构造,2次拷贝
classTest{
intx,y;
public:
Test(inta,intb)
{x=a;
y=b;
调用了构造函数!
Test(Test&
t)
{x=t.x;
y=t.y;
调用了完成拷贝的构造函数!
voidShow()
{cout<
x="
x<
\t'
y="
y<
};
Testt1(1,1),t2(2,2);
t2=t1;
Testt3(t1);
二、填空(35分)
1.(3分)若x=0,y=1,z=2,则执行语句:
z=(++x)&
(y++);
执行完以上语句后,三个变量的值分别为:
x=1y=2z=1。
2.(2分)以下程序的输出结果是x=4.1,i=5
floatp(float&
x,int&
i)
{x=x+1.5;
i=i-x;
returnx;
}
voidmain(){
inti=10;
floatx=2.6,y;
y=p(x,i)-1;
x<
i="
i;
3.(2分)以下程序的输出结果是10。
intx=12;
do{
(x-=2)<
}while(!
(--x));
4.(4分)运行以下程序的输出结果是
c(cr)d(cr)e(cr)f(cr)g(cr)h(cr){注:
(cr)—表示回车键}。
{char*s="
abcdef"
charc;
while(c=*s++)
switch(c-'
2'
)
{
case0:
case1:
(char)(c+4);
case2:
(char)(c+4)<
’\n’;
break;
case3:
(char)(c+3);
default:
(char)(c+2)<
5.(3分)运行以下程序的输出结果是。
x=5y=10
x=10y=5。
voidswap(int&
p1,int&
p2)
{intp;
p=p1;
p1=p2;
p2=p;
voidmain(void)
intx=5,y=10;
swap(x,y);
6.(3分)以下程序的运行结果是-5,-12,-7。
voidsub(intx,inty,int&
z)
{z=y-x;
inta,b,c;
sub(10,5,a);
sub(7,a,b);
sub(a,b,c);
a<
b<
c<
7.(4分)下面程序的输出是。
B类就是B类
A类就是A类
classA{
public:
intx;
voidShow(){cout<
A类就是A类\n"
classB{
inty;
voidShow(){cout<
B类就是B类\n"
}};
classC:
publicA,publicB
{public:
{Cc1;
c1.B:
:
Show();
c1.A:
8.(4分)下面程序的输出是x=1000
A:
p2()
z=3000
C:
protected:
intx;
A(){x=1000;
virtualvoidp(){cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理工 C+ 试题