资源描述:
《c程序设计--函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、选择题(1)以下关于函数的叙述中正确的是 A)每个函数都可以被其它函数调用(包括main函数) B)每个函数都可以被单独编译 C)每个函数都可以单独运行 D)在一个函数内部可以定义另一个函数(2)设函数fun的定义形式为voidfun(charch,floatx){…}则以下对函数fun的调用语句中,正确的是 A)fun("abc",3.0); B)t=fun(’D’,16.5); C)fun(’65’,2.8); D)fun(32,32);(3)有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){
2、returnx>y?y:x;}main(){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;printf("%d,%d%d",e,f,g);}程序运行后的输出结果是 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7(4)若程序中定义了以下函数doublemyadd(doublea,doubleB){return(a+B);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A)doublemyadd
3、(doublea,B); B)doublemyadd(double,double); C)doublemyadd(doubleb,doubleA); D)doublemyadd(doublex,doubley);(5)有以下程序voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf(“%d,%d,%d”,x,y,z);}执行后输出结果是 A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,1(
4、6)若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是 A)调用可以作为独立的语句存在 B)调用可以作为一个函数的实参 C)调用可以出现在表达式中 D)调用可以作为一个函数的形参(7)有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n); D)voldfun(n,x);(8)有以下程序fun(inta,intb){if(a>b)return(a);elsereturn(b
5、);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d",r);}程序运行后的输出结果是 A)3 B)6 C)8 D)12(9)在一个C程序中 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置(10)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是 A)void B)int C)float D)double(11)以下程序的输出结果是 A)0 B)29 C)31 D)无
6、定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(“%d”,a);}(12)有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是 A)3 B)4 C)5 D)有语法错(13)有如下程序intrunc(inta,intb){return(a+b);}main0{intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d”,r);}该程序的输出的结果是 A)12 B)13 C)
7、14 D)15(14)以下叙述中不正确的是 A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量 C)在一个函数内定义的变量只在本函数范围内有效 D)在一个函数内的复合语句中定义的变量在本函数范围内有效(15)有以下程序#include"stdio.h"intabc(intu,intv);main(){inta=24,b=16,c;c=abc(a,b);printf(’%d",c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w}ret