考研专业课:东北大学计算机真题(2004)

文都教育

  2014 考研专业课大纲已经发布,考生要对照大纲的变化好好复习,调整自己的规划。同时要关注各高校历年真题,利用真题和大纲做好考前的强化备考。文都教育 考研专业课频道为考生提供10大高校计算机复习考题,希望考生认真利用这些真题,仔细研究,寻找突破点,及时的查漏补缺,复习好计算机专业课,下面请看。

东北大学计算机真题(2004)

  C语言程序设计部分

  一、(20分,每小题5分)写出下列程序的运行结果(不必抄题,标明题号,答案另答在答卷纸上)

  1.Int f(int *x int y)

  { if (*x

  else y+=*x;

  return(*x+y);

  }

  void main()

  { int a[3]={5,3,8}, *p=a;

  *p=f(&a[1],a[2]);

  *p+=f(&a[1],a[2]);

  printf(“%d%d%d ”,a[0],a[1],a[2]);

  }

  2. int main(intargc, char *argv[])

  {FILE *fp1, *fp2;

  Int c;

  If((fp1=fopen(argv[1], “r”))==NULL)

  { printf(“Cannot open %s ”,argv[1]); return(1);

  }

  if((fp2=fopen(argv[2], “a”))==NULL)

  { printf(“Cannot open %s ”,argv[2]); return(1);

  }

  c=fseek(fp2,0L,2);

  while ((c=fgetc(fp1))!=EOF) fputc(c,fp2);

  fclose(fp1); fclose(fp2);

  }

  3. void main()

  { int a[10], *p;

  for (p=a; p<(a+10); p++)

  scanf(“%d”,p);

  for(; p<(a+10);p++)

  printf(“%d”,*p);

  }

  4.void main()

  { int I=9,j=0;

  char str[3]=”*#”, ch=str[0];

  do

  { printf(“%c”,ch);

  if(I%5==0)

  j++;

  }while ((ch=str[j])||I--);

  }

  }

  二、10分(不必抄题,标明题号,答案另答在答卷纸上)

  1.(5分)下面函数声明中有语法错误的是:

  A)int f(float (*p)[],int n); B) int f(float *p[], int n);

  C) int f(float p[], int n); D) int f(float p[ ][ ], int n );

  2. (5分) 分析下面的程序有没有错误,如果没有错误,写出程序运行的结果;如果有错误,指出存在的错误,并说明怎样改正。

  Void main()

  {

  char str[5][20]={“Follow me ”,”BASIC”,”Great Wall”,”FORTRAN”,”Computer design”};

  char *name[5],**p;

  int I;

  p=name;

  for (I=0; I<5; I++)

  *p++=str+I;

  for (I=0;I<5; I++)

  if (strchr(name[i], ‘ ’))

  printf(“%s ”,name[I]);

  }

  三、(15分)设有算术表达式,其中包含有大括号“{}”、中括号“[ ]”、小括号“()”,试编写一个递归函数,判断表达式中的括号是否匹配。

  四、(15分)设有一个整数序列,有n个整数(0

  例如: 输入序列为:5,3,5,7,8,3,5,10,6

  则输出为: 序列一 5,3,7,8,10,6

  编号一 2,1,4,5,6,3

  五、(15分)设有两个有序单链表,一为升序,一为降序。试编写程序,将这两个链表合并为一个有序链表。

  数据结构部分

  一、完成下列问题(20分)

  1、(6分)对下面的关键字集{30,15,21,40,25,26,36,37,10,20},写出快速排序的每趟结果和最终结果

  2、(6分)已知有一个10个顶点的连通图,顶点编号为1至10,其边的关系集合表示为{(1,2),(1,3),(1,8),(2,4),(3,9),(3,10),(5,7),(6,7),(7,8),(8,9)},试画出该连通图及以顶点①为根的深度优先生成树。

  3、(8分)已知二叉树的存储结构为二叉链表,LinkList和BiTree为已定义的指针类型,ListNode为已定义的结点类型,阅读下面算法并回答:

  LinkList L=NULL;

  void inorder_list (BiTree T){

  LinkList p;

  If (T){

  Inorder_list(T->lchild);

  If ((!T->lchild)&&(!T->rchild)){

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

  p->data=T->data; p->next=L;

  L=p;

  }//if

  Inorder_list (T->rchild);

  }//if

  }//Inorder_list

  (1)说明该算法的功能;

  (2)对于一棵有8结点的完全二叉树(假设结点顺序为A、B、C、D、E、F、G、H),画出执行上述算法后所建成立的结构。

  二、(20分)某商店有一批手机,按价格从高到低构成一个单链表,结点包括数量、价格、指针。现新到n台价格不同的手机,编写将新到手机插入到原链表中的算法。

  三、(20分)假设哈希函数为H(key),编写用链地址方法解决冲突的哈希表的插入和删除算法。

  四、(15分)设用输入广义表表示的字符串来创建二叉链表结构的二叉树,具体规定如下:广义表的表名作为树的根结点,每个结点的左子树和右子树用逗号分隔,若仅有右子树,则逗号不能省略;以特殊符号‘$’表示广义表的结尾。

  (1)若输入的字符串为A(B(C),D(E(,F),G)),画出所表示的二叉树。

  (2)实现用上述方法创建二叉树的算法。

  上面是东北大学2004年考研专业课 计算机的真题,望考生通过做真题,考生能够发现自己的知识漏洞,及时的补充和纠正,争取、深度的把握专业课知识,打好专业课的基础。最后,都希望大家考研成功,加油!

  更多考研专业课信息关注 文都教育

热门推荐

公告

    考研热搜词

    热点文章推荐

    关闭