您的位置:考研教育网> >历年试题>考研专业课> 正文

对外经济贸易大学2003年考研c语言程序设计试题

考研教育网   2008-11-19 15:50 【 】【我要纠错

  一、选择题

  1.设a=2,b=3,执行表达式c=b*=a-1;变量c的值是(  )

  a.2b.3c.4d.5

  2.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为(  )

  a.20b.26c.40d.46

  3.语言程序中使用以下的二维数组定义语句并赋以部分初值,其中不正确的定义只有(  )

  a.inta[2][3]={{4},{5,6}}b.inta[2][3]={{4},{5},{6}}

  c.inta[2][3]={4,5,6}d.inta[2][3]={{4},5,6}

  4.设有以下洪定义

  #defineN3

  #defineY(n)((N+1)*n)

  则执行语句:z=2*(N+Y(5+1));后z的值为(  )

  a.出错b.42c.48d.54

  5.已设有如下定义:

  inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

  int(*ptr)[3]=a,*p=a[0];

  则下列能够正确表示数组元素a[1][2]的选项是(  )

  a.*((*ptr+1)[2])b.*(*(p+5))c.(*ptr+1)+2)d.*(*(a+1)+2)

  6.以下程序运行后,输出结果是(  )

  fut(int**s,intp[2][3])

  {**s=p[1][1];}

  main(  )

  {inta[2][3]={1,3,5,7,9,11},*p;

  p=(int*)malloc(sizeof(int));

  fut(&p,a);

  printf(“%d/n”,*p);}

  a.1b.7c.9d.11

  7.若有以下定义和语句,则输出结果是(  )

  chars[12]=“abook!”;

  printf(“%d”,strlen(s));

  a.12b.8c.7d.6

  8.以下程序执行后,a的值是(  )

  main(  )

  {inta,k=4,m=6,*p1=&k,*p2=&m;

  a=p1=&m;

  printf(“%d/n”,a);

  }

  a.4b.1c.0d.运行时出错,无定值

  9.执行以下程序段后,m的值为(  )

  inta[2][3]={{1,2,3},{4,5,6}};

  intm,*p;

  p=&a[0][0];

  m=(*p)*(*(p+2))*(*(p+4));

  a.15b.14c.13d.12

  10.以下程序运行后,如果从键盘上输入:

  book<回车>

  book<空格><回车>

  则输出结果是(  )

  #include<string.h>

  main(  )

  {chara1[80],a2[80],*s1=a1,*s2=a2;

  gets(s1);gets(s2);

  if(!strcmp(s1,s2))printf(“*”);

  elseprintf(“#”);

  printf(“%d/n”,strlen(strcat(s1,s2)));

  }

  a.*8b.*9c.#8d.#9

  11.以下程序运行后,输出结果是(  )

  main(  )

  {charch[2][5]={“693”,“825”},*p[2];

  inti,j;

  longs=0;

  for(i=0;i<2;i++)

  p=ch;

  for(i=0;i<2;i++)

  for(j=0;p[j]>=‘0’&&p[j]<=‘9’;j++)

  s=10*s+(p[j]-‘0’);

  printf(“%d/n”,s);

  }

  a.22b.33c.6385d.693825

  12.以下程序的输出结果是(  )

  structstu

  {intnum;

  charname[10];

  intage;

  };

  fun(structstu*p)

  {printf(“%s/n”,(*p)。name);}

  main(  )

  {structstustudent[3]={{9801,“Zhang”,20},{9802,“Wang”,19}{9803,“Zhao”,18}};

  fun(students+2);

  }

  a.Zhangb.Zhaoc.Wangd.18

  13.设有以下说明和定义:

  typedefunion

  {longi;intk[5];charc;

  }DATE,max;

  structdate

  {intcat;DATEcow;doubledog;

  }too;

  则下列语句的执行结果是:(  )

  printf(“%d”,sizeof(too)+sizeof(max));

  a.30b.26c.18d.8

  14.执行以下程序的输出是(  )

  main(  )

  {intx,a=1,b=2,c=0;

  x=——a||b&&++c;

  printf(“%d/n”,x);

  }

  a.1b.0c.-1d.非零值

  15.以下可作为函数fopen中第一个参数的正确格式是(  )

  a.c:user/text.txtb.c:/user/text.txt

  c.“c:/user/text.txt”d.“c://user//text.txt”

  二、阅读程序,回答问题

  1.#include<stdio.h>

  main(  )

  {chara[]=“abcde”,b[]=“cd”;

  printf(“%d/n”,fun(a,b));

  }

  fun(chars[],chart[])

  {inti,j,k,pos;

  pos=-1;

  for(i=0;s!=‘/0’;i++){

  for(j=i,k=0;t[k]!=‘/0’&&s[j]==t[k];j++,k++)

  ;

  if(k>0&&t[k]==‘/0’)

  pos=I;

  }

  returnpos;

  }

  1.程序的输出结果是:

  2.函数fun(chars[],chart[])的功能是:

  2.#include<stdio.h>

  main(  )

  {inta,b[]={4,13,2,4,6};

  fun(b,5);

  for(a=0;a<5;a++)printf(“%5d”,*(b+a));

  printf(“/n”);

  }

  fun(inta[],intn)

  {intx,y,t;

  for(x=0;x<n;x++){

  for(t=*(a+x),y=x-1;y>=0&&t>*(a+y);y——)

  *(a+y+1)=*(a+y);

  *(a+y+1)=t;

  }

  }

  3.程序的输出结果是:

  4.函数fun(inta[],intn)的功能是:

  三、程序选择填空

  函数inode*mergedes(inode*a,inode*b)的功能是将两个降序的链表合并成一个降序的链表

  设链表结点的类型是:

  typedefstructs

  {intval;

  structs*next;

  }inode;

  inode*merge(inode*a,inode*b)

  {inode*h=a,*p,*q;

  while(b){

  for(p=h;(1);q=p,p=p->next)

  ;

  if((p==h)

  (2);

  else

  (3);

  q=b;

  b=b->next;

  (4);

  }

  returnh;

  }

  1.a.p->val>b->valb.p->val<b->val

  c.p&&p->val>b->vald.p&&p->val<b->val

  2.a.h=bb.b=hc.h=h->nextd.b=b->next

  3.a.h->next=pb.q->next=bc.q->next=pd.h->next=b

  4.a.h->next=pb.q->next=bc.q->next=pd.h->next=b

  四、程序填空

  程序功能:主函数从命令行读入一个文件名,统计该文件的行树和字符个数,并且找出最长的行,输出该行。请填空完成程序。

  #defineMAX100

  #include<stdio.h>

  main(「1」)

  {FILE*fp;

  intlno=0,llen=0,lmax=0,lc=0;

  chars[MAX],line[MAX];

  if(argc==1){

  printf(“filename?/n”);

  exit(0);}

  if((fp=fopen(「2」))==NULL)

  {printf(“Fileopenerror!/n”);

  exit(0);}

  if(feof(fp))printf(“EOF!/n);

  while(「3」){

  fgets(s,MAX,fp);

  lno++;

  llen=strlen(s);

  lc+=llen;

  if(llen>lmax)

  {「4」;

  l.max=llen;

  }

  }

  printf(“/n行数:%d,字符数:%d,最长行是:/n%s”,lno,lc,line);

  fclose(fp);

  }

  五、编写程序

  编写函数char*fun(char*s,charc),函数的功能是将字符串变量s中的字符变量c过滤掉,并返回过滤后字符串的地址。例如fun(“abcedaba”,‘a’)返回的字符串为“bcdeb”。

  请点击查看更多对外经济贸易大学考研相关信息>>>

  相关链接:对外经济贸易大学历年考研专业课试题汇总

◇ 编辑推荐
·2015年考研复习:政治 英语 数学  专业课 · 2014年考研真题及答案汇总   历年考研真题
· 考研网上辅导热招!  ·2015年考研报考指南   ·历年考研国家分数线汇总   复试信息
考研网上辅导课程 特色班 精品班 实验班
学费 购买 学费 购买 学费 购买
公共课 政 治 800元 购买 1500元 购买 3500元 购买
英 语 800元 购买 1500元 购买 3500元 购买
数 学 800元 购买 1500元 购买 3500元 购买

专业课

视频

《管理类联考综合》、《会计学》、《中医综合》、《西医综合》、《法硕联考综合(法学)》、
《法硕联考综合(法学)》、《法硕联考专业基础(法学)》、《法硕联考专业基础(非法学)》

专业课

资料

952所考研院校、57300个招生专业、245000份考研辅导课件、核心纲要、考研笔记、内部题库现正热卖!

说明 专业课请到考研开放平台上注册及缴费----帮助