C语言习题集及答案(8)

2018-12-20 10:12

8. 以下程序的运行结果是:

#include void sub(int s[],int y) { static int t=3; y=s[t];t--; } main()

{ int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){

sub(a,x);printf("%d",x);} printf("\n"); } A)1234

9. 以下程序的运行结果是: main()

{ int w=5;fun(w);printf("\n");} fun(int k)

{ if(k>O) fun(k-1); printf(" %d",k); }

A)5 4 3 2 l

B)0 1 2 3 4 5

C)1 2 3 4 5

D)5 4 3 2 1 0

10. 以下所列的各函数首部中,正确的是_______。 A)void play(vat a:Integer,var b:Integer) C)void play(int a,int b) A)数组的长度

B)void play(int a,b)

D)Sub play(a as integer,b as integer)

B)432l

C)0000

D)4444

11. 当调用函数时,实参是一个数组名,则向函数传送的是_______。

B)数组的首地址 D)数组每个元素中的值

B)单向值传递

C)数组每一个元素的地址 A)地址传递

12. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。 C)由实参传给形,再由形参传回实参 D)传递方式由用户指定

13. 以下函数值的类型是_______。

fun(float x) { float y; y=3*x-4; return y; } A)int

B)不确定

C)void

D)float

35

二、 读程序写结果 1. fun1(int a,int b) { int c;

a+=a; b+=b; c=fun2(a,b); return c*c; }

fun2(int a,int b) { int c; c=a*b%3; return c; } main()

{ int x=11,y=19;

printf(\ }

2. int x;

main() { x=5; cude();

printf(\ } cude()

{ x=x*x*x; }

3. #include

long fun(int n)

{ long s;

if(n==1||n==2)

s=2; else

s=n+fun(n-1); return s; }

36

main()

}

{ printf(\4. main() { int i;

for(i=0;i<2;i++) add();

} add() { int x=0;

static int y=0; printf(\x++; y=y+2;

}

5. main()

{ int k=4,m=1,p;

p=func(k,m); printf(\p=func(k,m); printf(\

}

func(int a,int b) { static int m=0,i=2;

i+=m+1; m=i+a+b; return m;

}

6. int t(int x,int y,int cp,int dp)

{ cp=x*x+y*y; dp=x*x-y*y; }

main()

{ int a=4,b=3,c=5,d=6; t(a,b,c,d);

printf("%d%d\\n",c,d);

37

}

7. fun(int x,int y,int z)

{z=x*x+y*y;} main()

{ int a=31;

fun(5,2,a); printf("%d",a); }

8. int a,b;

void fun()

{ a=100;b=200; } main()

{ int a=5,b=7; fun();

printf("%d%d\n",a,b);}

9. int x=3;

main() {int i;

for(i=1;i

{static int x=1; x*=x+l;

printf("%d",x); }

10. int func(int a,intb)

{ return(a+b); } main()

{int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); }

11. long fib(int n)

38

{ if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main()

{ printf("%ld\\n",fib(3)};}

三、 填空题

1. 编写一个验证正整数M是否为素数的函数,若M是素数则把1送到T中,否则零送到T

中。在主函数中读入N个正整数,每读入一个则调用函数判断它是否为素数,在主函数中将T的值累加到另一个变量中。用此方法可求出N个数中素数的个数。请填空完成上述功能的程序。

#include #include int prime(int m) { int i,pp=1;

for (i=2; (1) ;i++) if (m % i==0) pp=0; if (m==1) (2) return(pp); }

main()

{ int a[20],i,sum=0; for(i=0;i<10;i++) { scanf(\ sum= (3) }

printf(\

}

2. 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个

数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。 #include #include

void fltj(char str[],int a[])

39


C语言习题集及答案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年基层卫生岗位练兵题库及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: