C++语言程序设计试题精选Word文档下载推荐.docx

上传人:b****1 文档编号:15391909 上传时间:2022-10-29 格式:DOCX 页数:23 大小:25.78KB
下载 相关 举报
C++语言程序设计试题精选Word文档下载推荐.docx_第1页
第1页 / 共23页
C++语言程序设计试题精选Word文档下载推荐.docx_第2页
第2页 / 共23页
C++语言程序设计试题精选Word文档下载推荐.docx_第3页
第3页 / 共23页
C++语言程序设计试题精选Word文档下载推荐.docx_第4页
第4页 / 共23页
C++语言程序设计试题精选Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C++语言程序设计试题精选Word文档下载推荐.docx

《C++语言程序设计试题精选Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计试题精选Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

C++语言程序设计试题精选Word文档下载推荐.docx

a>

b;

if( 

) 

cout<

”最大值为:

”<

a;

else 

3.设有一函数,其代码如下:

intpower(x,n)

{

  inti,p;

  for(p=1,i=1;

i<

=n;

++i)

   p=p*x;

return(p);

现要求取消变量i,重写该函数如下,请在空白上填上适当内容。

int 

power(intx,intn)

 intp;

  for(p=1;

n>

0;

__n--____)

  return(p);

4.本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。

如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宣布它是素数,并把该素数的倍数都取走。

这样,第一步以后,筛子中还留下奇数3、5、7、9:

重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。

反复重复上述步骤,直 

至筛中为空时,工作结束,求得2至10中的全部素数。

程序中用数组sieve表示筛子,数组元素sieve[i]的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。

constintMAX=22500;

voidmain()

unsignedinti,range,factor,k;

intsieve[MAX];

"

pleaseinputtherange:

"

range;

/*range指出在多大的范围内寻找素数*/

for(i=2;

=range;

i++) 

/*筛子初始化*/

 

sieve[i]=1 

factor=2;

while(factor<

=range) 

{

if( 

sieve[factor] 

==1 

) 

/*筛子最小数是素数*/

factor<

'

\t'

k=factor;

while(k<

/*移走素数的倍数*/

sieve[k]=-1 

/*筛中的个数减一*/

k=k+factor 

}

factor++;

一、程序阅读

1、inta,b,s;

2、intx=7,y=4,z;

a=12;

b=35;

if(x>

y) 

z=x;

s=a+b;

z=y;

”s=”<

s;

”z=”<

z;

输出结果为:

s=47 

输出结果为:

z=7 

3、intx=6;

4、intx;

while(x++<

5) 

for(x=1;

x<

10;

x++)

”good”;

{if(x%3==0)

“that’stheend”;

x;

输出结果为:

that’stheend 

369 

5、intn=12;

6、inti;

intdata[8];

if(n>

for(i=0;

i<

8;

i++)

{if(n<

11) 

”right!

”;

data[i]=i;

else 

”left!

for(i=7;

i>

=0;

i--)

”center!

data[i];

left 

输出结果为:

76543210 

1、#include<

inta,b,c,;

c=2,c+=10;

a=10;

b=11;

a*=2;

b/=2;

c%=2;

a<

"

b<

c<

endl;

输出结果:

20,5,0

2、#include<

inta=50,b(0);

b=++a;

b=a++;

51,51

52,51

5、#include<

inti;

for(i=4;

=10;

i++)

{if(i%3==0)continue;

i;

457810

6.分析以下程序执行结果

#include<

intadd(intx,inty)

returnx+y;

doubleadd(doublex,doubley)

inta=4,b=6;

doublec=2.6,d=7.4;

add(a,b)<

add(c,d)<

解:

本题说明函数重载的使用方法, 

这里有两个add()函数,一个add()函数的参数与返回值为int型,另一个的参数与返回值为double型,它们是根据参数类型自动区分的。

所以输出为:

10,10

7.分析以下程序的执行结果

classSample

doubled;

public:

voidsetdata(intn){i=n;

voidsetdata(doublex){d=x;

voiddisp()

i="

d="

d<

};

Samples;

s.setdata(10);

s.setdata(15.6);

s.disp();

本题说明重载成员函数的使用方法。

setdata()成员函数有两个,根据其参数类型加以区分。

i=10,d=15.6

8.分析以下程序的执行结果

inta;

int&

b=a;

//变量引用

b=10;

a="

本题说明变量引用的方法。

b是a的引用,它们分配相同的空间,b的值即为a的值。

所以输出为a=10。

注意:

引用是引入了变量或对明的一个义词,引用不产生对象的副本。

9.分析以下程序的执行结果

intx;

Sample(){};

Sample(inta){x=a;

Sample(Sample&

a){x=a.x+1;

voiddisp(){cout<

x="

Samples1

(2),s2(s1);

s2.disp();

本题说明类拷贝构造函数的使用方法。

Sample类的Sample(Sample&

a)构造函数是一个拷贝构造函数,将a对象的x值赋给当前对象的x后加1。

x=3。

10.分析以下程序的执行结果

voidswap(int&

x,int&

y)

inttemp;

temp=x;

x=y;

y=temp;

intx=10,y=20;

swap(x,y);

y="

y<

这里的函数采用引用调用的方式,所以输出为:

x=20,y=10

在函数调用里,引用调用与传址调用的效果相同,但更加简洁直观。

11.分析以下程序的执行结果

inta[]={10,20,30,40},*pa=a;

int*&

pb=pa;

pb++;

*pa<

pa为数组的指针,首先指向a[0],pb是pa的引用,当执行pb++时,也使pa指向了a[1],所以输出为:

20

12.分析以下程序的执行结果

intx;

public:

Sample(){};

Sample(inta){x=a;

Sample(Sample&

a){x=a.x+++10;

voiddisp(){cout<

Samples1

(2),s2(s1);

s1.disp();

s2.dis

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

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

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

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