C++测试14章李.docx

上传人:b****6 文档编号:8467415 上传时间:2023-01-31 格式:DOCX 页数:13 大小:40.37KB
下载 相关 举报
C++测试14章李.docx_第1页
第1页 / 共13页
C++测试14章李.docx_第2页
第2页 / 共13页
C++测试14章李.docx_第3页
第3页 / 共13页
C++测试14章李.docx_第4页
第4页 / 共13页
C++测试14章李.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C++测试14章李.docx

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

C++测试14章李.docx

C++测试14章李

一.单选题

1.程序:

#include

#include

voidmain()

{ints[]={123,234};

cout<

for(inti=0;i<2;i++)

{

cout<

}

}

运行时的输出结果是()。

A

123

234

B

***123

234

C

***123

***234

D

***123

234***

参考答案

B

2.已知数组arr的定义如下:

intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是

A cout<<*arr+1<

B cout<<*(arr+1)<

C cout<

D cout<<*art<

参考答案

D

3.计算斐波那契数列第n项的函数定义如下:

intfib(intn)

{     if(n==0)  return1;

     else if(n==1)  return2;

             else return fib(n-1)+fib(n-2);

}

若执行函数调用表达式fib

(2),函数fib被调用的次数是(     )。

A 1

B 2

C 3

D 4

参考答案

B

4.有如下程序段:

   inti=1;

   while

(1)

  { i++;

     if(i==10)break;

     if(i%2==0) cout<<'*';

   }

执行这个程序段输出字符*的个数是(     )。

A 10

B 3

C 4

D 5

参考答案

C

5.#include

charfun(charx,chary)

