C++考试33.docx

上传人:b****5 文档编号:4656436 上传时间:2022-12-07 格式:DOCX 页数:26 大小:22.57KB
下载 相关 举报
C++考试33.docx_第1页
第1页 / 共26页
C++考试33.docx_第2页
第2页 / 共26页
C++考试33.docx_第3页
第3页 / 共26页
C++考试33.docx_第4页
第4页 / 共26页
C++考试33.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C++考试33.docx

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

C++考试33.docx

C++考试33

有几个注意事项,大家注意:

(1)语句,变量定义等书写的空格数 如 intx;中间空格1个空格,如果空格2个以上,系统认为是不匹配,没有分数.

(2)程序填空题和改错题,一定要保存,并且看清空中的语句是否有;,不需要填写;的,不要添加.

(3)程序设计题需要运行编译.

(4)考试不允许带手机,草稿纸不能自带,需要由老师发

试卷总分:

100分

共有题型:

6种

一、填空共5题(共计10分)

二、判断共10题(共计10分)

三、单项选择共15题(共计30分)

四、程序填空共3题(共计24分)

五、程序改错共2题(共计16分)

六、程序设计共1题(共计10分)

复习题:

一、填空

第1题

在C++语言结构化程序中,【1】是程序的基本组成单元;在C++语言的面向对象设计框架中,

【2】是程序的基本组成单元。

答案:

=======(答案1)=======函数

=======(答案2)=======类

第2题

C++中封装性、继承性和【1】是面向对象程序设计的三个主要性质。

答案:

=======(答案1)=======多态性

第3题

赋值运算符的结合性是由【1】至【2】

答案:

=======(答案1)=======右

=======(答案2)=======左

第4题

C++语言的参数传递机制包括传值和传地址两种,如果调用函数

时,需要改变实参或者返回多个值,应该采取【1】方式。

答案:

=======(答案1)=======传地址=========或=========传址

第5题

设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--)k=i+j;

语句后,K的值为【1】。

答案:

=======(答案1)=======10

第6题

使用插入符进行标准输出文件输出时,使用的输出流对象名是【1】。

答案:

=======(答案1)=======cout

第7题

C++语言的参数传递机制包括传值和传地址两种,如果调用函数

时,需要改变实参或者返回多个值,应该采取【1】方式。

答案:

=======(答案1)=======传地址=========或=========传址

第8题

类中成员默认的访问权限是【1】的.

答案:

=======(答案1)=======私有=========或=========private

第9题

表达式7.5+1/2+45%10=【1】

答案:

=======(答案1)=======12.5

第10题

使用关键字inline说明的函数称为【1】函数,

具有相同函数名但具有不同实现的函数称为【2】函数。

答案:

=======(答案1)=======内联

=======(答案2)=======重载

二、判断

第1题

预处理命令是在进行编译时首先执行的,然后再进行正常编译。

答案:

Y

第2题

字符串常量与字符常量的区别仅表现在定义形式上的不同,一个用双撇号,另一个用单撇号。

答案:

N

第3题

可以通过typedef增加新的数据类型。

答案:

N

第4题

函数定义时必须给出函数体,函数体内至少有一条语句。

答案:

N

第5题

如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。

答案:

Y

第6题

continue语句只能出现在循环体中.

答案:

Y

第7题

指针可以加上或减去一个int型数,也可以加上一个指针。

答案:

N

第8题

引用是某个变量的别名,引用是被绑定在被引用的变量上。

答案:

Y

第9题

表达式中各操作数计算顺序取决于运算符的优先级和结合性。

答案:

Y

第10题

使用关键字class定义的类中默认的访问权限是私有(private)的.

答案:

Y

第11题

返回值类型、参数个数和参数类型都不相同的函数可以重载.

答案:

Y

第12题

如果一个函数在其函数体内直接或间接的调用了自己,该函数

称为递归函数。

答案:

Y

第13题

函数可以设置默认的参数值,默认参数值必须设置在函数定义时的形参上。

答案:

N

第14题

开关语句的<语句序列>中必须有一个break语句,否则该开关语句便无法退出。

答案:

N

第15题

开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间。

答案:

N

第16题

局部静态变量与自动变量作用域相同,但生命周期不同.

答案:

Y

第17题

当说明一个结构变量时,系统分配给它的内存是各成员所需内存量的总和。

答案:

Y

第18题

函数中参数传递方式中,传值是可以节省在量所需的内存空间和时间。

答案:

N

第19题

用来给数组进行初始化的初始值表内的数据项的个数必须小于等于数组元素个数。

答案:

Y

第20题

C语言是C++语言的一个子集。

C++语言继承了C语言。

答案:

Y

三、单项选择

第1题

下列while循环的次数是【】。

while(inti=O)i--;

A:

0B:

1C:

5D:

无限

答案:

A

第2题

下面常数中错误的是【】

A:

0xA5B:

2.5e-2C:

3e2D:

0583

答案:

D

第3题

下列for循环的循环体执行次数为【】

for(inti(O),j(10);i=j=10;i++,j--)

A:

0B:

1C:

10D:

无限

答案:

D

第4题

在下列运算符中,优先级最低的是:

