C++基础知识测试Word文档下载推荐.docx
《C++基础知识测试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++基础知识测试Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
设i,j,k均为int型变量,则执行完for(i=0,j=10;
i<
=j;
i++,j--)k=i+j;
语句后,K的值为【1】。
10
第5题(1.0分)题号:
926
C++语言的参数传递机制包括传值和传地址两种,如果调用函数
时,需要改变实参或者返回多个值,应该采取【1】方式。
传地址
=========或=========
传址
第6题(1.0分)题号:
515
给出以下程序的输出结果是【1】
#include<
int*v,b;
v=&
b;
b=100;
*v+=b;
cout<
}
200
第7题(1.0分)题号:
924
C++中封装性、继承性和【1】是面向对象程序设计的三个主要性质。
多态性
第8题(1.0分)题号:
927
继承有方式有公有继承、私有继承和【1】三种。
保护继承
保护
第9题(1.0分)题号:
1849
类中成员默认的访问权限是【1】的.
私有
private
第10题(1.0分)题号:
314
与!
(x>
2)等价的表达式是【1】
=2
第11题(1.0分)题号:
1799
类继承中,缺省的继承方式是【1】.
私有派生
私有继承
第12题(1.0分)题号:
1838
使用关键字inline说明的函数称为【1】函数,
具有相同函数名但具有不同实现的函数称为【2】函数。
内联
重载
第13题(1.0分)题号:
1674
在C语言中,二维数组元素在内存中的存放顺序是【1】.
按行主顺序存放
第14题(1.0分)题号:
1677
若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]得到的初值是【1】,a[2][1]得到的初值是【2】.
6
第15题(1.0分)题号:
1668
下面程序段是找出整数的所有因子,请填空.
cin>
>
x;
i=1;
for(;
【1】;
)
if(x%i==0)cout<
i;
i++;
=x
第16题(1.0分)题号:
1821
当方法有返回值,必须在该方法体内使用【1】语句.
return
第17题(1.0分)题号:
1614
在C语言中的实型变量分为两种类型,它们是【1】和【2】.
单精度型(或:
float)
双精度型(或:
double)
第18题(1.0分)题号:
1845
C++语言的参数传递机制包括传值和传地址两种,参数为引用时采用的是【1】方式。
第19题(1.0分)题号:
1616
若s是int型变量,且s=6,则下面表达式的值为【1】.
s%2+(s+1)%2
第20题(1.0分)题号:
1824
C++中任何一个数组的名字是一个【1】指针,该指针的值是该数组第一个数组元素的地址.
常量
第21题(1.0分)题号:
1745
C语言规定,可执行程序的开始执行点是【1】.
程序中的main()函数
第22题(1.0分)题号:
1607
一个C源程序至少应包括一个【1】.
主函数(或:
main函数)
第23题(1.0分)题号:
908
已知:
char*s="
hello"
;
执行语句"
for(inti=0;
*s++;
i++);
"
之后,变量i的结果是【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
12
4
第25题(1.0分)题号:
1813
若变量y是变量x的引用,则对变量y的操作就是对变量【1】的操作.
x
第26题(1.0分)题号:
1670
下面程序段的运行结果是【1】.
for(a=1,i=-1;
-1<
=i<
1;
i++)
{a++;
a;
第27题(1.0分)题号:
1627
若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为【1】.
x%=(n%=2)
第28题(1.0分)题号:
1675
doublex[3][5];
则x数组中行下标的下限为【1】,列下标的上限为【2】.
第29题(1.0分)题号:
1672
下面程序的功能是计算1-3+5-7+…-99+101的值,请填空.
#include<
main()
inti,t=1,s=0;
for(i=1;
=101;
i+=2)
{【1】;
s=s+t;
【2】;
s;
t=t*i
t=-t/i
第30题(1.0分)题号:
20
若a为double类型的变量,表达式a=1,a+5,a++的值为【1】
1.0
1.00
1.000
1.0000
1.00000
二、判断共20题(共计20分)
754
如果一个函数在其函数体内直接或间接的调用了自己,该函数
称为递归函数。
Y
282
开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。
N
1159
while循环语句的循环体至少执行一次。
755
对于数值类型数组,如果给定的数值不够,则没有指定数值的
元素将初始化为'
0\'
;
1188
设置了参数默认值后,调用函数时对应实参就必须省略.
1333
循环是可以嵌套的,一个循环体内可以包含另一种循环语句.
753
C++引入内联函数的原因是用它来取代C中的预处理宏函数。
1336
continue语句只能出现在循环体中.
1349
标识符规定大小写字母没有区别。
1340
构造函数和析构函数都不能重载.
1326
开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间.
1347
C++语言和C语言都是面向对象的程序设计语言。
1312
for循环中,循环变量的作用域是在该循环的循环体内.
1335
break语句可以出现在各种循环体中.
1359
数组元素可以用下标表示,也可以用指针表示。
1327
switch语句中必须有break语句,否则无法退出switch语句.
1357
指针的类型是它所指向的变量或对象的类型。
1168
可以通过typedef增加新的数据类型。
1320
编译系统所提供的系统函数都被定义在它所对应的头文件中.
1164
continue语句只能出现在循环体中。
三、单项选择共50题(共计50分)
478
以下符号中不能作为标识符的是:
【】
A:
_256
B:
void
C:
scanf
D:
Struct
B
196
C++程序的执行总是从哪里开始的?
【】
main函数
第一行
头文件
函数注释
A
1730
合法的数组初始化语句是【】。
chara[]="
string"
inta[5]={0,1,2,3,4,5};
inta[]="
chara[]={0,1,2,3,4,5};
1354
下列for循环的循环体执行次数为【】
for(inti(O),j(10);
i=j=10;
i++,j--)
无限
D
1213
下列运算符中优先级最高的是:
!
%
-=
&
1842
在intb[][3]={{1},{3,2},{4,5,6}};
中,b[2][2]的值为【】。
2
C
4122
以下正确的函数定义形式是____
doublefun(intx,inty)
doublefun(intx;
inty)
doublefun(intx,inty);
doublefun(intx,y);
1610
设有定义intx;
floaty;
,则10+x+y值的数据类型是
int
double
float
不确定
1609
C++语言对C语言进行了很多改进,C++语言相对于C语言的最根本的变化是【】
增加了一些新的运算符
允许函数重载,并允许设置缺省参数
规定函数说明符必须用原型
引进了类和对象的概念
1798
在下述对字符数组的描述中,有错误的是【】。
字符数组可以存放字符串
字符数组中的字符串可以进行整体输入输出
可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值
字符数组的下标从0开始
4183
关于函数返回值的的描述正确的是().
函数返回表达式的类型一定与函数的类型相同.
函数返回值的类型决定了返回值表达式的类型
当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换.
函数返回值类型就是返回值表达式类型.
4212
假设有定义charch;
下列输入字符的方法不正确的是().
cin.get(ch)
cin>
ch
get(ch)
ch=cin.get()
4344
下面常数中不能作为常量的是()
0xA5
2.5e-2
3e2
0583
4013
设有程序段
t=0;
while(printf("
*"
))
t++;
if(t<
3)break;
则下面描述正确的是____
其中循环控制表达式与0等价
其中循环控制表达式与'
0'
等价
其中循环控制表达式是不合法的
以上说法都不对
4028
若有说明:
inta[3][4];
则数组a中各元素____
可在程序的运行阶段得到初值0
可在程序的编译阶段得到初值0
不能得到确定的初值
可在程序的编译或运行阶段得到初值0
4168
当执行以下程序段时()
x=-1;
do{x=x*x;
}while(!
x);
循环体将执行一次
循环体将执行两次
循环体将执行无限次
系统将提示有语法错误
4257
如果一个函数无返回值,定义时它的函数类型应是().
任意
无
1946
inti,x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果【】。
for(i=0;
3;
cout<
x[i][2-i]<
'
\t'
159
147
357
369
1648
下述关于break语句的描述中,【】是不正确的
break语句可用于循环体内,它将退出该重循环
break语句可用于开关语句中,它将退出开关语句
break语句可用于if体内,它将退出if语句
break语句在一个循环体内可以出现多次
1044
表达式9!
=10的值为:
非零值
true
4317
在inta[2][3]={{1,0},{3,2}};
中a[1][0]的值是()
3553
下面程序段的运行结果是.
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
a=b;
b=t;
c--;
a<
c;
1,2,0
2,1,0
1,2,1
2,1,1
2177
下面程序的输出是【】
#include<
voidmain()
{
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+2);
4149
以下选项中合法的字符常量是()
B"
\010'
68
3998
下面程序段.
for(t=1;
t<
=100;
t++)
if(x<
0)continue;
t;
当x<
0时整个循环结束
x>
=0时什么也不输出
printf函数永远也不执行
最多允许输出100个非负整数
4342
C++程序的执行总是从哪里开始的?
4350
已知a,b均被定义为double型,则表达式:
b=1,a=b+5/2的值为:
()
3.0
3.5
2214
C语言规定:
在一个源程序中,main函数的位置____.
必须在最开始
必须在系统调用的库函数的后面
可以任意
必须在最后
2121
若有以下说明和语句,且0<
10,则【】是对数组元素的错误引用。
inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;
*(a+i)
a[p-a]
p+i
*(&
a[i])
2200
intm=10;
下列表示引用的方法中,【】是正确的。
int&
x=m;
y=10;
z;
float&
t=&
m;
第31题(1.0分)题号:
4323
合法的数组初始化语句是()
inta[5]={0,1,2,3,4,5}
chara[]={0,1,2,3,4,5}
第32题(1.0分)题号:
4260
在参数传递过程中,对形参和实参的要求是()
函数定义时,形参一直占用存储空间
实参可以是常量、变量或表达式
形参可以是常量、变量或表达式
形参和实参类型和个数都可以不同
第33题(1.0分)题号:
4325
在intb[][3]={{1},{3,2},{4,5,6},{0}};
中,b[2][2]的值为().
第34题(1.0分)题号:
4126
以下不正确的说法是.
C语言规定
实参可以为任意类型
形参应与其对应的实参类型一致
第35题(1.0分)题号:
4244
已知函数f的原型是:
voidf(int*x,long&
y);
则以下对函数f正确的调用语句是(其中a和b是实参)
f(a,b)
f(&
a,b)
f(a,&
b)
a,&
第36题(1.0分)题号:
4228
第37题(1.0分)题号:
4298
()不是构造函数的特征.
构造函数的函数名与类名相同;
构造函数可以有返回值,也可以有参数,构造函数可以重载;
系统在创建对象时会自动调用构造函数;
C++规定,每个类必须有构造函数;
第38题(1.0分)题号:
1727
以下程序的运行结果是【】。
inta=0,b=1,c=0,d=20;
if(a)d-=10;
elseif(b)
{if(!
c)d=15;
elsed=25}
d<
endl;
f=0;
B)f=1;
15
25
第39题(1.0分)题号:
2226
下列四个选项中,均是C语言关键字的选项是____.
autoenuminclude
switchtypedefcontinue
signedunionscanf
ifstructtype
第40题(1.0分)题号:
4356
指针是指该变