C++基础知识测试.docx

上传人:b****5 文档编号:6429950 上传时间:2023-01-06 格式:DOCX 页数:29 大小:21.84KB
下载 相关 举报
C++基础知识测试.docx_第1页
第1页 / 共29页
C++基础知识测试.docx_第2页
第2页 / 共29页
C++基础知识测试.docx_第3页
第3页 / 共29页
C++基础知识测试.docx_第4页
第4页 / 共29页
C++基础知识测试.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C++基础知识测试.docx

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

C++基础知识测试.docx

C++基础知识测试

试卷编号:

10849

所属语言:

C++

试卷方案:

C++基础知识测验

试卷总分:

100分

共有题型:

3种

 

一、填空共30题(共计30分)

第1题(1.0分)题号:

1089

运行程序后,输出结果【1】【2】【3】//注意一行为一空

#include

voidmain()

{

intx(5);

do{

switch(x%2)

{

case1:

X--;

break;

caseO:

x++;

break;

}

X--;

cout<

}while(x>O);

}

 

答案:

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

3

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

1

=======(答案3)=======

-1

 

第2题(1.0分)题号:

339

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

答案:

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

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

 

第3题(1.0分)题号:

925

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

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

答案:

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

函数

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

 

第4题(1.0分)题号:

931

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

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

答案:

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

10

 

第5题(1.0分)题号:

926

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

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

答案:

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

传地址

=========或=========

传址

 

第6题(1.0分)题号:

515

给出以下程序的输出结果是【1】

#include

voidmain()

{

int*v,b;

v=&b;b=100;*v+=b;

cout<

}

 

答案:

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

200

 

第7题(1.0分)题号:

924

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

答案:

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

多态性

 

第8题(1.0分)题号:

927

继承有方式有公有继承、私有继承和【1】三种。

答案:

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

保护继承

=========或=========

保护

 

第9题(1.0分)题号:

1849

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

答案:

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

私有

=========或=========

private

 

第10题(1.0分)题号:

314

与!

(x>2)等价的表达式是【1】

答案:

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

x<=2

 

第11题(1.0分)题号:

1799

类继承中,缺省的继承方式是【1】.

答案:

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

私有派生

=========或=========

私有

=========或=========

私有继承

=========或=========

private

 

第12题(1.0分)题号:

1838

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

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

答案:

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

内联

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

重载

 

第13题(1.0分)题号:

1674

在C语言中,二维数组元素在内存中的存放顺序是【1】.

 

答案:

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

按行主顺序存放

 

第14题(1.0分)题号:

1677

若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是【1】,a[2][1]得到的初值是【2】.

 

答案:

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

0

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

6

 

第15题(1.0分)题号:

1668

下面程序段是找出整数的所有因子,请填空.

cin>>x;

i=1;

for(;【1】;)

{

if(x%i==0)cout<

i++;

}

 

答案:

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

i<=x

 

第16题(1.0分)题号:

1821

当方法有返回值,必须在该方法体内使用【1】语句.

 

答案:

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

return

 

第17题(1.0分)题号:

1614

在C语言中的实型变量分为两种类型,它们是【1】和【2】.

 

答案:

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

单精度型(或:

float)

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

双精度型(或:

double)

 

第18题(1.0分)题号:

1845

C++语言的参数传递机制包括传值和传地址两种,参数为引用时采用的是【1】方式。

答案:

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

传地址

 

第19题(1.0分)题号:

1616

若s是int型变量,且s=6,则下面表达式的值为【1】.

s%2+(s+1)%2

 

答案:

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

1

 

第20题(1.0分)题号:

1824

C++中任何一个数组的名字是一个【1】指针,该指针的值是该数组第一个数组元素的地址.

 

答案:

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

常量

 

第21题(1.0分)题号:

1745

C语言规定,可执行程序的开始执行点是【1】.

答案:

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

程序中的main()函数

 

第22题(1.0分)题号:

1607

一个C源程序至少应包括一个【1】.

答案:

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

主函数(或:

main函数)

 