【】

A:

||B:

!

=C:

+

答案:

A

第5题

以下正确的说法是()

A:

用户若需要调用标准函数,调用前必须重新定义

B:

用户可以直接调用所有标准库函数

C:

用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数

D:

用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数

答案:

D

第6题

以下代码运行后,abcd的值为:

()

inta,b,c,d;

a=b=c=1;

d=++a||++b&&++c;

A:

1,1,1,1B:

2,2,2,1

C:

2,1,1,2D:

2,1,1,1

答案:

D

第7题

若使用一维数组名作函数实参,则以下正确的说法是____

A:

必须在主调函数中说明此数组的大小

B:

实参数组类型与形参数组类型可以不匹配

C:

在被调函数中,不需要考虑形参数组的大小

D:

实参数组名与形参数组名必须一致

答案:

A

第8题

以下符号中不能作为标识符的是:

【】

A:

_256B:

voidC:

sumD:

Struct

答案:

B

第9题

1.设有以下说明语句

structstu

{

inta;

floatb;

}stutype;

则下面的叙述不正确的是[]。

A:

struct是结构类型的关键字B:

stu是用户定义的结构类型名

C:

stutype是用户定义的结构类型名D:

a和b都是结构成员名

答案:

C

第10题

若有以下定义和语句,且0

  inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;

  p=a;

A:

&(a+1)B:

a++C:

*pD:

&p[i]

答案:

D

第11题

合法的数组初始化语句是()

A:

chara[]="string"B:

inta[5]={0,1,2,3,4,5}

C:

inta[]="string"D:

chara[]={0,1,2,3,4,5}

答案:

A

第12题

已知:

inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果【】。

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

  cout<

A:

159B:

147C:

357D:

369

答案:

C

第13题

下列【】是语句。

A:

;B:

a=17C:

x+yD:

cout<<\n

答案:

A

第14题

已知函数f的原型是:

voidf(int*x,long&y);

则以下对函数f正确的调用语句是(其中a和b是实参)().

A:

f(a,b)B:

f(&a,b)C:

f(a,&b)D:

f(&a,&b)

答案:

B

第15题

下述关于break语句的描述中,【】是不正确的

A:

break语句可用于循环体内,它将退出该重循环

B:

break语句可用于开关语句中,它将退出开关语句

C:

break语句可用于if体内,它将退出if语句

D:

break语句在一个循环体内可以出现多次

答案:

C

第16题

C++语言对C语言进行了很多改进,C++语言相对于C语言的最根本的变化是【】

A:

增加了一些新的运算符

B:

允许函数重载,并允许设置缺省参数

C:

规定函数说明符必须用原型

D:

引进了类和对象的概念

答案:

D

第17题

若有以下说明和语句,且0

  inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;

  p=a;

A:

*(a+i)B:

a[p-a]C:

p+ID:

*(&a[i])

答案:

C

第18题

C++语言对C语言进行了很多改进,C++语言相对于C语言的最根本的变化是【】

A:

增加了一些新的运算符

B:

允许函数重载,并允许设置缺省参数

C:

规定函数说明符必须用原型

D:

引进了类和对象的概念

答案:

D

第19题

表达式9!

=10的值为:

【】

A:

非零值B:

trueC:

0D:

1

答案:

D

第20题

下列运算符中优先级最高的是:

()

A:

!

B:

%C:

-=D:

&&

答案:

A

第21题

以下能正确计算1×2×3×…×10的程序段是____

A:

do{i=1;s=1;

s=s*i;

i++;

}while(i<=10);

B:

do{i=1;s=0;

s=s*i;

i++;

}while(i<=10);

C:

i=1;s=1;

do{s=s*i;

i++;

}while(i<=10);

D:

i=1;s=0;

do{s=s*i;

i++;

}while(i<=10);

答案:

C

第22题

有如下程序

#include

voidmain()

{

intx=1,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

cout<<"a="<

}

该程序的输出结果是()

A:

a=2,b=1B:

a=1,b=1C:

a=1,b=0D:

a=2,b=2

答案:

A

第23题

下列哪个是合法的自定义标识符()

A:

t*imeB:

34fgC:

voidD:

_256

答案:

D

第24题

若变量已正确定义,有以下程序段

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!

=a)c=b;

cout<

其输出结果是()

A:

程序段有语法错误B:

3,5,3C:

3,5,5D:

3,5,7

答案:

B

第25题

下列条件语句中,功能与其它语句不同的是【】。

A:

if(a)cout<

B:

if(a==0)cout<

C:

if(a!

=0)cout<

D:

if(a==0)cout<

答案:

D

第26题

在函数的返回值类型与返回值表达式的类型的描述中,()是错误的.

A:

函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的

B:

函数返回值的类型就是返回值表达式的类型

C:

函数返回值表达式类型与函数返回值类型不同时,表达式类型应转换成函数返回值类型

D:

函数返回值类型决定了返回值表达式的类型

案:

B

第27题

如果变量x,y已经正确定义,下列语句【】不能正确将x,y的值进行交换:

A:

x=x+y;y=x-y;x=x-y;B:

t=x;x=y;y=t;

