C++复习题库Word文档下载推荐.docx
- 文档编号:16598365
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:12
- 大小:26.10KB
C++复习题库Word文档下载推荐.docx
《C++复习题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++复习题库Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
06
第15题下面程序段是找出整数的所有因子,请填空.cin>
>
x;
i=1;
for(;
【1】;
)
{if(x%i==0)cout<
i;
i++;
}答案:
=x
第16题当方法有返回值,必须在该方法体内使用【1】语句.答案:
return
第17题在C语言中的实型变量分为两种类型,它们是【单精度型】和【双精度型】.
第18题C++语言的参数传递机制包括传值和传地址两种,参数为引用时采用的是【传地址方式。
第19题若s是int型变量,且s=6,则下面表达式的值为【1】.s%2+(s+1)%2答案:
1
第20题C++中任何一个数组的名字是一个【1】指针,该指针的值是该数组第一个数组元素的地址.答案:
常量
第21题C语言规定,可执行程序的开始执行点是【1】.答案:
程序中的main()函数
第22题一个C源程序至少应包括一个【1】.答案:
主函数(或:
main函数)
第23题已知:
char*s="
hello"
;
执行语句"
for(inti=0;
*s++;
i++);
"
之后,变量i的结果是(5)
第24题若x和a均是int型变量,则执行表达式
(1)后的x值为【1】,执行表达式
(2)后的x值为【2】.
(1)x=(a=4,6*2)
(2)x=a=4,6*2答案:
124
第25题若变量y是变量x的引用,则对变量y的操作就是对变量【1】的操作.答案:
x
第26题下面程序段的运行结果是【1】.for(a=1,i=-1;
-1<
=i<
1;
i++)
{a++;
a;
}cout<
-1
第27题若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为【1】.x%=(n%=2)答案:
第28题若有定义:
doublex[3][5];
则x数组中行下标的下限为【1】,列下标的上限为【2】.
04
第29题下面程序的功能是计算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*it=-t/i
第30题若a为double类型的变量,表达式a=1,a+5,a++的值为【1】答案:
1.0
1.00
2、判断
第1题如果一个函数在其函数体内直接或间接的调用了自己,该函数
称为递归函数。
Y
第2题开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。
N
第3题while循环语句的循环体至少执行一次。
第4题对于数值类型数组,如果给定的数值不够,则没有指定数值的元素将初始化为'
0\'
;
答Y
第5题设置了参数默认值后,调用函数时对应实参就必须省略.答案:
第6题循环是可以嵌套的,一个循环体内可以包含另一种循环语句.答案:
第7题C++引入内联函数的原因是用它来取代C中的预处理宏函数。
第8题continue语句只能出现在循环体中.答案:
第9题标识符规定大小写字母没有区别。
第10题构造函数和析构函数都不能重载.答案:
第11题开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间.答案:
第12题C++语言和C语言都是面向对象的程序设计语言。
第13题for循环中,循环变量的作用域是在该循环的循环体内.答案:
第14题break语句可以出现在各种循环体中.答案:
第15题数组元素可以用下标表示,也可以用指针表示。
第16题switch语句中必须有break语句,否则无法退出switch语句.答案:
第17题指针的类型是它所指向的变量或对象的类型。
第18题可以通过typedef增加新的数据类型。
第19题编译系统所提供的系统函数都被定义在它所对应的头文件中.答案:
第20题continue语句只能出现在循环体中。
三、单项选择共50题(共计50分)
第1题以下符号中不能作为标识符的是:
【B】A:
_256B:
voidC:
scanfD:
Struct答案B
第2题C++程序的执行总是从哪里开始的?
A:
main函数B:
第一行C:
头文件D:
函数注答案:
A
第3题合法的数组初始化语句是【】。
A:
chara[]="
string"
B:
inta[5]={0,1,2,3,4,5}C:
inta[]="
D:
chara[]={0,1,2,3,4,5};
答案:
第4题下列for循环的循环体执行次数为【】for(inti(O),j(10);
i=j=10;
i++,j--)无限
第5题下列运算符中优先级最高的是:
【】A:
!
%C:
-=D:
&
第6题在intb[][3]={{1},{3,2},{4,5,6}};
中,b[2][2]的值为【】。
0B:
5C:
6D:
2答C
第7题以下正确的函数定义形式是____
doublefun(intx,inty)B:
doublefun(intx;
inty)
C:
doublefun(intx,inty);
D:
doublefun(intx,y);
8设有定义intx;
floaty;
,则10+x+y值的数据类型是A:
intB:
doubleC:
floatD:
不确定C
第9题C++语言对C语言进行了很多改进,C++语言相对于C语言的最根本的变化是【】
增加了一些新的运算符B:
允许函数重载,并允许设置缺省参数
规定函数说明符必须用原型D:
引进了类和对象的概念答案:
D
第10题在下述对字符数组的描述中,有错误的是【】。
字符数组可以存放字符串B:
字符数组中的字符串可以进行整体输入输出
可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值D:
字符数组的下标从0开始:
C
第11题关于函数返回值的的描述正确的是().A:
函数返回表达式的类型一定与函数的类型相同.B:
函数返回值的类型决定了返回值表达式的类型C:
当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换.D:
函数返回值类型就是返回值表达式类型.答案:
第12题假设有定义charch;
下列输入字符的方法不正确的是().A:
cin.get(ch)
B:
cin>
chC:
get(ch)D:
ch=cin.get()答案:
第13题下面常数中不能作为常量的是()A:
0xA5B:
2.5e-2C:
3e2D:
0583答案:
第14题设有程序段t=0;
while(printf("
*"
))
{t++;
if(t<
3)break;
}则下面描述正确的是____B:
其中循环控制表达式与'
0'
等价
第15题若有说明:
inta[3][4];
则数组a中各元素____
可在程序的运行阶段得到初值0B:
可在程序的编译阶段得到初值0
不能得到确定的初值D:
可在程序的编译或运行阶段得到初值0答案:
B
第16题当执行以下程序段时(A:
循环体将执行一次)x=-1;
do{x=x*x;
}while(!
x);
第17题如果一个函数无返回值,定义时它的函数类型应是(C).A:
任意B:
intC:
voidD:
无
第18题已知:
inti,x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果【】。
for(i=0;
3;
i++)cout<
x[i][2-i]<
'
\t'
C:
357
第19题下述关于break语句的描述中,【C】是不正确的A:
break语句可用于循环体内,它将退出该重循环B:
break语句可用于开关语句中,它将退出开关语句
break语句可用于if体内,它将退出if语句D:
break语句在一个循环体内可以出现多次
第20题表达式9!
=10的值为:
非零值B:
trueC:
0D:
1答案:
第21题在inta[2][3]={{1,0},{3,2}};
中a[1][0]的值是(3)
第22题下面程序段的运行结果是.A:
1,2,0
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
a=b;
b=t;
c--;
}cout<
a<
c;
第23题下面程序的输出是【3】#include<
voidmain()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+2);
}
第24题以下选项中合法的字符常量是()A:
B"
\010'
68D:
D答案:
第25题下面程序段.for(t=1;
t<
=100;
t++){cin>
if(x<
0)continue;
t;
}
当x<
0时整个循环结束B:
x>
=0时什么也不输出C:
printf函数永远也不执行
最多允许输出100个非负整数答案:
第26题C++程序的执行总是从哪里开始的?
main函数
第27题已知a,b均被定义为double型,则表达式:
b=1,a=b+5/2的值为:
(3.0)
第28题C语言规定:
在一个源程序中,main函数的位置____.D:
必须在最后
第29题若有以下说明和语句,且0<
10,则【】是对数组元素的错误引用。
inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;
*(a+i)B:
a[p-a]C:
p+iD:
*(&
a[i])答案:
第30题已知:
intm=10;
下列表示引用的方法中,【】是正确的。
int&
x=m;
y=10;
z;
float&
t=&
m;
第31合法的数组初始化语句是()A:
inta[5]={0,1,2,3,4,5}
chara[]={0,1,2,3,4,5}答案:
第32题在参数传递过程中,对形参和实参的要求是()A:
函数定义时,形参一直占用存储空间
实参可以是常量、变量或表达式C:
形参可以是常量、变量或表达式
形参和实参类型和个数都可以不同答案:
第33题在intb[][3]={{1},{3,2},{4,5,6},{0}};
中,b[2][2]的值为(6).
第34题以下不正确的说法是.C语言规定A:
实参可以是常量、变量或表达式答案:
形参可以是常量、变量或表达式C:
实参可以为任意类型D:
形参应与其对应的实参类型一致
第35题已知函数f的原型是:
voidf(int*x,long&
y);
则以下对函数f正确的调用语句是(其中a和b是实参)
【】A:
f(a,b)B:
f(&
a,b)C:
f(a,&
b)D:
a,&
b)答案:
第36题在inta[2][3]={{1,0},{3,2}};
37(B:
构造函数可以有返回值,也可以有参数,构造函数可以重载;
)不是构造函数的特征.
第38题以下程序的运行结果是【15】。
#include<
voidmain(){inta=0,b=1,c=0,d=20;
if(a)d-=10;
elseif(b)
{if(!
c)d=15;
elsed=25}cout<
d<
endl;
第39题下列四个选项中,均是C语言关键字的选项是____.B:
switchtypedefcontinue
第40题指针是指该变量的(B:
地址)
第41题下面描述正确的是____
两个字符串所包含的字符个数相同时,才能比较字符串B:
字符个数多的字符串比字符个数少的字符串大C:
字符串"
STOP"
与"
STOP"
相等D:
That"
小于字符串"
The"
第42题下面程序的输出结果是(A).#include<
voidmain(){inta[3][3]={{1,2},{3,4},{5}};
intsum=0;
for(intI=1;
I<
I++)
for(intj=0;
j<
=I;
j++)sum+=a[I][j];
sum<
}A:
12B:
14C:
15D:
13
第43题(1.0分)题号:
4182
如果一个函数无返回值,定义时它的函数类型应是(B:
int).
第44题下面程序的运行结果是.#include<
main(){inta=1,b=10;
do{b-=a;
a++;
}while(b--<
0);
a=3,b=11B:
a=2,b=8C:
a=1,b=-1D:
a=4,b=9答案:
第45题以下选项中不是正确的实型常量的是:
(B)A:
3.8E-1B:
0.4e2C:
-43.5D:
243.43e-2
第46题已知学生记录描述为D:
s.birth.year=1984;
s.birth.month=11;
s.birth.day=11;
第47题若有说明:
inta[][4]={0,0};
则下面不正确的叙述是____
数组a的每个元素都可得到初值0B:
二维数组a的第一维大小为1
因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0答案:
第48题若有说明:
inti,j=7,*p;
p=&
则与i=j等价的语句是()
i=*pB:
*p=*&
jC:
i=&
jD:
i=**p答案:
第49题以下选项中不是正确的实型常量的是:
【】
243.43e-2答案:
第50题对两个数组a和b进行如下初始化
chara[]="
ABCDEF"
charb[]={'
A'
'
B'
'
C'
D'
E'
F'
};
则以下叙述正确的是___D:
a数组比b数组长度
数组有关试题
第1题给出以下程序运行的结果【1】
#include<
voidmain(){inta[]={1,2,3,4,5};
intx,y,*p;
p=&
a[0];
x=*(p+2);
y=*(p+4);
*p<
'
y;
}答案:
135
第2题已知:
之后,变量i的结果是【5】
第3题给出以下程序的输出结果是【200】
voidmain(){int*v,b;
}二、单项选择
第1题若有以下语句,且0<
=k<
6,则正确表示数组元素地址的语句是【】
intx[]={1,9,10,7,32,4},*ptr=x,k=1;
x++B:
ptrC:
ptr[k]D:
(x+1)答案:
第2题在intb[][3]={{1},{3,2},{4,5,6}};
中,b[2][2]的值为【6】。
第3题设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是【】A:
k=*p1+*p2;
p2=k;
p1=p2;
k=*p1*(*p2);
第4题下面程序的输出是【3】#include<
}
第5题int*pa[5];
的描述中,【】是正确的。
pa是一个指向数组的指针,所指向的数组是5个int型元素
pa是一个指向某数组中的第5个元素的指针,该元素是int型变量
pa[5]表示某个数组的第5个元素的值
pa是一个具有5个元素的指针数组,每个元素是一个int型指针答案:
第6题下列关于指针的运算中,【】是非法的。
两个指针在一定条件下,可以进行相等或不等的运B:
可以用一个空指针赋值给某个指针
一个指针可以加上两个整数之和D:
两个指针在一定条件下,可以相加答案:
第7题若有说明:
i;
则与i=j等价的语句是【】
i=*p;
j;
i=**p;
第8题若有以下定义和语句,且0<
10,则对数组元素地址的正确表示是【】
inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;
(a+1)B:
a++C:
*pD:
p[i]答案:
第9题在下述对字符数组的描述中,有错误的是【】。
第10题已知:
inta[]={1,2,3,4,5,6},*p=a;
下面表达式中其值为5的是【】
p+=3;
*(p++);
p+=5;
*p++;
p+=4;
*++p;
*p++;
第11题已知:
则下面语句的输出结果【369】。
i++)cout<
第12题若有以下语句:
char*p[2]={"
1234"
"
5678"
}则正确的叙述是【】
p数组的两个元素中各自存放了字符串"
和"
的首地址。
第13题已知:
第14题在C++语言中,二维数组元素在内存中的存放顺序是【】。
按行存放
第15题合法的数组初始化语句是【】。
inta[5]={0,1,2,3,4,5};
3、程序填空
4、第1题
题目:
以下程序将数组中的数据按逆序存放。
{inta[12],i,j,t;
for(i=0;
12;
i++)cin>
a[i];
6;
i++)
/***********SPACE***********/
{【t=a[i];
a[i]=a[11-i];
a[11-i]=t;
】}//数组元素交换
第2题题目:
程序读入10个整数,统计非负数个数,并计算非负数之和。
#include<
{/***********SPACE***********
inti,a[10],s=0,【count=0;
】;
10;
i++)/***********SPACE***********/
【cin>
】for(i=0;
{if(a[i]<
0)/***********SPACE***********/【continue;
】//负数跳过,不参与统计
count++;
/***********SPACE***********/【s+=a[i];
】}
非负数的个数为:
count<
/***********SPACE***********/
非负数之和为:
【s】<
有关函数题型
一、程序填空
第1题题目:
找出数组当中的最大数#include<
int【max】
(intb[],intn);
{intarr[10];
/***********SPACE***********/for(inti=0;
【10】;
arr[i];
/***********SPACE***********/cout<
【max(arr,10)】<
}intmax(intb[],intn)
{intm=0;
for(inti=0;
n;
i++)if(b[i]>
m)m=b[i];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)