1、double a=0,b=0;a=fun1(x); b=fun1(y); return (int)(a+b);double w; w=fun2(1.1,2.0);程序执行后变量w中的值是CA)5.21 B) 5 C) 5.0 D) 0.0 (9)有以下程序:fun(int x,int y)return(x+y);main()int a=1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+); printf(%dn,sum);执行后的输出结果是( )。CA)6 B)7 C)8 D)9(10)有以下程序:void fun2(char a,char b) printf(%c,%c
2、,a,b);char a=A,b=B;void fun1() a=C b=Dfun1();%c%c fun2(E,F);程序的运行结果是( )。AA)CDEF B)ABEF C)ABCD D)CDAB*(11)有以下程序main(int argc,char *argv)int n=0,i;for(i=1;iargc;i+) n=n*10+*argvi-0;printf(“%dn”,n);编译连接后生成可执行文件tt.exe,若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是DA) 12 B) 12345 C)12345678 D) 136(12)有如下程序: #includ
3、e void fun(int a,int b) int t; t=a;a=b;b=t; main() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;k10;i+=2) fun(ci,ci+1);for(i=0;i+)printf(%d,ci);printf(n 程序的运行结果是AA)1,2,3,4,5,6,7,8,9,0, B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9,(13)有以下程序#includeint f(int x);main()int n=1,m;m=f(f(f(
4、n);printf(”%dn”,m); x)return x*2;A)1 B)2 C)4 D)8(17)有以下程序int fun(int n)if(n=1) return 1;elsereturn (n+fun(n-1); int x;scanf(“%d”,&x); x=fun(x); printf(“%dn”,x);程序执行时,给变量x输入10,程序的输出结果是AA)55 B) 54 C) 65 D) 45(18)有以下程序:fun(int x)int p;if(x=0|x=1) return(3);p=x-fun(x-2);return p; printf(,fun(7);A)7 B)3
5、C)2 D)0(19)有以下程序 #include int f(int x) int y;if(x=0|x=1) return (3);y=x*x-f(x-2);return y;int z;z=f(3); printf(“%dn”,z);程序的运行结果是 CA)0 B)9 C)6 D)8 (20)有以下程序int fun(int a, int b) if(b=0) return a; else return(fun(-a,-b) ; printf(“%dn”,fun(4,2);程序的运行结果是B B)2 C) 3 D)4(21)有以下程序#include0) return tn-1+f(t,
6、n-1);else return 0;A)4 B)10 C)14 D)6(22)有以下程序void fun(int x)if(x21)fun(x2);printf(”d”,x);fun(7);printf(”n”);A)1 3 7B)7 3 1C)7 3D)3 7(23)有以下程序int fun(int x,int n)static int sum=0,i;i sum+=xi;return sum;int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4); printf(“%dn”,s);程序执行后的输出结果是CA)45 B)50 C)60 D)55
7、(24)有以下程序:fun(int x, int y)static int m=0,i=2; i+=m+1; m=i+x+y; return m;int j=1,m=1,k;k=fun(j,m);,k);BA)5,5 B)5,11 C)11,11 D)11,5(25)有以下程序int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+;else int a=7 ;return t+a+;int s=a, i=0;for(; i2; i+) s+=f(i);printf (“%dn”,s);A)24 B)28 C)32 D
8、)36(26)设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是CA)autoB)registerC)staticD)auto 或register(27)有以下程序intf(intn);inta=3,s;s=f(a);s=s+f(a);,s);intf(intn)staticinta=1;n+=a+;returnn;A)7B)8C)9D)10(28)有以下程序int fun()static int x=1;x*=2; return x;int i,s=1;for (i=1;=2;i+) s=fun();printf(%dn,s);A)0 B)1 C) 4 D)8(2
9、9)有以下程序includestdiohint fun()static int x=1;x+=1;return x;int i;s=1;for(i=1;=5;i+)s+=fun();printf(”dn”,s);A)11B)21C)6D)120(30)有以下程序:#define N 5#define M N+1#define f(x) (x*M) int i1,i2; i1=f(2); i2=f(1+1);%d %dn,i1,i2);A)12 12 B)11 7 C)11 11 D)12 7(31)若程序中有宏定义行:#define N 100 则以下叙述中正确的是BA)宏定义行中定义了标识符
10、N的值为整数100B)在编译程序对C源程序进行预处理时用100替换标识符NC)对C源程序进行编译时用100替换标识符ND)在运行时用100替换标识符N(32)以下叙述中错误的是 DA)在程序中凡是以“”开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的 (33)以下关于宏的叙述中正确的是 ( )CA)宏名必须用大写字母表示B) 宏定义必须位于源程序中所有语句之前C) 宏替换没有数据类型限制D)宏调用比函数调用耗费时间(34)有以下程序#definePT3.5;#defi
11、neS(x)PT*x*x;inta=1,b=2;%4.1fn,S(a+b);A)14.0B)31.5C)7.5D)程序有错无输出结果(35)有以下程序#definef(x)x*x*xinta=3,s,t;s=f(a+1);t=f(a+1);%d,%dn,s,t);程序运行后的输出结果是AA)10,64B)10,10C)64,10D)64,64(36)以下程序#define SUB(a) (a)-(a)int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%dn,d);程序运行后的结果是CA)0 B)-12 C)-20 D)10二 填空题(1)以下isprime函数的功能是
12、判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空int isprime(int a) int i;for(i=2;=a/2;i+)if(a%i=0) _ _; /return 0_ _; /return 1(2)以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。#include math.hdouble fun(double x) return(x*x-2*x+6); double x,y1,y2;Enter x: scanf(%lf,& y1=fun( 【 】 );
13、/x+8 y2=fun( 【 】 ); /sin(x)y1=%lf,y2=%lfn,y1,y2);(3)以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空.#include viod x,int n) int p0,p1,i,j,t,m; i=j=x0; p0=p1=0; for(m=0;mi) i=xm; p0=m; if(xmj) j=xm; p1=m;t=xp0; xp0=xn-1; xn-1=t;t=xp1;xp1= _ _; _ _=t;/ x0, x0 a10,u; for(u=0;ub?
14、a:b);(5)以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回。(设N已定义)iint fun(int xN)int i,k=0;for(i=0;N; i+)if(xixk)k= 【 】 ;return xk;(6)以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,. N已定义)arowcolint fun(int aNM)int i,j,row=0,col=0; for(i=0; for(j=0;j=2) m=fun(t,n-1);int a=11,4,6,3,8,2,3,5,9,2;printf(“%dn”,fu
15、n(a,10);(8)下面程序的运行结果是 【 】 。18 int f(int a,int n) if(n1) return a0+f(a+1,n-1); else return a0; int aa10=1,2,3,4,5,6,7,8,9,10,s; s=f(aa+2,4);(9)以下程序的输出结果是【 】。 1 3void fun(int x) if(x/20) fun(x/2);printf(“%d ”,x);fun(3); printf(“n”);(10)以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符作为输入标志。long【 】; long n; n=func();n=%ldn,n);long func() long m;for(m=0; getchar()!= 【 】);答案:func();m+(11)有以下程序fun(intx)if(x/20)fun(x/2);%d,x);fun(6);程序运行后的输出结果是【 】 1 3 6(12)以下程序的运行结果是 m=4 k=4 i=5 k=5 。int k=0;void fun(int m) m+=k; k+=m; printf(“m=%dn k=%d ”,m,k+); int i=4;fun(i+);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1