C++题库.docx

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

C++题库.docx

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

C++题库.docx

C++题库

7、写出下列程序的运行结果。

#include

usingnamespacestd;

intfun(intx)

{

if(x<=0)

{

return0;

}

else

returnx*x+fun(x-1);

}

intmain()

{

intx=fun(3);

cout<

return0;

}

答案:

14

8、写出下列程序的运行结果。

#include

usingnamespacestd;

intfun(inta=10,intb=100)

{

returna+b;

}

intmain()

{

intx=100;

cout<

return0;

}

答案:

200

9、写出下列程序的运行结果。

#include

usingnamespacestd;

voidfun(inta[],intn,int&s)

{

s=0;

for(inti=0;i

s+=a[i];

}

intmain()

{

intx[5]={2,7,5,4,9};

intm;

fun(x,5,m);

cout<

return0;

}

答案:

16

10、写出下列程序的运行结果。

#include

usingnamespacestd;

intmax(intx,inty)

{

returnx>y?

x:

y;

}

intmax(intx,inty,intz)

{

intt;

t=max(x,y);

returnt>z?

t:

z;

}

intmain()

{

intx=5,y=8,z=3;

cout<

return0;

}

答案:

8

11、运行下列程序

longfib(intg)

{switch(g)

{case0:

return0;

case1:

return1;

case2:

return1;

}

return(fib(g-1)+fib(g-2));

}

main()

{longk;

k=fib(5);

cout<

}

其输出结果是:

答案:

5

【编程题】选做

1、设计两个函数,分别求两个数的最大公约数和最小公倍数。

答案:

pa301.txt

#include

usingnamespacestd;

maxCommonDevisor(intn,intm){

inti;

for(i=n;i>=1;i--)

if(n%i==0&&m%i==0)break;

returni;}

minCommonMultiple(intn,intm){

inti;

for(i=n;i<=n*m;i++)

if(i%n==0&&i%m==0)break;

returni;}

intmain(){

inti,j;

cout<<"请输入两个整数:

"<

cin>>i>>j;

cout<<"最大公约数:

"<

<<'\t'<<"最小公倍数:

"<

return0;}

2、设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数。

两个实数求余定义为实数四舍五入取整后相除的余数。

答案:

pfa302.txt

#include

#include

usingnamespacestd;

mod(intn,intm){

returnn%m;

}

round(doublex){//四舍五入函数

if(x>=0)returnint(x+0.5);

elsereturnint(x-0.5);

}

mod(doublex,doubley){

returnround(x)%round(y);

}

intmain(){

cout<<"mod(8,3)="<

cout<<"mod(8.2,3.6)="<

cout<<"mod(-8.2,-2.6)="<

return0;

}

【程序改错题】选做

【章节】第4章数组

【单选题】

1、若有以下程序:

#include

usingnamespacestd;

intmain()

{

intI;

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

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

cout<

cout<

return0;

}

执行后的输出结果是()。

A.495255B.147C.258D.505356

答案:

C

2、下面程序的运行结果是()。

#include

voidmian()

{charch[7]={“12ab56”};

intI,s=0;

for(I=0;ch[I]>=’0’&&ch[I]<=’9’;I+=2)

s=10*s+ch[I]-‘0’;

cout<

}

A.1

B.12a56b

C.12ab56

D.1256

答案:

A

3、若有以下程序:

voidmain()

{inta[]={4,0,2,3,1},I,j,t;

for(I=1;I<5;I++)

{t=a[I];j=I-1;

while(j>=0&&t>a[j])

{

a[j+1]=a[j];

a[j]=t;

j--;

}

}

}

则该程序段的功能是()。

A.对数组a进行插入排序(升序)

B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)

D.对数组a进行选择排序(降序)

答案:

B

4、若有说明“inta[3][4]={0};”,则下面正确的是()。

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a各元素都可得到初值,但其值不一定是0

D.数组a中每个元素均可得到初值0

答案:

D

5、以下程序的输出结果是()。

#include

intmain()

{

charb[]=”Hello,you”;

b[5]=0;

cout<

}

A.Hello,youB.HelloC.HeloOyouD.Hell

答案:

B

6、当执行下面的程序时,如果输入ABC,则输出结果是()。

#include

#include

intmain()

{

charss[10]=”1,2,3,4,5”;

cin>>ss;

strcat(ss,”6789”);

cout<

}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

答案:

A

7、以下程序的输出结果是()。

#include

intmain()

{

intb[3][3]={0,1,2,0,1,2,0,1,2},I,j,t=1;

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

for(j=I;j<=I;j++)

t=t+b[I][b[j][j]];

cout<

}

