1、 B)3,4,7 C)5,2,7 D)2,5,7 (4)有以下程序 #define P 3 #define F(int x) return (P*x*x); %dn,F(3+5); A)192 B)29 C)25 D)编译出错 (5) 若程序中定义了以下函数 double myadd(double a,double B) return (a+B) ;并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A) double myadd(double a,B) ; B) double myadd(double,double); C) double myadd(doubl
2、e b,double A) ; D) double myadd(double x,double y);(6) 有以下程序 char fun(char x , char y) if(xy) f(x,y);else if(yz) f(y,z);else f(x,z);printf(“%d,%d,%dn”,x,y,z);执行后输出结果是 A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1 (8) 若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是 A) 调用可以作为独立的语句存在 B) 调用可以作为一个函数的实参 C) 调用可以出现在表达式中 D) 调用可以作为一个函数的
3、形参 (9) 有以下函数定义:void fun( int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun(int y,double m); B) k=fun(10,12.5); C) fun(x,n); D) vold fun(n,x);(10) 有以下程序 fun(int a, int b) if(ab) return(a);else return(b); int x=3, y=8, z=6, r;r=fun (fun(x,y), 2*z);, r); A) 3 B) 6 C) 8 D) 12 (11) 在一个C程序中 A) ma
4、in函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 (12) 有以下程序 int fl(int x,int y) return x int f2(int x,int y) int a=4,b=3,c=5,d,e,f;d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c);f=a+b+c-d-e;%d,%d,%dn,d,f,e); A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4 (13) 有如下程序 void f(int x,int y) if(x
5、y) t=x; x=y; y=t; int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);,a,b,c); D) 4,3,5 (14) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是 A) void B) int C) float D) double (15) 有以下程序 float fun(int x,int y) return(x+y); int a=2,b=5,c=8;printf(“%3.0fn”,fun(int)fun(a+c,b),a-c); A) 编译出错 B) 9 C) 21 D) 9.0 (16) 若有以下程序 #include void
6、f(int n); void f(int n);f(5);void f(int n) printf(,n);则以下叙述中不正确的是 A) 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B) 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f C) 对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明 D) 函数f无返回值,所以可用void将其类型定义为无值型 (17) 以下函数值的类型是 fun ( float x ) float y;y= 3*x-4; A) int B) 不确定 C) void D) float (18) 以下所列的各
7、函数首部中,正确的是 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) (19) 以下程序的输出结果是 A) 0 B) 29 C) 31 D) 无定值 fun(int x, int y, int z) z=x*x+y*y; int a=31;fun(5,2,a);printf(“%d”,a);(20) 有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5);该函数
8、调用语句中,含有的实参个数是 B) 4 C) 5 D) 有语法错 (21) 有如下程序 int runc(int 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) 15 (22) 以下叙述中不正确的是 A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效 (23) 有以下程序 viod f
9、un (int a,int b,int c) a=456; b=567; c=678; int x=10, y=20,z=30;fun (x,y,z);%d,/%dn,c,d);输出结果是 A)30,20,10 B)10,20,30 C) 456,567,678 D) 678,567,456 (24) 有以下程序 include atdio.hint abc(int u,intv);main () int a=24,b=16,c;c=abc(a,b);printf(,c);nt abc(int u,int v) int w;while(v) w=u%v; u=v; v=w return u;
10、A) 6 B) 7 D) 9 (25) 以下说法中正确的是 A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 (26) 请读程序:#includefunc( int a, int b) int c;c=a+b;return c; int x=6, y=7, z=8, r;r=func( x-,y=,x+y),z-);,r);上面程序的输出结果是 A) 11 B) 20 D) 31 二、填空题 (1)有以下程序 int sub(in
11、t n) return (n/10+n%10); int x,y;scanf(%d,&x);y=sub(sub(sub(x);,y);若运行时输入:1234,程序的输出结果是 【1】 。(2) 通过函数求f(x)的累加和,其中f(x)x21 The sum=%dn,SunFun(10);SunFun(int n) int x,s=0;for(x=0;x=n;x+) s+=F( 【2】 );return s;F( int x) return 【3】 );(3) 函数fun的功能是计算xn double fun(double x,int n) int i; double y=1;for(i=1;i
12、i+) y=y*x;主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+B) 3。实现这一计算的函数调用语句为【4】 。(4) 以下sum函数的功能是计算下列级数之和。S=1x+x2/2!+x3/3!+.+xn/n!请给函数中的各变量正确赋初值。double sum( double x, int n ) double a,b,s;【5】 for( i=1;i+) a=a*x; b=b*i; s=s+a/b;(5) 以下程序的功能是调用函数fun计算:m=1-2+3-4+9-10,并输出结果。请填空。int fun(int n) int n=0,f=1, i;f
13、or (i=1; ib ? a:b) :(7) 若有以下程序 int f(int x,int y) return(y-x)*x; int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5);,d);执行后输出的结果是【9】。(8) 以下程序运行后的输出结果是 10 。void fun(int x,int y) x=x+y;y=x-y;x=x-y;printf(“%d,%d,”,x,y); int x=2,y=3;fun(x,y);printf(“%d,%dn”,x,y);(9) 函数pi的功能是根据以下近似公式求值:(*)/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)
14、 现在请你在下面的函数中填空,完成求的功能。#include “math.h” double pi(long n) double s=0.0; long i;i+)s=s+ 11 ;return(sqrt(6*s);(10) 下面程序的输出是 【12】 。unsigned fun6( unsigned num) unsigned k=1;do k*=num%10;num/=10; while(num);return(k); unsigned n=26;, fun6(n);(11) 下面pi函数的功能是根据以下的公式,返回满足精度要求的值。double pi(double eps) double
15、 s=0.0, t=1.0;int n;for( 【13】 ; teps; n+) s+=t;t=n*t/(2*n+1);return(2.0 * 【14】 );答案:01) B 02) D 03) A 04) D 05) A 06) D 07) C 08) D 09) C 10) D 11) B 12) C 13) D 14) B 15) B 16) C 17) A 18) C 19) C 20) A 21) D 22) D 23) A 24) C 25) C 26) C (1) 10 (2) x (3) x*x+1 (4) fun(a,4)+fun(b,4)-fun(a+b,3);(5) a=1.0;b=1.0;s=1.0; (6) -f (7) fun(10) (8) double max (9) 9 (10) 3,2,2,3 (11) 1.0/(i*i) (12) 12 (13) n=1 (14) s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1