c++习题集--函数

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效2.有以下程序voidfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,z);printf(%d,%d,%d\n,z,y,x);}输出结果是A)30,20,10B)10,20,30C)456,567,678D)678,567,4563.有以下程序#includestdio.hmain(){inta=24,b=16,c;c=abc(a,b);printf('%d\n,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w}returnu;}输出结果是A)6B)7C)8D)94.以下程序的输出结果是#includestdio.hintfun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=4,m=1,k;k=fun(j,m);printf(%d,,k);k=fun(j,m);printf(%d\n,k);}5.以下程序运行后,输出结果是A)84B)99C)95D)44intd=1;fun(intp){intd=5;d+=p++;printf(“%d”,d);}main(){inta=3;fun(a);d+=a++;printf(“%d\n”,d);}6.下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。voidadd(intx,inty,[1]z){[2]=x+y;}7.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A)3B)4C)5D)有语法错8.有如下程序intrunc(inta,intb){return(a+b);}main0{intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d\n”,r);}该程序的输出的结果是A)12B)13C)14D)159.有如下程序longfib(intn){if(n2)return(fib(n-1)+fib(n-2));elsereturn(2);}main0{printf(“%d\n”,fib(3));该程序的输出结果是A)2B)4C)6D)810.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。voidfunc(intx,inty,[?]z){*z=x+y;}11.以下程序的输出结果是。voidfun(){staticinta=0;a+=2;printf(“%d”,a);}main(){intcc;for(cc=1;cc4;cc++)fun()printf(“\n”);}12.以下所列的各函数首部中,正确的是A)voidplay(var:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)13.以下程序的输出结果是A)0B)29C)31D)无定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(%d,a);}14.以下程序的输出结果是A)1B)2C)3D)4longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf(%ld\n,fun(3));}15.函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)现在请你在下面的函数中填空,完成求π的功能。#include“math.h”doublepi(longn){doubles=0.0;longi;for(i=1;i=n;i++)s=s+?;return(sqrt(6*s));}16.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定17.以下函数值的类型是fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)float18.设有以下函数:f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){inta=2,i;for(i=0;i3;i++)printf(%d\n,f(a));}A)7B)7C)7D)78910791113719.以下程序的输出结果是inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf(%d%d\n,a,b);}A)100200B)57C)200100D)7520.以下程序输出的最后一个值是。intff(intn){staticintf=l;f=f*n;returnf;}main(){inti;for(i=1;i=5;i++,printf(%d\n,ff(i)));}21.以下函数的功能是:求x的y次方,请填空。doublefun(doublex,inty){inti;doublez;for(i=1,z=x;iy;i++)z=z*?;returnz;}22.以下程序的输出结果是intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i5;i++)a+=f();printf(%d\n,a);}A)20B)24C)25D)1523.若有以下程序includestdio.hvoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf(%d\n,n);}则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无值型24.以下程序的输出的结果是《》intx=3;main(){inti;for(i=1;ix;i++)incre();}incre(){staticintx=1;x*=x+1;printf(%d,x);}A)33B)22C)26D)25答案:1D2A3C4【8,17】5A6【int*】【*z】7A8D9B10【int*】11【246】12C13C14A15【1.0/(i*i)】16B17A18A19B20【720】21【x】22D23C24C

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功