版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章函数5.1选择题1.C语言是由()构成。主程序和子程序主函数和若干子函数一个主函数和一个其余函数主函数和子程序2.以下说法中正确的选项是()。C语言程序老是从第一个的函数开始履行在C语言程序中,要调用的函数一定在main( )函数中定义C语言程序老是从main( )函数开始履行C语言程序中的main( )函数一定放在程序的开始部分3.以下对C语言函数的相关描绘中,正确的选项是()。调用函数时,只好把实参的值传递给形参,形参的值不可以传递给实参C函数既能够嵌套定义又能够递归调用函数一定有返回值,不然不可以使用函数C程序中有调用关系的所有函数一定放在同一个源程序言件中4.C语言程序中,当函数调用时()。实参和形参各占一个独立的储存单元实参和形参共用一个储存单元能够由用户指定能否共用储存单元计算机系统自动确立能否共用储存单元5.对于return语句,以下正确的说法是()。在主函数和其余函数中均要出现一定在每个函数中出现能够在同一个函数中出现多次只好在除主函数以外的函数中出现一次6.一个函数返回值的种类是由()决定的。return语句中表达式的种类在调用函数时暂时指定定义函数时指定的函数种类调用该函数的主调函数的种类7.在C语言的函数中,以下正确的说法是()。一定有形参形参一定是变量名能够有也能够没有形参数组名不可以作形参8.以下描绘正确的选项是()。函数调用能够出此刻履行语句或表达式中函数调用不可以作为一个函数的实参C.函数调用能够作为一个函数的形参D.以上都不正确9.在调用函数时,假如实参是简单变量,它与对应形参之间的数据传达方式是(A.地点传达B.单向值传达C.由实参传给形参,再由形参传回实参D.传达方式由用户指定10.当调用函数时,实参是一个数组名,则向函数传递的是()。A.数组的长度B.数组的首地点C.数组每一个元素的地点D.数组每个元素中的值11.假如在一个函数的复合语句中定义了一个变量,则该变量()。
)。只在该复合语句中有效,在该复合语句外无效在该函数中任何地点都有效在本程序的源文件范围内均有效此定义方法错误,其变量为非法变量12.以下说法不正确的选项是()。主函数main中定义的变量在整个文件或程序中有效不一样函数中,能够使用同样名字的变量形式参数是局部变量在一个函数内部,能够在复合语句中定义变量,这些变量只在本复合语句中有效13.在一个源程序言件中定义的全局变量的有效范围是()。根源程序言件的所有范围一个C程序的所有源程序言件函数内所有范围从定义变量的地点开始到源程序言件结束14.以下表达中不正确的选项是()。在不一样的函数中能够使用同样名字的变量函数中的形式参数是局部变量在一个函数内定义的变量只在本函数范围内有效在一个函数内的复合语句中定义的变量在本函数范围内有效15.假如要限制一个变量只好为本文件所使用,一定经过()来实现。A.外面变量说明B.静态局部变量C.静态外面变量D.局部变量说明16.以下哪一种数据不寄存在动向储存区中()。A.函数形参变量B.局部自动变量C.函数调用时的现场保护和返回地点D.局部静态变量17.以下表达中不正确的选项是()。函数中的自动变量能够赋初值,每调用一次,赋一次初值。在调用函数时,实在参数和对应形参在种类上只要赋值兼容。外面变量的隐含类型是自动储存类型。函数形参能够说明为register变量。18.以下只有在使用时才为该种类变量分派内存的储存类说明是(A.auto和staticB.auto
和
)。registerC.register
和
static
D.extern
和
register19.C语言中,函数值种类的定义能够缺省,此时函数值的隐含种类是()。20.在
C语言中,函数的隐含储存类型是(
)。A.auto
B.static
C.extern
D.
无储存类型21.在
C语言中,形参的缺省储存类是(
)。A.auto
B.register
C.static
D.extern22.如有以下程序#include<>voidf(intn);main( ){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}则以下表达中不正确的选项是()。A.若只在主函数中对函数f进行说明,则只好在主函数中正确调用函数f若在主函数前对函数f进行说明,则在主函数和以后的其余函数中都能够正确调用函数fC.对于以上程序,编译时系统会提示犯错信息:提示对f函数重复说明函数f无返回值,因此可用void将其种类定义为无值型23.以下所列的各函数首部中,正确的选项是()。voidplay(var:Integer,varb:Integer)voidplay(inta,b)voidplay(inta,intb)Subplay(aasinteger,basinteger)24.有以下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是()。25.如有以下函数调用语句:的个数是()。
D.fun(a+b,(x,y),fun(n+k,d,(a,b)));
有语法错在此函数调用语句中实参B.426.以下函数值的种类是()。fun(floatx){floaty;y=3*x-4;returny;}A.intB.不确立C.voidD.float27.以下函数定义不正确的选项是()。A.intmax( )B.intmax(x,y){intx,y,z;z=x>y?x:y;}
intx,y;{intz;z=x>y?x:y;return(z);}C.intmax(x,y){intx,y,z;z=x>y?x:y;return(z);}
D.intmax( ){}28.以下程序的运转结果是(
)。main( ){inti=3;printf("%d,%d,%d\n",i,i++,i++);}A.5,5,4B.3,4,5C.3,3,4D.5,4,329.以下程序的输出结果是()。fun(intx,inty,intz){z=x*x+y*y;}main( ){inta=31;fun(5,2,a);printf("%d",a);}A.0B.29C.31D.无定值30.以下程序履行后的输出结果是()。voidfunc1(inti);voidfunc2(inti);charst[]="hello,friend!";voidfunc1(inti){printf("%c",st[i]);if(i<3){i+=2;func2(i);}}voidfunc2(inti){printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main( ){inti=0;func1(i);printf("\n");}D.hlm31.有以下程序intfunc(inta,intb){return(a+b);}main( ){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出的结果是()。32.有以下程序floatfun(intx,inty){return(x+y);}main( ){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运转后的输出结果是()。A.编译犯错B.9C.21D.33.有以下程序#include""intabc(intu,intv);main( ){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.934.阅读以下函数:fun(chars[],chart[]){inti=-1;while(++i,s[i]==t[i]
&&s[i]!=
’
0’);return(s[i]==
’0’&&t[i]==
’
0’);}以上函数的功能是(A.比较串s和tC.比较串s和t
)。的长度能否相等
B.D.
比较串将串t
s和t赋给串
的大小s35.以下程序的输出结果是()。f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}main( ){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}A.10
B.18
C.8
D.1536.以下程序中函数
reverse
的功能是将
a所指数组中的内容进行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main( ){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序运转后的输出结果是()。37.请读程序:#include<>func(inta,intb){intc;c=a+b;returnc;}main( ){intx=6,y=7,z=8,r;r=func((x--,y--,x+y),z--);printf("%d\n",r);}上边程序的输出结果是()。38.请读程序:#include<>f(inb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main( ){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}上边程序的输出结果是()。D.639.下边程序的输出是()。main( ){intt=1;fun(fun(t));}fun(inth){staticinta[3]={1,2,3};intk;for(k=0;k<3;k++)a[k]+=a[k]-h;for(k=0;k<3;k++)printf("%d",a[k]);printf("\n");return(a[h]);},2,3,,3,5,C.1,3,5,D.1,3,5,1,5,9,1,3,5,0,4,8,-1,3,7,40.有以下程序longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main( ){printf("%d\n",fib(3));}该程序的输出结果是( )。41.以下程序的输出结果是()。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main( ){printf("%ld\n",fun(3));}A.1B.2C.3D.442.以下程序的输出结果是()。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main( ){printf("%d\n",func(9));}A.7B.2C.0D.343.有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main( ){inti,j=0;for(i=1;i<3;i++)j+=f(i);printf("%d\n",j);}程序运转后的输出结果是()。44.下边程序的输出是()。intw=3;main( ){intw=10;printf("%d\n",fun(5)*w);}fun(intk){if(k==0)returnw;return(fun(k-1)*k);}A.360B.3600C.1080D.120045.以下程序的输出结果是()。#include""inti=5;main( ){inti=3;{inti=10;i++;}f1( );i+=1;printf("%d\n",i);}intf1( ){i=i+1;return(i);}.4C46.以下程序的输出结果是()。inta,b;voidfun( ){a=100;b=200;}main( ){inta=5,b=7;fun( );printf("%d%d\n",a,b);}D.7547.以下程序输出结果是()。main( ){inti;for(i=0;i<2;i++)add( );}add( ){intx=0;staticinty=0;printf("%d,%d\n",x,y);x++;y=y+2;}A.0,0B.0,0C.0,0D.0,00,00,21,01,248.设有以下函数:f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}假如在下边的程序中调用该函数,则输出结果是()。main( ){inta=2,i;for(i=0;i<3;i++)printf("%d\n",f(a));}A.7B.7C.7D.78910791113749.以下程序的输出的结果是()。intx=3;main( ){inti;for(i=1;i<x;i++)incre( );}incre( ){staticintx=1;x*=x+1;printf("%d",x);}A.33B.22C.26D.2550.有以下程序inta=3;main( ){ints=0;{inta=5;s+=a++;}s+=a++;printf("%d\n",s);}程序运转后的输出结果是()。51.下边程序的输出是()。fun3(intx){staticinta=3;a+=x;return(a);}main( ){intk=2,m=1,n;n=fun3(k);n=fun3(m);printf("%d\n",n);}A.3B.4C.6D.952.下边程序的输出是()。intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main( ){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}53.以下程序履行后输出的结果是()。#include<>f(inta){intb=0;staticc=3;a=c++,b++;return(a);}main( ){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}A.3B.0C.5D.454.以下程序履行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d",d);}main( ){inta=3;fun(a);d+=a++;printf("%d\n",d);}A.84B.96C.94D.8555.以下程序的输出结果是()。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main( ){inta=3;printf("%d\n",fun(a+fun(d)));}5.2填空题1.下边程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main( ){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d%d\n",c,d);}2.下边程序运转后的输出结果是________。voidfun(intx,inty){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main( ){intx=2,y=3;fun(x,y);printf(“%d,%dn”,x,y);}3.下边程序的输出结果是________。voidfun( ){staticinta=0;a+=2;printf("%d",a);}main( ){intcc;for(cc=1;cc<4;cc++)fun( );printf("\n");}4.下边程序输出的最后一个值是________。intff(intn){staticintf=1;f=f*n;returnf;}main( ){inti;for(i=1;i<=5;i++)printf("%5d",ff(i));}5.下边程序运转结果为________。#include<>main( ){inti;for(i=0;i<2;i++)as( );}as( ){intlv=0;staticintsv=0;printf("%d,%d\n",lv,sv);lv++;sv++;return;}6.下边程序的输出是________。unsignedfun6(unsignednum){unsignedk=1;do{k*=num%10;num/=10;}while(num);return(k);}main( ){unsignedn=26;printf("%d\n",fun6(n));}7.下边程序的输出结果是________。#include<>fun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main( ){printf("%d\n",fun(9));}8.下边程序的输出是________。longfun5(intn){longs;if((n==1)||(n==2))s=2;elses=n+fun5(n-1);return(s);}main( ){longx;x=fun5(4);printf("%ld\n",x);}9.下边程序的输出是________。#defineMAX5inta[MAX],k;main( ){fun1( );fun3( );fun2( );fun3( );printf("\n");}fun1( ){for(k=0;k<MAX;k++)a[k]=k+k;}fun2( ){inta[MAX],k;for(k=0;k<5;k++)a[k]=k;}fun3( ){intk;for(k=0;k<MAX;k++)printf("%d",a[k]);}10.下边程序的运转结果是________。#include<>main( ){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;returnm;}11.下边程序运转结果是________。main( ){intx=2,n=3;printf("%d\n",power(x,n));}power(intx,intn){intp;if(n>0)p=power(x,n-1)*x;elsep=1;return(p);}12.下边程序从键盘输入:5647,输出结果是________。#include<>voidconvert(intn){inti;if((i=n/10)!=0)convert(i);putchar(n%10+’0’);}main( ){intnumber;scanf("%d",&number);if(number<0){putchar(
‘-’);number=-number;}convert(number);}13.输入
Iamastudent.
时,下边程序运转结果是
________。#include<>main( ){inti,c,num=0,word=0;charstring[81];gets(string);for(i=0;c=string[i];i++)if(c==
’’)word=0;elseif(word==0){word=1;num++;}printf("%d",num);}14.下边程序的运转结果是
________。#include<>longfib(intg){switch(g){case0:return0;case1:case2:return(1);}return(fib(g-1)+fib(g-2));}main( ){longk;k=fib(5);printf("%d\n",k);}15.设在主函数中有以下定义和函数调用语句,且
fun
函数为
void
种类;请写出
fun
函数的首部【1】。(要求形参名为b。)main( ){doubles[10][22];intn;┆┆fun(s);┆}16.以下程序中,主函数调用了LineMax函数,实此刻N行M列的二维数组中,找出每一行上的最大值。请填空。#defineN3#defineM4voidLineMax(intx[N][M]){inti,j,p;for(i=0;i<N;i++){p=0;for(j=1;j<M;j++)if(x[i][p]<x[i][j])【1】;printf("Themaxvalueinline%dis%d\n",i,【2】);}}main( ){intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};3】;}17.下边函数的功能是:求x的y次方,请填空。doublefun(doublex,inty){inti;doublez;for(i=1,z=x;i<y;i++)z=z*【1】;returnz;}18.若已定义:inta[10],i;,以下fun函数的功能是:在第一个循环中给前10个数组元素挨次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变为1、2、3、4、5、5、4、3、2、1。请填空。fun(inta[]){inti;for(i=1;i<=10;i++)【1】=i;for(i=0;i<5;i++)【2】=a[i];}19.下边函数的功能是计算s111,请填空。11*21*2*31*2*3*4**ndoublefun(intn){doubles=,fac=;inti;for(i=1,i<=n;i++){fac=fac【1】;s=s+fac;}returns;}20.下边pi函数的功能是,依据以下公式返回满足精度e要求的p的值。依据以下算法补足所缺语句。p11*21*2*31*2*3**n2*(1)1*31*3*51*3*5*71*3*5*7*2n1doublepi(doubleeps){doubles=,t=;intn;for(【1】;t>eps;n++){s+=t;t=n*t/(2*n+1);}return*【2】);}21.读下边的程序,填空完美程序。main( ){inta,b,c;scanf("%d%d",【1】);c=【2】(a,b);printf("a=%d,b=%d,c=%d\n",a,b,c);}intmax(x,y)3】;{intz;if(x>y)z=x;elsez=y;4】;}22.下边程序依据对x的输入,求1到x的累加和。floatfun(intn){inti;floatc;1】;for(i=1;i<=n;i++)c+=i;2】;}main( ){intx;scanf("%d",
【3】
);printf("%f\n",fun(x));}23.分别计算并输出1!,2!,3!,4!和main( ){inti;for(i=1;i<=5;i++)printf("%d!=%d\n",i,}
5!。
【1】
);intfac(intn){【2】f=1;f*=n;return(f);}24.求出数组中的最大、最小元素值以及所有元素的均值。1】;floataverage(intn,floatarray[]){inti;floatsum;max=min=sum=【2】;for(i=1;i<n;i++){sum+=array[i];if(max<array[i])max=array[i];if(min>array[i])min=array[i];}return(sum/n);}main( ){inti;floataver,score[10];printf("input10score:\n");for(i=0;i<10;i++)scanf("%f",【3】);aver=average(10,score);printf("max=%.2f\nmin=%.2f\naverage=%.2f\n",max,min,aver);}25.下边程序的功能是找出三个字符串中最大串,填空完美程序。1】#include<>main( ){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(【2】);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);if(strcmp(str[2],string)>【3】)strcpy(string,str[2]);printf("thelargeststringis\n%s\n",string);}26.本程序的函数ver是使输入的字符串按反序寄存,在主函数中输入和输出字符串。main( ){charstr[100];scanf("%s",str);ver(str);printf("%s\n",str);}ver(【1】){chart;inti,j;for(i=0,j=strlen(str);i<strlen(str)/2;i++,j--){t=str[i];【2】;【3】;}}27.用“起泡法”对输入的10个字符排序后按从小到大的序次输出。#defineN10charstr[N];main( ){inti,flag;for(flag=1;flag==1;){scanf("%s",str);flag=0;printf("\n");}sort(【1】);for(i=0;i<N;i++)printf("%c",str[i]);printf("\n");}sort(charstr[N]){inti,j;chart;for(j=1;j<N;j++)for(i=0;(i<N-
j)&&(str[i]!=
’0’);i++)if(str[i]>str[i+1]){t=str[i];
【2】
;
【3】
;}}28.用选择法对数组进行由小到大排序。voidsort(n,array)【1】;{inti,j,k,t;for(i=0;i<n-1;i++){k=i;for(【2】;j<n;j++)if(array[k]>array[j])k=j;t=array[i];array[i]=array[k];array[k]=t;}}main( ){inti,a[10];printf("inputthearray:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);3】;printf("thesortedarray:\n");for(i=0;i<10;i++)printf("%6d",a[i]);}29.用递归方法求n!。floatfac(intn){floatf;if(n<0)printf("n<0,dataerror!");elseif(【1】)f=1;elsef=【2】;return(f);}main( ){intn=6;floaty;printf("\n");【3】;printf("%d!=%5.0f",n,y);}30.程序调用prime函数,判断输入的一个整数能否为素数,是则打印YES,不然打印NO.#include""main( ){intx;printf("输入一个整数给if(prime(x))printf("YES\n");elseprintf("NO\n");}prime(inta){inte,i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度厂房绿化工程合同
- 《勃海西进报告》课件
- 2024年度房地产买卖合同:甲方乙方就房屋买卖的合同
- 2024年度冷藏运输车辆保温改造合同
- 2024年度猪肉市场细分与目标客户合同
- 2024年度版权质押合同:版权持有者与贷款方之间的版权质押协议
- 2024年度广告制作合同(含短视频推广)
- 2024年度特许经营合同:连锁品牌的授权与经营指导
- 2024年度临时店铺租赁合同
- 04版甲乙双方仓储物流信息化建设合同
- Unit 4 Body Language Using Language 说课稿课件-2023-2024学年高中英语人教版(2019)选择性必修第一册
- 《寒号鸟》说课课件
- 边坡土石方开挖及支护专项施工方案
- 展馆、舞台搭建、拆除施工方案范本
- 新时代科学家精神(2023春)学习通超星课后章节答案期末考试题库2023年
- 初中化学《我们周围的空气》大单元教学设计
- 大学物理(本科理工科非物理专业)PPT完整全套教学课件
- 建筑电气工程施工质量验收规范演讲教学课件资料
- 景观石安装施工合同
- 放射医学概论-苏州大学中国大学mooc课后章节答案期末考试题库2023年
- 注塑工艺卡片
评论
0/150
提交评论