C:

t=y;y=x;x=t;D:

x=t;t=y;y=x;

答案:

D

第28题

下列输出字符'A'的方法中,()是错误的.

A:

cout<

cout<<'A'C:

cout.put('A')D:

charA='A';cout<

答案:

A

第29题

已知学生记录描述为

structstudent

{

intno;

charname[20];

charsex;

struct

{

intyear;

intmonth;

intday;

}birth;

};

structstudents;

设变量s中的"生日"应是"1984年11月11日",下列对"生日"的正确赋值方式是【】。

A:

year=1984;month=11;day=11;

B:

birth.year=1984;birth.month=11;birth.day=11;

C:

s.year=1984;s.month=11;s.day=11;

D:

s.birth.year=1984;s.birth.month=11;s.birth.day=11;

答案:

D

第30题

以下正确的说法是____

A:

定义函数时,形参的类型说明可以放在函数体内

B:

return后边的值不能为表达式

C:

如果函数值的类型与返回值类型不一致,以函数值类型为准

D:

如果形参与实参的类型不一致,以实参类型为准

答案:

C

四、程序填空

第1题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

在一维数组中统计正数和负数的个数,正数的个数存入

变量C1中,负数的个数存入变量C2中。

-------------------------------------------------------*/

#include

voidmain()

{

inta[10]={1,-2,3,4,-5,6,7,8,-9,10};

/***********SPACE***********/

【?

/***********SPACE***********/

for(inti=0;【?

】;i++)

/***********SPACE***********/

if(【?

】>0)

c1++;

else

/***********SPACE***********/

【?

】;

cout<

}

答案:

=======(答案1)=======intc1=0,c2=0;

=======(答案2)=======i<10=========或=========i<=9

=======(答案3)=======a[i]

=======(答案4)=======c2++=====或====c2=c2+1=====或======++c2=======或====c2+=1

第2题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

求1-10之间所有奇数的和。

-------------------------------------------------------*/

#include

voidmain()

{

/***********SPACE***********/

【?

k=i=0;

/***********SPACE***********/

while(【?

】)

/***********SPACE***********/

{

if(【?

】)

k+=i;

i++;

}

/***********SPACE***********/

cout<<【?

】;

}

答案:

=======(答案1)=======intk,i;=========或=========inti,k;

=======(答案2)=======i<10=========或=========i<=9

=======(答案3)=======i%2==1=========或=========i%2!

=0

=======(答案4)=======k

第3题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

设计一个求和函数sum(intn),函数类型为整型,求1+2+3+...+a的值。

要求:

在主函数中输入a的值,调用该函数并输出和。

-------------------------------------------------------*/

#include

/***********SPACE***********/

【?

】;

voidmain()

{

inta,b;

cout<<"请输入a:

"<

cin>>a;

/***********SPACE***********/

【?

】;

cout<

}

intsum(intn)

{

inti,k=0;

for(i=1;i<=n;i++)

/***********SPACE***********/

【?

】;

/***********SPACE***********/

【?

】;

}

答案:

=======(答案1)=======intsum(intn)或intsum(int)

=======(答案2)=======b=sum(a)

=======(答案3)=======k+=i或k=k+i

=======(答案4)=======returnk

第4题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

从键盘输入两个正整数求最大公约数

-------------------------------------------------------*/

#include

voidmain()

{

intm,n,k;

cin>>m>>n;

/***********SPACE***********/

k=【?

】;

/***********SPACE***********/

while(【?

】)

{

m=n;

/***********SPACE***********/

【?

/***********SPACE***********/

k=【?

】;

}

cout<

}

答案:

=======(答案1)=======m%n

=======(答案2)=======k!

=0=========或=========k

=======(答案3)=======n=k;

=======(答案4)=======m%n

第5题

/*-------------------------------------------------------

【程序填空】-每空2分

---------------------------------------------------------

功能:

设计一个求阶乘函数f(intn),函数类型为长整型,求1!

+2!

+3!

+…+n!

的值。

要求:

在主函数中输入n的值,调用该函数并输出阶乘和。

-------------------------------------------------------*/

#include

/***********SPACE***********/

【?

voidmain()

{

intn;

cin>>n;

longs=0;

for(inti=1;i<=n;i++)

/***********SPACE***********/

【?

cout<

"<

}

longf(intn)

{

longm=1;

for(inti=1;i<=n;i++)

/***********SPACE***********/

【?

/***********SPACE***********/

【?

}

答案:

=======(答案1)=======longf(intn);=========或=========longf(int);

=======(答案2)=======s+=f(i);=========或=========s=s+f(i);

=======(答案3)=======m*=i;=========或=========m=m*i;

=======(答案4)=======returnm;

第6题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

求两个数的最大公约数

-------------------------------------------------------*/

#include

voidmain()

{

intm,n,k;

cin>>m>>n;

k=m%n;

/***********SPACE***********/

while(【?

】)

{

m=n;

/***********SPACE***********/

【?

】=k;

/***********SPACE***********/

k=【?

】;

}

/***********SPACE***********/

cout<<【?

】;

}

答案:

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

当前位置:首页 > 法律文书 > 判决书

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

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