A.3B.4C.1D.9

答案:

B

8、以下不能正确赋进行字符串赋初值的语句是()。

A.charstr[5]=”good!

”;

B.charstr[]=”good!

”;

C.char*str=”good!

”;

D.charstr[5]={‘g’,’o’,’o’,’d’};

答案:

A

9、以下不能正确定义二维数组的选项是()。

A.inta[2][2]={{1},{2}};

B.inta[2][2]={{1},2,3};

C.inta[2][]={{1,2},{3,4}};

D.inta[][2]={1,2,3,4};

答案:

C

10、在”intb[][3]={{1},{3,2},{4,5,6},{0}};”,中b[2][2]的值是()。

A.0B.5C.6D.2

答案:

C

11、对于”int*pa[5];”的描述,()是正确的

A.pa是一个指向数组的指针,所指向的数组时5个int型元素

B.pa是一个指向某数组第5个元素的指针,该元素是int型元素

C.pa[5]表示某个数组的第5个元素的值

D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针

答案:

D

12、在下列对字符数组进行初始化中()是正确的

A.chars1[]=”abcd”;

B.chars2[3]=”xyz”;

C.chars3[][]={‘a’,’x’,’y’};

D.chars4[2][3]={“xyz”,”mnp”};

答案:

A

13、有以下程序:

main()

