} A)int
B)不确定
C)void
D)float
二、读程序写结果 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);
30
return s; }
main()
}
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()
31
{ printf(\
{ int a=4,b=3,c=5,d=6; t(a,b,c,d);
printf("%d%d\\n",c,d); }
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); 32 printf("%d\n",r); } 11. long fib(int n) { 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 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. 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个 33 数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。 #include void fltj(char str[],int a[]) { int ll,i; ll= (1) for (i=0;i } } main() { static char str[60]; static int a[4]={0,0,0,0}; gets(str); fltj(str,a); printf(\ str,a[0],a[1],a[2],a[3]); } 3. 用递归方法求N阶勒让德多项式的值,递归公式为 1?? Pn??x?((2n?1)?x?p(x)?(n?1)?p(x))/nn?1n?2?(n?0)(n?1) (n?1) #include scanf(\ 34