{ 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阶勒让德多项式的值,递归公式为
? P?1n??x??((2n?1)?x?pn?1(x)?(n?1)?pn?2(x))/n
#include
{ float pn(); float x,lyd; int n;
scanf(\ lyd= (1)
(n?0)(n?1)(n?1)34
printf(\
}
float pn(float x,int n)
{ float temp;
if (n==0) temp= (2) else if (n==1) temp= (3) else temp= (4) return(temp);
}
4.以下函数的功能是:求x的y次方,请填空。
double fun(double x,int y) {int i; double z:
for(i=1,z=x;i
}
5.a=5,b=6,c=7,d=8,则d=a/2&&b==c||!a的值为( )。 6.若int a=12; 则表达式a/=a+a的值是 ( )。 7.strlen(“ABCDE”)=( )。
8、下列程序的执行结果是 #include
{ int x=1,a=2,b=3; switch(x)
{ case 1: a--; break; case 2: b++; break; case 3: a++;b++; }
printf(\}
第一单元 一、 选择题
1. A 2. B 3. C 4. C 5. D 6. A 7. C 8. D 9. A 10. D 12. D 13. BC 14.. B 15. B
11. A 35