{chara[10]=”AbcdEfg9”,b[10];

intj,k=0;

for(j=0,k=0;a[j]!

='\0';j++)

{if((a[j]>=’A’&&a[j]<=’Z’||(a[j]>=’0’&&a[j]<=’9’))

{b[k]=a[j];k++;}

}

b[k]=0;

cout<

}

执行结果为()。

A.AbcdEfg9B.bcdfgC.AE9D.以上都不正确

答案:

D

14、有以下程序:

main()

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

intI,j,k=2;

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

{cout<

}

执行结果是()。

A.456B.258C.369D.789

答案:

C

15、以下程序的输出结果是()。

#include

#include

intmain()

{

charst[20]=”hello\0\t”;

cout<

}

A.99B.520C.1320D.2020

答案:

B

16、有以下程序:

#include

#include

usingnamespacestd;

intmain()

{

chars[]="\n123\\";

cout<

}

该程序执行后的输出结果是()。

A.赋初值的字符串有错B.6,7C.5,6D.6,6

答案:

C

17、如有以下定义语句:

inta[10];floatb[2];

则sizeof(a)和sizeof(b)的值为()。

A.24B.102C.408D.00

答案:

C

18、如有数组名作为实参,则传递给形参的是()。

A.数组的首地址

B.第一个元素的值

C.数组中全部元素的值

D.数组元素的个数

答案:

A

19、有下列程序段:

#include

usingnamespacestd;

intmain(){

charb[]=”Hello,you”;

b[5]=0;

cout<

return0;

}

执行此程序后,得到的输出结果是()。

A.Hello,youB.HelloyouC.HelloD.0

答案:

C

20、若有说明”inta[][4]={0,0};”则下列正确的叙述是()。

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a中个元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可到初值0

答案:

B

21、以下程序的输出结果是()。

#include

#include

intmain()

{

charst[20]=”hello\0\t”;

cout<

}

A.99B.520C.1320D.2020

答案:

B

22、有以下程序:

#include

#include

usingnamespacestd;

intmain()

{

chars[]="\n123\\";

cout<

}

该程序执行后的输出结果是()。

A.赋初值的字符串有错B.6,7C.5,6D.6,6

答案:

C

23、如有以下定义语句:

inta[10];floatb[2];

则sizeof(a)和sizeof(b)的值为()。

A.24B.102C.00D.408

答案:

D

24、如有数组名作为实参,则传递给形参的是()。

A.数组的首地址B.第一个元素的值C.数组中全部元素的值

D.数组元素的个数答案:

A

25、有下列程序段:

#include

usingnamespacestd;

intmain(){

charb[]=”Hello,you”;

b[5]=0;

cout<

return0;

}

执行此程序后,得到的输出结果是()。

A.Hello,youB.HelloyouC.HelloD.0

答案:

C

26、若有说明”inta[][4]={0,0};”则下列正确的叙述是()。

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a中个元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可到初值0

答案:

B

27、以下各组选项中,均能正确定义二维实型数组a的选项是()。

A.floata[3][4];floata[][4];floata[3][]={{1},{0}};

B.floata(3,4);floata[3][4];floata[][]={{0},{0}};

C.floata[3][4];floata[][4]={{0},{0}};floata[][4]={{0},{0},{0}};

D.floata[3][4];floata[3][];floata[][4];

答案:

C

28、以下程序的输出结果是()。

#include

voidmain()

{

intI,x[3][3]={1,2,3,4,5,6,7,8,9};

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

cout<

}

A.1,5,9B.1,4,7C.3,5,7D.3,6,9

答案:

C

29、以下程序的输出结果是()。

#include

intmain()

{

inta[3][3]={{1,2},{3,4},{5,6}},I,j,s=0;

for(I=1;I<3;I++)

for(j=0;j<=1;j++)s+=a[I][j];

cout<

}

A.18B.19C.20D.21

答案:

A

30、在C++语言中引用数组元素时,其数组下标的数据类型允许的是()。

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

答案:

C

31、有下列程序段:

#include

usingnamespacestd;

intmain(){

charb[]=”Hello,you”;

b[5]=0;

cout<

return0;

}

执行此程序后,得到的输出结果是()。

A.Hello,youB.HelloyouC.HelloD.0

答案:

C

32、若有说明”inta[][4]={0,0};”则下列正确的叙述是()。

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a中个元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可到初值0

答案:

B

33、以下各组选项中,均能正确定义二维实型数组a的选项是()。

A.floata[3][4];floata[][4];floata[3][]={{1},{0}};

B.floata(3,4);floata[3][4];floata[][]={{0},{0}};

C.floata[3][4];floata[][4]={{0},{0}};floata[][4]={{0},{0},{0}};

D.floata[3][4];floata[3][];floata[][4];

答案:

C

34、以下程序的输出结果是()。

#include

voidmain()

{

intI,x[3][3]={1,2,3,4,5,6,7,8,9};

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

cout<

}

A.1,5,9B.1,4,7C.3,5,7D.3,6,9

答案:

C

35、以下程序的输出结果是()。

#include

intmain()

{

inta[3][3]={{1,2},{3,4},{5,6}},I,j,s=0;

for(I=1;I<3;I++)

for(j=0;j<=1;j++)s+=a[I][j];

cout<

}

A.18B.19C.20D.21

答案:

A

36、以下选项中,不能正确赋值的是()。

A.chars1[10];s1=”Ctest”;

B.chars2[]={‘C’,’t’,’e’,’s’,’t’};

C.chars3[20]=”Ctest”;

D.chars4=”Ctest\n”;

答案:

A

37、以下能正确定义一维数组的选项是()。

A.intnum[];

B.intnum[0…100];

C.#definen100intnum[n]

D.intn=100intnum[n];

答案:

C

38、有如下数组声明”intvalues[30];”,下标值引用错误的是()。

A.values[30]B.values[20]C.values[10]D.values[0]

答案:

A

39、有以下程序:

main()

{chara[]=”ABCDEFG”;

intm,n,t;

m=0;

n=strlen(a)-1;

while(m

{t=a[m];a[m]=a[n];a[n]=t;

m++;n--;}

cout<

}

执行结果为().

A.ABCDEFGB.ABCGEFDC.GFEDCBAD.不正确

答案:

C

40、以下程序的输出结果是().

main()

{inta[8]={1,2,3,4,5,6,7,8},sum,I;

for(I=0;I<8;I=I+2)

{sum=sum+a[I];}

cout<<“sum=”<

A.输出一个不正确的值B.sum=36C.sum=20D.sum=16

答案:

D

41、下列说法正确的是().

A.数组如果没有初始化,也没有被赋值,则每个元素的默认值为0

B.在给数组初始化时,可以只给其中几个元素赋初值

C.数值型数组不能使用赋值语句整体赋值,但字符型数组可以使用赋值语句整体赋一个字符串

D.用一个字符型数组来存放字符串时,可以存放与数组长度祥等数目的有效字符

答案:

B

42、下列说法正确的是()。

A.在定义一维数组时,数组长度可以任意整形表达式表示

B.在定义二维数组时,数组的第一维和第一维长度只能省略其中一个

C.数组元素的下标可以用整型表达式或整型常量表示

D.数组元素的下标必须为整形常量

答案:

C

43、对两个数组a和b进行如下初始化:

chara[]=”ABCDEF”;

charb[]={‘A’,’B’,’C’,’D’,’E’,’F’};

则下面描述正确的是()。

A.a和b数组完全相同

B.a和b中都存放字符串

C.sizeof(a)比sizeof(b)大

D.sizeof(a)与sizeof(b)相同

答案:

C

44、以下程序的输出结果是()。

#include

usingnamespacestd;

intmain()

{

charw[][10]={"ABCD","EFGH","IFKL","MBOP"},k;

fo

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

当前位置:首页 > PPT模板 > 可爱清新

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

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