C++练习题函数.docx

上传人:b****5 文档编号:8101626 上传时间:2023-01-28 格式:DOCX 页数:7 大小:17.82KB
下载 相关 举报
C++练习题函数.docx_第1页
第1页 / 共7页
C++练习题函数.docx_第2页
第2页 / 共7页
C++练习题函数.docx_第3页
第3页 / 共7页
C++练习题函数.docx_第4页
第4页 / 共7页
C++练习题函数.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

C++练习题函数.docx

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

C++练习题函数.docx

C++练习题函数

1.对于无返回值的函数,必须以作为类型修饰符。

对于有返回值函数,要结束函数运行必须使用语句。

2.以下函数定义中能正确编译的是。

A.doublefun(intx,inty){doublez;z=x+y;returnz;}

B.doublefun(intx,inty){z=x+y;returnz;}

C.doublefun(intx,inty){intx,y;doublez;z=x+y;returnz;}

D.doublefun(intx,y){intz=x+y;returnz;}

3.下列叙述中,不正确的是

A.一个函数中可以有多个return语句B.函数可以通过return语句返回数据

C.必须用一个独立的语句来调用函数D.函数main也可以带有参数

4.已知函数f的定义是“intf(intn){n*=2;returnn+1;}”,则执行“intm=5,n=3;m=f(n);”后m的值是,实参n的值是。

5.有关函数重载的正确说法是。

A.函数名不同,但参数的个数和类型相同

B.函数名相同,但参数的个数不同或参数的类型不同

C.函数名相同,参数的个数和类型也相同

D.函数名相同,函数的返回值不同,而与函数的参数和类型无关

6.以下四组函数原型说明中,满足C++函数重载规则的是。

A.floatf(floatx);voidf(floaty);

B.floatf(floatx);voidf2(floatx,floaty);

C.floatf(floatx,inty);voidf(floaty);

D.floatf(floaty);floatf(floaty);

7.有函数定义“voidf(inta,floatb){……}”,变量定义“inty,floatx;intk”,则以下对函数调用中正确的是

A.f(y,x);B.k=f(y,x);C.voidf(y,x);D.f(inty,floatx);

8.下列函数原型说明语句中错误的是

A.voidp1(intx,inty)B.doublep1(intx,y);

C.floatp1(x,y);D.floatp1(intx,inty);

9.以下程序运行后输出的结果是________。

#include

intf1(intx,inty){returnx>y?

x:

y;}

intf2(intx,inty){returnx>y?

y:

x;}

voidmain()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

cout<

}

A.4,3,7B.3,4,7C.5,2,7D.2,5,7

10.下面程序的输出结果是___________。

#include

intfun(intnum)

{ 

intk=1;

 do{k*=num%10;num/=10;}while(num);

 return(k);

}

voidmain()

{ intn=26;cout<

A.0  B.4  C.12  D.无限次循环

11.以下程序运行后的输出结果是________________。

#include

voidswap(intx,inty)

{intt;t=x;x=y;y=t;cout<

voidmain()

{inta=3,b=4;

swap(a,b);

cout<

}

12.阅读以下程序:

#include

intf(void)//行A1

{//行A2

staticinta,b=10,c=1;//行A3

a+=b;b+=c;returnc=a+b;//行A4

}//行A5

voidmain(void)//行B1

{//行B2

cout<

cout<

}//行B5

请回答以下问题:

①以上程序中静态变量有;初值分别是,所有静态变量的作用域为。

②main函数中两次调用f函数的语句分别是行和行。

③第一次调用f函数结束后变量a的值是,b的值是,c的值是。

④第二次调用f函数结束后变量a的值是,b的值是,c的值是。

⑤A3行语句在整个程序的执行过程中共被执行了次;

程序运行后输出的第一行到第二行分别是________________、________________。

13.阅读以下程序:

#include

intx=100;//行A1

voidmain()//行A2

{//行A3

intx=200;//行A4

x+=:

:

x;//行A5

{//行A6

intx=500;//行A7

:

:

x+=x;//行A8

}//行A9

cout<

cout<<:

:

x<

}//行A12

请回答以下问题:

①以上程序中全局变量是,其作用域是。

②A4行的变量x和A1行的变量x在内存中是否表示同一个单元?

③A5行符号”:

:

”称为运算符,表示。

④A7行的变量x和A4、A1行的变量x在内存中是否表示同一个单元?

⑤A7行的变量所占的内存空间何时被释放?

A10行执行后将输出。

⑦A11行执行后将输出。

14.以下程序输出结果的第一行是,第二行是。

#include

intk;

voidmain(void)

{

k=10;

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

{

intk;k=i+1;

cout<

:

k++;

}

cout<<'\n'<

}

15.以下程序输出的第一行是,第二行是。

#include

intf(intx)

{

staticintu=1;

x+=x;returnu*=x;

}

voidmain(void)

{

intx=10;

cout<

}

16.以下程序输出的第一行是,第二行是。

#include

inta=15;

voidmain()

{

inta=20,b=40;

{

inta=0,b=0;

for(inti=1;i<3;i++)

{

a+=i;b+=a;

}

cout<

:

a<

}

cout<

}

17.下列表示引用的方法中,____________是正确的。

已知:

intm=10;

A.int&x=m;B.int&y=10;

C.int&z;D.float&t=&m;

18.有以下程序:

#include

voidf(inta,int&b)

{intt=a;a=b;b=t;}

voidmain(void)

{

intx=10,y=20;

cout<

f(x,y);//行A

cout<

}

请回答问题:

①函数f的功能:

________________________________________。

②函数f的形参a的传递方式为:

______________,根据该传递方式的特点,当执行完行A后,实参x的值会不会改变?

__________。

③函数f的形参b的传递方式为:

______________,根据该传递方式的特点,当执行完行A后,实参y的值会不会改变?

__________。

④行A可不可以写成f(x,&y);?

____________,为什么?

________________________。

⑤程序的输出结果:

__________________,并上机验证。

19.以下程序输出的第一行是__________,第二行是__________,第三行是__________。

#include

voidfn(int&x)

{

staticinty=1;

x+=y;

y+=x;

cout<

}

voidmain()

{

inty=1;

fn(y);

fn(y);

fn(y);

}

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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