{

  if(x

  returny;

}

voidmain()

{

  inta='9',b='8',c='7';

  cout<

}

程序的执行结果是________。

A 函数调用出错

B  8

C  9

D  7

参考答案

D

6.下述关于C++函数的叙述中,正确的是(        )。

A 每个函数至少要具有一个参数

B 每个函数都必须返回一个值

C 函数在被调用之前必须先声明

D 函数不能自己调用自己

参考答案

C

7.下列程序的输出结果是(       )。

#include

voidfun(inta,intb)

{

  inttemp;

  temp=a;

  a=b;

  b=temp;

}

voidmain( )

{

  intm=1,n=2;

  fun(m,n);

  cout<

}

A 12

B 21

C 22

D 程序有错误

参考答案

A

8.程序中有如下语句:

  for(inti=0;i<5;i++)

     cout<<*(p+i)<<",";

能够依次输出int型一维数组a的前5个元素。

由此可知,变量p的定义及初始化语句是(       )

A int*p=a; 

B intp=a;

C *p=a; 

D p=a;

参考答案

A

9.下列程序的输出结果是(      )。

#include

usingnamespacestd;

intmain( )

{

   chara[ ]="Hello,Test";

   char*p=a;

   while (*p)

   {

       if(*p>='a' && *p<='z')

           cout<

       else  cout<<*p;

       p++;

   }

   return0;

}

A hello,test

B Hello,Test

C HELLO,TEST 

D hELLO,tEST

参考答案

C

10.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30、50、-88、0和0,则下列定义语句中错误的是(       )。

A intvect[]={30,50,-88};

B intvect[]={30,50,-88,0,0};

C intvect[5]={30,50,-88};

D intvect[5]={30,50,-88,0,0};

参考答案

A

11.有下列程序:

#include

voidmain( )

{

  intx;

  int&y=x;

  y=99;

  cout<<"x="<

}

则程序的运行结果是(        )。

A x=99

B x=9

C x=0

D 异常

参考答案

A

12.已知语句:

while(!

x)

其中表达式!

x等价于__________。

A x=1

B x!

=0

C x==0 

D x!

=1

参考答案

C

13.下列哪个是C++语言的合法的字符常量__________。

A ”\0” 

B ’054’ 

C ’\x89’

D ’\092’

参考答案

C

14.表达式(1,2,3,4)的结果是__________。

A 1

B 2

C 3

D 4

参考答案

D

15.设有数组定义:

chararray[]="China";,则数组array所占的空间为__________。

A 4个字节

B 5个字节

C 6个字节

D 7个字节

参考答案

C

二.填空题

1若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为__1__。

参考答案

1:

double类型  或  double型  或  双精度  或  双精度类型  或  双精度型  或  double

2.利用表达式a[i]可以访问int型数组a中下标为i的元素。

在执行了语句int*p=a;后,利用指针p也可访问该元素,相应的表达式是__1__。

参考答案

1:

*(p+i)

3.有如下循环语句:

for(inti=50;i>20;i-=2)cout<

运行时循环体的执行次数是__1__次。

参考答案

1:

15

4.#include

voidmain()

{

 chark='c',h='d';

 inti=1,j=2;

 k+=i++;

 h-=--j;

 cout<

}

程序的运行结果:

__1__。

参考答案

1:

dc21

5.下程序计算表达式

的值。

#include

voidmain()

{

 intn,k=1,sum=0,mean;

 cout<<"输入n的值:

";

 cin>>n;

 while(k<=n)

 {

   sum=sum+k*k;

   __1__;

 }

 if(n>0)mean=sum/n;

 elsemean=0;

 cout<<"表达式的值="<

}

填空以完成该程序。

参考答案

1:

k++  或  k=k+1

6.完成以下程序,实现将十进制数1234转换为八进制数:

#include

voidmain( )

{

  __1__;

  f(1234);

}

voidf(intn)

{

  if(n>=8)

    f( __2__ );

  cout<

}

参考答案

1:

voidf(int)  或  voidf(intn)  或  voidf(intn);  或  voidf(int);

2:

n/8  或  (n-n%8)/8  或  (int)(n/8)

7.若以下列程序运行时输出结果为:

1,A,10.1

2,B,3.5

请将程序补充完整。

#include

usingnamespacestd;

intmain(  )

{

  voidtest(int,char,double__1__ );

  test(1,'A',10.1);

  test(2,'B');

  return0;

}

voidtest(inta,charb,doublec)

{

  cout<

}

参考答案

1:

=3.5

8.阅读以下程序:

#include

voidabc(charstr[ ])

{

  inta,b;

  for(a=b=0;str[a]!

='\0';a++)

  if(str[a]!

='c')

  str[b++]=str[a];

  str[b]='\0';

}

intmain( )

{

  charstr[ ]="abcdef";

  abc(str);

  cout<<"str[ ]="<

  return0;

}

程序运行时的输出结果是__1__。

参考答案

1:

str[]=abdef

9.Break语句用于结束整个循环,__1__语句用于结束本次循环。

参考答案

1:

continue

10.

C++语言的参数传递机制包括传值和__1__两种。

参考答案

1:

传地址  或  传址

11.阅读以下程序:

#include

inta=3,b=5;

max(inta,intb)

{  intc;  c=a>b?

a:

b;  return(c);}

voidmain( ){  

inta=8;  

cout<<"max="<

写出其运行结果:

__1__,

参考答案

1:

5

三.问答题(阅读程序写结果)

1.

#include

usingnamespacestd;

intmain()

{

      introw(9);

      inti,j,n;

      n=row/2+1;

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

      {

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

                    cout<<'';

        for(j=1;j<=2*i-1;j++)  

                cout<<'*';

             cout<

      }

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

      {

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

                    cout<<'';

             for(j=1;j<=row-2*i;j++)

                    cout<<'*';

         cout<

      }

   return0;

}

参考答案

*

***

*****

*******

*********

*******

*****

***

*

2.

阅读以下程序:

写出其运行结果:

参考答案

20

3.阅读以下程序:

写出当j=1时,程序运行时的输出结果:

参考答案

s=18

四.编程题

1.

计算分段函数:

 

使用数学函数库函数

doublesqrt(double)来计算平方根,

doublesin(double)来计算正弦,

doublecos(double)来计算正弦。

2.求[1000,2000]之间最小的素数和最大的素数。

要求判断一个数是否为素数的函数原型为:

intisPrime(intx);

若x是素数,则返回1,否则返回0。

提示:

intisPrime(intx)//函数isPrime(x)的定义,若x是素数,则返回1;否则返回0

{intn;

for(n=2;n

if(x%n==0)return(0);

return1;

}

 

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

当前位置:首页 > PPT模板 > 其它模板

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

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