1、习题集函数1.以下表达中不正确的选项是A)在不一样的函数中能够使用同样名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效2.有以下程序void fun (int a,int b,int c) a=456; b=567; c=678;main() int x=10, y=20,z=30; fun (x,y,z); printf(%d,%d,%dn,z,y,x);输出结果是A)30,20,10 B)10,20,30C)456,567,678 D)678,567,4563.有以下程序include stdio
2、.hmain () int a=24,b=16,c; c=abc(a,b); printf(%dn,c);int abc(int u,int v) int w;while(v) w=u%v; u=v; v=w return u;输出结果是A) 6B) 7C) 8D) 94.以下程序的输出结果是#includestdio.hintfun(intx,int y) 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(%dn,k);5.以下程序运转后,
3、输出结果是A)84 B )99 C )95 D )44int d=1 ;fun(int p ) int d=5 ;d+=p+ ;printf (“%d ”,d);main ()int a=3 ;fun(a);d+=a+ ;printf (“%dn ”,d);6.下边函数用来求出两个整数之和 ,并经过形参传回两数相加之和值 ,请填空。void add(int x, int y, 1 z) 2 =x+y; 7.有以下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是A)3 B)4 C)5 D) 有语法错8.有以下程序int runc(in
4、t a,int b) return(a+b); main0 int x=2,y=5,z=8,r; r=func(func(x,y),z); printf( “%dn ”,r);该程序的输出的结果是A)12 B) 13 C) 14 D) 159. 有以下程序long fib(int n) if(n2) return(fib(n-1)+fib(n-2); else return(2);main0 printf( “%dn ”,fib(3);该程序的输出结果是A)2 B)4 C)6 D)810.以下函数用来求出两整数之和,并经过形参将结果传回,请填空。void func(int x,int y, ?
5、 z) *z=x+y; 11.以下程序的输出结果是。void fun() static int a=0;a+=2; printf( “%d”,a);main() int cc; for(cc=1;cc4;cc+) fun()printf( “n”);12.以下所列的各函数首部中,正确的选项是A)void play(var:Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer) 13. 以下程序的输出结果是A) 0 B) 29 C) 31 D)
6、无定值fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,2,a);printf(%d,a);14.以下程序的输出结果是A)1B)2C)3D)4 long fun( int n) long s;if(n= =1 | n= =2) s=2; else s=n-fun(n-1);main() printf(%ldn, fun(3); 15.函数 pi 的功能是依据以下近似公式求值:(*)/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)此刻请你在下边的函数中填空,达成求的功能。#include “math.h ”doubl
7、e pi(long n) double s=0.0; long i; for(i=1;i=n;i+)s=s+ ?;return(sqrt(6*s);16.在调用函数时,假如实参是简单变量,它与对应形参之间的数据传达方式是A)地点传达 B) 单向值传达C)由实参传给形参,再由形参传回实参 D) 传达方式由用户指定17.以下函数值的种类是fun ( float x ) float y; y= 3*x-4; return y;A)int B) 不确立 C) void D) float18. 设有以下函数:f ( int a) int b=0; static int c = 3;b+; c+;retu
8、rn(a+b+c);假如在下边的程序中调用该函数,则输出结果是main() int a = 2, i;for(i=0;i3;i+) printf(%dn,f(a);A)7B)7C)7D)78910791113719.以下程序的输出结果是int a, b; a=100; b=200; main() int a=5, b=7; fun();printf(%d%d n, a,b);A)100200 B) 57 C) 200100 D) 7520. 以下程序输出的最后一个值是。int ff(int n) static int f=l; f=f*n; return f;main() int i;for(
9、i=1;i=5;i+, printf(%dn,ff(i);21. 以下函数的功能是:求 x 的 y 次方,请填空。double fun( double x, int y) int i; double z;for(i=1, z=x; iy;i+) z=z* ? ;return z;22.以下程序的输出结果是int f() static int i=0; int s=1; s+=i; i+; return s;main() int i,a=0; for(i=0;i5;i+) a+=f(); printf(%dn,a);A)20 B) 24 C) 25 D) 1523. 如有以下程序include
10、void f(int n);main() void f(int n); f(5);void f(int n) printf(%dn,n); 则以下表达中不正确的选项是A)若只在主函数中对函数 f 进行说明,则只好在主函数中正确调用函数 fB)若在主函数前对函数 f 进行说明,则在主函数和后来的其余函数中都能够正确调用函数 fC)关于以上程序,编译时系统会提示犯错信息:提示对 f 函数重复说明D)函数 f 无返回值,因此可用 void 将其种类定义为无值型24.以下程序的输出的结果是int x=3;main() int i;for (i=1;ix;i+) incre();incre() static int x=1;x*=x+1;printf( %d,x);A)33 B)22 C)26 D)25答案:1D2A3C 4【8,17 】 5 A 6【int *】【 *z】7 A 8 D 9 B 10 【int *】11【246】12 C 13 C 14 A 15 【1.0/(i*i) 】16 B 17 A 18 A 19 B 20 【720】21【x】22 D 23C24C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1