2004年4月全国计算机等级考试二级笔试基础知识和C语言程序设计试题含答案
您现在的位置: 广西大学城在线 >> 学习 >> 计算机考试 >> 全国二级 >> 历年真题 >> C语言 >> 文章正文
2004年4月全国计算机等级考试二级笔试基础知识和C语言程序设计试题含答案
 作者:kivm 来源:广西大学城在线 热度:℃ 时间:2007-3-30 20:47:17    【字体:


44、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()
A) char s[10]=”abcdefg”;  B) char t[]=”abcdefg”,*s=t;
C) char s[10];s=”abcdefg”;  D) char s[10];strcpy(s,”abcdefg”);
45、有以下程序
#include <string.h>
main(int argc ,char *argv[ ])
{  int i,len=0;
   for(i=1;i<argc;i+=2)  len+=strlen(argv[i]);
   printf(“5d\n”,len);
}  经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex   abcd   efg   h3   k44
执行后输出结果是()
A)14  B)12  C)8  D)6
46、有以下程序
void f(int a[],int i,int j)
{  int  t;
  if(i<j)
   {  t=a[i]; a[i]=a[j];a[j]=t;
      f(a,i+1,j-1);
   }
}
main( )
{  int i,aa[5]={1,2,3,4,5};
   f(aa,0,4);
   for(i=0;i<5;i++)   printf(“%d,”,aa[i]);   printf(“\n”);
}  执行后输出结果是()
A)5,4,3,2,1,  B)5,2,3,4,1,  C)1,2,3,4,5,  D)1,2,3,4,5,
47、有以下程序
struct STU
{  char name[10];
   int num;
   int Score;
};
main( )
{  struct STU   s[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},
                    {“wangYin”,20043,680},{“SunDan”,20044,550},
                    {“Penghua”,20045,537}},*p[5],*t;
   int i,j;
   for(i=0;i<5;i++)   p[i]=&s[i];
   for(i=0;i<4;i++)
     for(j=i+1;j<5;j++)
        if(p[i]->Score>p[j]->Score)
          { t=p[i];p[i]=p[j];p[j]=t;}
   printf(“5d  %d\n”,s[1].Score,p[1]->Score);
}   执行后输出结果是()
A)550  550  B)680  680  C)580  550  D)580  680
48、有以下程序
#include <stdlib.h>
struct NODE{
            int num;
            struct NODE *next;
           };
main( )
{   struct NODE *p,*q,*r;
    int sum=0;
    p=(struct NODE *)malloc(sizeof(struct NODE));
    q=(struct NODE *)malloc(sizeof(struct NODE));
    r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next=r;r->next=NULL;
sum+=q->next->num;sum+=p->num;
printf(“%d\n”,sum);
}  执行后的输出结果是
A)3  B)4  C)5  D)6
49、有以下程序
#include <stdio.h>
main( )
{  FILE *fp;  int i,k=0,n=0;
   fp=fopen(“d1.dat”,”w”);
   for(i=1;i<4;i++)   fprintf(fp,”%d”,i);
   fclose(fp);
   fp=fopen(“d1.dat”,”r”);
   fscanf(fp,”%d%d”,&k,&n);   printf(“%d %d\n”,k,n);
   fclose(fp);
}   执行后输出结果是()
A)1  2  B)123  0  C)1  23  D) 0   0
50、有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include <stdio.h>
main( )
{ FILE *fp;  int i,a[4]={1,2,3,4},b;
  fp=fopen("data.dat","wb");
  for(i=0;i<4;i++)  fwrite(&a[i],sizeof(int),1,fp);
  fclose(fp);
  fp=fopen("data.dat","rb");
  fseek(fp,-2L*sizeof(int).SEEK_END);
  fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
  fclose(fp);
  printf("%d\n",b);
}   执行后输出结果是()
A)2  B)1  C) 4  D)3
二、填空题(每空2分,共40分)
1、E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。
2、计算机网络分为广域网和局域网,因特网属于【2】。
3、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【3】。
4、在Windows环境下,只要在“开始”菜单中单击【4】选项,就可以查阅最近打开过的文档清单。
5、计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5】条指令。
6、已知字符A的ACSII码值为65,以下语句的输出结果是【6】
   char ch=’B’;
   printf(“%c %d\n”,ch,ch);
7、有以下语句段  
   int  n1=10,n2=20;
   printf(“【7】”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
8、有以下程序
main( )
{ int t=1,i=5;
 for(;i>=0;i--)  t*=i;
 printf(“%d\n”,t);
}   执行后输出结果是【8】。
9、有以下程序
main( )
{  int n=0,m=1,x=2;
   if(!n)   x-=1;
   if(m)   x-=2;
   if(x)   x-=3; 
  printf(“%d\n”,x);
}    执行后输出结果是【9】。
10、有以下程序
#include <stdio.h>
main( )
{  char ch1,ch2;  int n1,n2;
   ch1=getchar();  ch2=getchar();
   n1=ch1-‘0’;  n2=n1*10+(ch2-‘0’);
   printf(“%d\n”,n2);
}   程序运行时输入:12<回车>,执行后输出结果是【10】。
11、有以下程序
void f( int y,int *x)
{y=y+*x;  *x=*x+y;}
main( )
{  int x=2,y=4;
   f(y,&x);
   printf(“%d   %d\n”,x,y);
}         执行后输出的结果是【11】。
12、函数fun的功能是计算xn
double fun(double x,int n)
{  int i; double y=1;
   for(i=1;i<=n;i++)  y=y*x;
   return y;
}   主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【12】。
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<N;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 <string.h>
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 <stdlib.h>
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 <string.h>
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;
}
 
附参考答案
01~10:DBCCB  ADCAD
11~20:BBCAC  DBCDA
21~30: ACBDD  ADDCD
31~40: CBADB  ACADA
41~50: ABCCD  ACBBD
填空题:
1、@
2、广域网
3、EXIT或exit
4、文档
5、百万条或一百万条或1000000条
6、B 66
7、n1=%d\nn2=%d
8、0
9、-4
10、12
11、8   4
12、fun(a,4)+fun(b,4)-fun(a+b,3);
13、j<=i
14、a[i][j]=a[j][i]
15、*t++
16、6
17、efgh
18、3*sizeof(double)
19、2002Shangxian
20、a=1.0;b=1.0;s=1.0;

上一页  [1] [2] 


文章录入:kivm    责任编辑:kivm 
  • 上一篇文章:

  • 下一篇文章: 没有了



  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论
    会 员 名: *如果您还没有登陆,您只能以游客身份发表评论
    文章评分: 10分 30分 60分 80分 100分
    评论内容:

    热门文章
    专题文章
    推荐文章
    最新文章
    相关文章
    计算机等级考试二级VB全真
    计算机等级考试二级VB全真
    2003年全国计算机等级考试
    2001年全国计算机等级考试
    2001年9月全国计算机等级考
    2001年9月全国计算机等级考
    2001年4月全国计算机等级考
    2001年4月全国计算机等级考
    2000年全国计算机等级考试
    2000年全国计算机等级考试
    关于我们 联系我们 管理团队 招聘信息 广告服务 友情连接 合作伙伴 版权声明 公司动态

    Copyright ©2005-2007 GXDXC.COM. All Rights Reserved.  上海耐飞网络科技发展有限公司旗下网站
    广西大学城在线 [ ]
    互联网信息中心ICP备案许可证号:桂ICP备06015223号 沪ICP备05051256号