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

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

(41) 有以下程序
main( )
{ unsigned char a,b;
 a=4|3;
 b=4&3;
 printf(“%d %d\n”,a,b(;
}
执行后输出结果是
A) 7 0 B) 0 7 C) 1 1 D) 43 0

(42) 下面程序的功能是输出以下形式的金字塔图案是:
 *
 ***
 *****
 *******
main( )
{ int i,j;
 for(i=1;i<=4;i++)
 { for(j=1;j<=4-i;j++) printf(“ “);
 for(j=1;j<=_______;j++) printf(“*”);
 printf(“\n”);
}
 }
在下划线处应填入的是
A) i B) 2*i-1 C) 2*i+1 D) i+2

(43) 有以下程序
void sort(int a[],int n)
{ int i,j,t;
 for(i=0;i  for(j=i+2;j  if(a[i] }
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
 sort(aa,10);
 for(i=0;i<10;i++) printf(“%d”,aa[i]);
 printf(“\n”);
}
其输出结果是
A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1,
C) 9,2,7,4,5,6,3,8,1,10, D) 1,10,3,8,5,6,7,4,9,2,

(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 
main(int argc ,char *argv[ ])
{ int i,len=0;
 for(i=1;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  { 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 
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 
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 
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         

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

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

考试全流程