第23题(1.0分)题号:

908

已知:

char*s="hello";执行语句"for(inti=0;*s++;i++);"之后,变量i的结果是【1】

答案:

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

5

 

第24题(1.0分)题号:

1618

若x和a均是int型变量,则执行表达式

(1)后的x值为【1】,执行表达式

(2)后的x值为【2】.

(1)x=(a=4,6*2)

(2)x=a=4,6*2

 

答案:

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

12

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

4

 

第25题(1.0分)题号:

1813

若变量y是变量x的引用,则对变量y的操作就是对变量【1】的操作.

答案:

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

x

 

第26题(1.0分)题号:

1670

下面程序段的运行结果是【1】.

for(a=1,i=-1;-1<=i<1;i++)

{a++;cout<

cout<

 

答案:

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

-1

 

第27题(1.0分)题号:

1627

若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为【1】.

x%=(n%=2)

 

答案:

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

0

 

第28题(1.0分)题号:

1675

若有定义:

doublex[3][5];则x数组中行下标的下限为【1】,列下标的上限为【2】.

 

答案:

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

0

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

4

 

第29题(1.0分)题号:

1672

下面程序的功能是计算1-3+5-7+…-99+101的值,请填空.

#include

main()

{

inti,t=1,s=0;

for(i=1;i<=101;i+=2)

{【1】;s=s+t;【2】;}

cout<

}

 

答案:

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

t=t*i

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

t=-t/i

 

第30题(1.0分)题号:

20

若a为double类型的变量,表达式a=1,a+5,a++的值为【1】

答案:

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

1.0

=========或=========

1.00

=========或=========

1.000

=========或=========

1.0000

=========或=========

1.00000

 

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

第1题(1.0分)题号:

754

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

称为递归函数。

答案:

Y

第2题(1.0分)题号:

282

开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。

答案:

N

第3题(1.0分)题号:

1159

while循环语句的循环体至少执行一次。

答案:

N

第4题(1.0分)题号:

755

对于数值类型数组,如果给定的数值不够,则没有指定数值的

元素将初始化为'0\';

答案:

Y

第5题(1.0分)题号:

1188

设置了参数默认值后,调用函数时对应实参就必须省略.

答案:

N

第6题(1.0分)题号:

1333

循环是可以嵌套的,一个循环体内可以包含另一种循环语句.

答案:

Y

第7题(1.0分)题号:

753

C++引入内联函数的原因是用它来取代C中的预处理宏函数。

答案:

Y

第8题(1.0分)题号:

1336

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

答案:

Y

第9题(1.0分)题号:

1349

标识符规定大小写字母没有区别。

答案:

N

第10题(1.0分)题号:

1340

构造函数和析构函数都不能重载.

 

答案:

N

第11题(1.0分)题号:

1326

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

答案:

N

第12题(1.0分)题号:

1347

C++语言和C语言都是面向对象的程序设计语言。

答案:

N

第13题(1.0分)题号:

1312

for循环中,循环变量的作用域是在该循环的循环体内.

 

答案:

N

第14题(1.0分)题号:

1335

break语句可以出现在各种循环体中.

答案:

Y

第15题(1.0分)题号:

1359

数组元素可以用下标表示,也可以用指针表示。

答案:

Y

第16题(1.0分)题号:

1327

switch语句中必须有break语句,否则无法退出switch语句.

 

答案:

N

第17题(1.0分)题号:

1357

指针的类型是它所指向的变量或对象的类型。

答案:

Y

第18题(1.0分)题号:

1168

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

答案:

N

第19题(1.0分)题号:

1320

编译系统所提供的系统函数都被定义在它所对应的头文件中.

 

答案:

Y

第20题(1.0分)题号:

1164

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

答案:

Y

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

第1题(1.0分)题号:

478

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

【】

A:

_256

B:

void

C:

scanf

D:

Struct

 

答案:

B

第2题(1.0分)题号:

196

C++程序的执行总是从哪里开始的?

【】

A:

main函数

B:

第一行

C:

头文件

D:

函数注释

 

答案:

A

第3题(1.0分)题号:

1730

合法的数组初始化语句是【】。

A:

chara[]="string";

B:

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

C:

inta[]="string"

D:

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

 

答案:

A

第4题(1.0分)题号:

1354

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

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

A:

0

B:

1

C:

10

D:

无限

 

答案:

D

第5题(1.0分)题号:

1213

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

【】

A:

!

B:

%

C:

-=

D:

&&

 

答案:

A

第6题(1.0分)题号:

1842

在intb[][3]={{1},{3,2},{4,5,6}};中,b[2][2]的值为【】。

A:

0

B:

5

C:

6

D:

2

 

答案:

C

第7题(1.0分)题号:

4122

以下正确的函数定义形式是____

A:

doublefun(intx,inty)

B:

doublefun(intx;inty)

C:

doublefun(intx,inty);

D:

doublefun(intx,y);

 

答案:

A

第8题(1.0分)题号:

1610

设有定义intx;floaty;,则10+x+y值的数据类型是

A:

int

B:

double

C:

float

D:

不确定

 

答案:

C

第9题(1.0分)题号:

1609

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

A:

增加了一些新的运算符

B:

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

C:

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

D:

引进了类和对象的概念

 

答案:

D

第10题(1.0分)题号:

1798

在下述对字符数组的描述中,有错误的是【】。

A:

字符数组可以存放字符串

B:

字符数组中的字符串可以进行整体输入输出

C:

可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D:

字符数组的下标从0开始

 

答案:

C

第11题(1.0分)题号:

4183

关于函数返回值的的描述正确的是().

A:

函数返回表达式的类型一定与函数的类型相同.

B:

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

C:

当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换.

D:

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

 

答案:

C

第12题(1.0分)题号:

4212

假设有定义charch;下列输入字符的方法不正确的是().

A:

cin.get(ch)

B:

cin>>ch

C:

cin>>get(ch)

D:

ch=cin.get()

 

答案:

C

第13题(1.0分)题号:

4344

下面常数中不能作为常量的是()

A:

0xA5

B:

2.5e-2

C:

3e2

D:

0583

 

答案:

D

第14题(1.0分)题号:

4013

设有程序段

t=0;

while(printf("*"))

{

t++;

if(t<3)break;

}

则下面描述正确的是____

A:

其中循环控制表达式与0等价

B:

其中循环控制表达式与'0'等价

C:

其中循环控制表达式是不合法的

D:

以上说法都不对

 

答案:

B

第15题(1.0分)题号:

4028

若有说明:

inta[3][4];则数组a中各元素____

A:

可在程序的运行阶段得到初值0

B:

可在程序的编译阶段得到初值0

C:

不能得到确定的初值

D:

可在程序的编译或运行阶段得到初值0

 

答案:

B

第16题(1.0分)题号:

4168

当执行以下程序段时()

x=-1;

do{x=x*x;}while(!

x);

A:

循环体将执行一次

B:

循环体将执行两次

C:

循环体将执行无限次

D:

系统将提示有语法错误

 

答案:

A

第17题(1.0分)题号:

4257

如果一个函数无返回值,定义时它的函数类型应是().

A:

任意

B:

int

C:

void

D:

 

答案:

C

第18题(1.0分)题号:

1946

已知:

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

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

  cout<

A:

159

B:

147

C:

357

D:

369

 

答案:

C

第19题(1.0分)题号:

1648

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

A:

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

B:

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

C:

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

D:

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

 

答案:

C

第20题(1.0分)题号:

1044

表达式9!

=10的值为:

【】

A:

非零值

B:

true

C:

0

D:

1

 

答案:

D

第21题(1.0分)题号:

4317

在inta[2][3]={{1,0},{3,2}};中a[1][0]的值是()

A:

0

B:

1

C:

3

D:

2

 

答案:

C

第22题(1.0分)题号:

3553

下面程序段的运行结果是.

a=1;b=2;c=2;

while(a

cout<

A:

1,2,0

B:

2,1,0

C:

1,2,1

D:

2,1,1

 

答案:

A

第23题(1.0分)题号:

2177

下面程序的输出是【】

 #include

 voidmain()

 {

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

  cout<<*(p+2); 

}

A:

3

B:

4

C:

1

D:

2

 

答案:

A

第24题(1.0分)题号:

4149

以下选项中合法的字符常量是()

A:

"B"

B:

'\010'

C:

68

D:

D

 

答案:

B

第25题(1.0分)题号:

3998

下面程序段.

for(t=1;t<=100;t++)

{

cin>>x;

if(x<0)continue;

cout<

}

A:

当x<0时整个循环结束

B:

x>=0时什么也不输出

C:

printf函数永远也不执行

D:

最多允许输出100个非负整数

 

答案:

D

第26题(1.0分)题号:

4342

C++程序的执行总是从哪里开始的?

A:

main函数

B:

第一行

C:

头文件

D:

函数注释

 

答案:

A

第27题(1.0分)题号:

4350

已知a,b均被定义为double型,则表达式:

b=1,a=b+5/2的值为:

()

A:

1

B:

3

C:

3.0

D:

3.5

 

答案:

C

第28题(1.0分)题号:

2214

C语言规定:

在一个源程序中,main函数的位置____.

A:

必须在最开始

B:

必须在系统调用的库函数的后面

C:

可以任意

D:

必须在最后

 

答案:

C

第29题(1.0分)题号:

2121

若有以下说明和语句,且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+i

D:

*(&a[i])

 

答案:

C

第30题(1.0分)题号:

2200

已知:

intm=10;下列表示引用的方法中,【】是正确的。

A:

int&x=m;

B:

int&y=10;

C:

int&z;

D:

float&t=&m;

 

答案:

A

第31题(1.0分)题号:

4323

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

A:

chara[]="string"

B:

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

C:

inta[]="string"

D:

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

 

答案:

A

第32题(1.0分)题号:

4260

在参数传递过程中,对形参和实参的要求是()

A:

函数定义时,形参一直占用存储空间

B:

实参可以是常量、变量或表达式

C:

形参可以是常量、变量或表达式

D:

形参和实参类型和个数都可以不同

 

答案:

B

第33题(1.0分)题号:

4325

在intb[][3]={{1},{3,2},{4,5,6},{0}};中,b[2][2]的值为().

A:

0

B:

5

C:

6

D:

2

 

答案:

C

第34题(1.0分)题号:

4126

以下不正确的说法是.

C语言规定

A:

实参可以是常量、变量或表达式

B:

形参可以是常量、变量或表达式

C:

实参可以为任意类型

D:

形参应与其对应的实参类型一致

 

答案:

B

第35题(1.0分)题号:

4244

已知函数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

第36题(1.0分)题号:

4228

在inta[2][3]={{1,0},{3,2}};中a[1][0]的值是()

A:

0

B:

1

C:

3

D:

2

 

答案:

C

第37题(1.0分)题号:

4298

()不是构造函数的特征.

A:

构造函数的函数名与类名相同;

B:

构造函数可以有返回值,也可以有参数,构造函数可以重载;

C:

系统在创建对象时会自动调用构造函数;

D:

C++规定,每个类必须有构造函数;

 

答案:

B

第38题(1.0分)题号:

1727

以下程序的运行结果是【】。

#include

voidmain()

{

inta=0,b=1,c=0,d=20;

if(a)d-=10;

elseif(b)

{if(!

c)d=15;elsed=25}

cout<

}

A:

f=0;B)f=1;

20

B:

10

C:

15

D:

25

 

答案:

C

第39题(1.0分)题号:

2226

下列四个选项中,均是C语言关键字的选项是____.

A:

autoenuminclude

B:

switchtypedefcontinue

C:

signedunionscanf

D:

ifstructtype

 

答案:

B

第40题(1.0分)题号:

4356

指针是指该变

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

当前位置:首页 > 初中教育 > 语文

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

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