2004年4月二级笔试试题-基础部分和C程序设计

出处:考试大 作者:daiy 日期:2007年07月18日 11时06分
       

(13) 下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如:
 1 2 3 4 1 5 9 13
 5 6 7 8 2 6 10 14 
 当 A= 9 10 11 12 则 A’= 3 7 11 15
 13 14 15 16 4 8 12 16
请填空
#define N 4
void rotate(int a[][N])
{ int i,j,t;
 for(i=0;i  for(j=0;【13】;j++)
 { t=a[i][j];
 【14】 ;
 a[j][i]=t;
 }
}

(14) 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{ while(*s++=【15】);}
main( )
{ char str1[100],str2[]=”abcdefgh”;
 sstrcpy(str1,str2);
 printf(“%s\n”,str1);
}

(15) 下列程序的运行结果是:【16】
#include 
char *ss(char *s)
{ return s+strlen(s)/2;}
main( )
{ char *p,*str=”abcdefgh”;
 p=ss(str); printf(“%s\n”,p);
}

(16) 下面程序的运行结果是:【17】
int f( int a[], int n)
{ if(n>1) return a[0]+f(&a[1],n-1);
 else return a[0];
}
main ( )
{ int aa[3]={1,2,3},s;
 s=f(&aa[0],3); printf(“%d\n”,s);
}

(17) 以下程序中给指针p分配三个double型动态内存单元,请填空。
# include 
main ( )
{ double *p;
 p=(double *) malloc(【18】);
 p[0]=1.5;p[1]=2.5;p[2]=3.5;
 printf(“%f%f%f\n”,p[0],p[1],p[2]);
}

(18) 以下程序的运行结果是【19】
# include 
typedef struct student{
 char name[10];
 long sno;
 float score;
 }STU;
main( )
{ STU 
a={“zhangsan”,2001,95},b={“Shangxian”,2002,90},c={“Anhua”,2003,95},d,*p=&d;
 d=a;
 if(strcmp(a.name,b.name)>0) d=b;
 if(strcmp(c.name,d.name)>0) d=c;
 printf(“%ld%s\n”,d.sno,p->name);
 }

(19) 以下sum函数的功能是计算下列级数之和。
 S=1+x+x2/2!+x3/3!+........+xn/n!
 请给函数中的各变量正确赋初值。
 double sum( double x, int n )
 { int i; double a,b,s;
 【20】
 for( i=1;i<=n;i++)
 { a=a*x; b=b*i; s=s+a/b; }
 return s;
 }         

最后更新时间:2008-05-28 12:02:40
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程