考研论坛

 
查看: 4809|回复: 11
打印 上一主题 下一主题

【推荐】中央财经大学产业经济学(信息)2001初试试题及参考答案

[复制链接]

13

主题

38

帖子

929

积分

中级战友

Rank: 3Rank: 3

精华
10
威望
771
K币
158 元
注册时间
2004-5-8
跳转到指定楼层
楼主
发表于 2008-7-22 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中央财经大学
    二OO一年硕士研究生入学考试试题
    招生专业:产业经济学
    考试科目:C语言程序设计
    注意:本试题所有答案应按试题顺序写在答题纸上,只写试题顺序号,
    不必抄题,写在试题纸上不得分。
一、 选择题:下列每题选择一个合适的答案(每题2分,共16分)
    1.以下函数调用语句中含有(    )个实参。
    Sub1(f1,(f2,f3),f4,(f5,f6,f7))
    A)6  B)4  C)3    D)以上答案都不对。
  2.已知:  union{ int x;
                    struct
                       {  char c1,c2; } b;
                       } a;
    执行语句:a.x=0x3412之后,a,b,c1的值为(  )
    A)0x34    B)0x3412    C)0x12  D)以上答案都不对
  3. 已知函数原形为:
    struct tree *f (x1,x2,x3,x4)
    int x1,int *x2;
    struct  tree x3,*x4
    其中tree为已定义过的结构,且有下列变量定义:
    strcut tree pt,*p; int i;
    请选择正确的函数调用语句(  )。
    A)&pt=f(10,&i,pt,p);
    B)p=f(i++,(int *)p,pt,&pt);
    C)p=f(i+1,&(i+2),*p,p);
    D)f(i+1,&i,p,p);
4. 若有以下程序片段:
     char str[]="ac\b\0x56\078\\0";
     printf("%d", strler, (str));
    A) 3          B) 6     C) 4    D) 8
5. 若fp为文件指针,且文件已正确打开,以下语句的输出结果为本(   )
     fseek(fp,0,2);
     i=ftell(fp);
     printf("i=%d",i);
     A) fp所指文件的记录长度
     B) fp所指文件的当前位置,以字节为单位
     C) fp所指文件的当前位置,以字节为单位
     D) fp所指文件的长度,以字节为单位
6. 若有以下说明,则有( )不是对strcpy库函数的正确调用。
   char  * str1="abcd", str2[12]
   char *str3="efghkl", *str4,  *str5="mnopq";
   A) strcpy ( str2, str1 );       B) strcpy (str3 , str1)
   C) strcpy (str4 , str1)         D) strcpy (sir5 , str1 );
7. 若有如下说明,且0<=k<4,则(  )是错误的赋值
    int a[4][6], *p, *q[4]
    A) p=a                   B) q[k]=a[k]
    C) p=a[k]                D) q[k]=&a[0][0]
8. 以下语句段中, ( )不是无限循环。
    A) k=50;                         B) for ( ;  ;  )
      while (1)
       { k=k%50; k++;
        if (k>50) break;
      }
     C) k=32760;                    D) k=32760;
       do                               while ((k++%2)||(k%2)) k++;
           {k+=2;}
       while(k>0);
  二、度程序:给出程序执行后的输出结果。(第1、2题各5分,第3、4、
    5、 6题各6分,共34分)
     假设有可运行程序的各文件名为test.exe。使用命令行参数,运行该程序
     的格式如下:                                                                  
               test   ynop  azcb rwza<回车>
     请写出下面程序的输出结果。
     #include   "stdio.h"
     #include   "string.h"
     main(argc,argv)
      int argc;
      char  *argv[];
      {  char  **p;
       sub1( argv+1; argc-1 );
       for (p=argv+1;--argc;p++)
          printf("%s\n", *p);
       }
    sub1 (char *s[], int n)
      { int  k, j;
       char  word[20];
        for(k=0;k<n;k++)
         for (j=k+1;j<n;j++)
            if (strcmp(s[k],s[j])>0)
             { strcpy(word, s[k]);
               strcpy(s[k], s[j]);
               strcpy(s[j], word);
             }
       }
  2. 写出以下程序运行后的输出结果。
       #include  "stdio.h"
       #define   N    6
       #define  M   21
    main()
      {  int  a[M],*p[N],k,j,q;
         for(k=0;k<N;k++) {q=k*(k+1)/2; p[k]=&a[q];}
         for(k=0;k<N;k++) {*(*(p+k))=1; *(*(p+k)+k)=1;}
        for (k=2;k<N;k++ )
           for (j=1;j<k;j++)
             *(*(p+k)+j)=*(*(p+k-1)+j-1)+*(*(p+k-1)+j);
         for( k=0; k<N; k++ )   
            {for(j=0;j<=k;j++) printf("%4d",*(*(p+k)+j));
           printf ("\n");
        }
      }
  3. 写出以下输出结果。
     #include "stdio.h"
      char str[]="PPPQWLTECH1\1\11Q\1QALLMS1";
      main()
         int  k;  char ch;
         for ( k=2; (ch=str[k])!='\0'; k++)
           { switch( ch )
               { case 'A':  putchar('a'); continue;
                  case '1': break;
                  case 1:   while( ( ch=str[++k])!='\1'&&ch!='\0');
                  case 9:   putchar('#');
                  case 'E':
                  case 'L': continue;
                  default :  putchar(ch); continue;
               }               
             putchar('*');
            }
          printf("\n");
      }
  4. 写出下列程序的输出结果。
     #include  "stdio.h"
     main()
      {char *s[6]=["BGCD","OFEH","IJKV""ALMN","QXYZ","PRST"};
        char  **p;
        int  k;
        p=s;
        for(k=1;k<4;k++) printf("%c", (*p)[k]);
  5. 写出程序运行结果。
    #include  "stdio.h"
    #include  "string.h"
    void  fun( char *w,  int m)
        char s,*p1, *p2;
        p1=w;
        p2=w+m-1;
        while(p1<p2)          , ~;
              s=p1++; p1=p2--; *p2=s;
              }
    main()
     {      static char a[]="ABCDEFG";
           fun(a,strlen(a));
            puts(a)
     }
  6. 下列程序由两个文件组成,请写出运行结果
     /*文件1*/
     #include "stdio.h"
     int j=4;
     main()
       {int,k,m,j;
        extern int n;
        extern  int f2( );
        k=4;m=3;j=0;
        printf("p1=%d\n", f1(n,m));
        printf("p2=%d\n", f2(k,m));
         printf ("p3=%d\n", f1(n,j));
         printf("p4=%d\n", f2(n,j));
         printf("n=%d\n", n);
         printf("j=%d\n", j);
         }
         f1(int m, int k)
           {int  f;
             if (n)  n=k*n;
              j=m+j; f=n%j;
              return(f);}
       /*文件2*/
           int n=2;
           f2(int a, int b)
           { static  int m;
              extern   int  j;
              n=n*j+1;   j=j+m+1;  m=n+j+a+b;
              return(m);
           }
  三、填空题(每空2分,共22分)
   1. 以下程序功能:输入100本书的名称和单价,按照单价进行排序后输
      出。
   #include "stdio.h"
   #define  NUM  100
   struct book
      { char  name[20];
        float  price;
      }
   main()
     {  struct book term,books[NUM];
      int count;
      for (count=0;count<NUM; )
          {  printf("Input  book  name and price\n");
         scanf("%s%f", [ (1) ] );
         sortbook( term, books, count++);
      printf("------------------BOOK LIST-----------------\n");
      for(count=0;count<NUM;count++)
          printbook( [ (2) ] );
      }
    sortbook( term, pbook, count)
       struct  book  term;
       struct  book  *pbook;
       int  count;
             int k;
            struct  book  *q, [ ( 3 ) ];
            for (k=0; k<count; k++,pend++);
            for ( ; pbook<pend; pbook++)
               if ( pbook->price>term.price) break;
           for (q=pend-1; q>=pbook; q--)
            [ (4) ];
            [ (5) ];
       }
       printbook(pbook)
         struct  book  *pbook;
         { printf("%-20s %6.2f\n", pbook->name, pbook->price);
          }
  2.以下程序显示指定文件,在显示文件内容的同时加上行号。
    #include "stdio.h"
    #include "string.h"
    main()
      {char s[20],filename[20];
       int  flag=1, [ ( 6 ) ];
       FILE *fp;
       printf("Enter  filename");
       gets(filename);
       if((fp=fopen(filename,"r")) [ (7) ] )
        { printf("File open error !\n");
          exit(0);
       }
       while ([ (8) ])
      {
          while(fgets(s, 20, fp ) [ ( 9 ) ])
            { if ( [ (10) ] ) printf("%3d : %s",++i,s);
             else   printf("%s ", s);
             if ( [ ( 11 )] )  flag=1;
            else   flag=0;
           }
             }     fclose(fp);
        }
四、 编程序(第1题8分,第2题9分,第3题11分,共28分)
  1.某人有10张3分的邮票和10张5分的邮票,问使用这些邮票可以组
    合出多少种不同面值的邮资。(例如:1张3分邮票加1张5分邮票可
    以组成8分的邮资;5张3分的邮票或3张5分的邮票都可以组成同样
    面值的邮资。)
  2.已知某数列前两项为2和3,其后继项根据前面最后两项的乘积,按下
    列规则生成:
    (1)  若乘积为一位数,则该乘积即为数列的后继项;
    (2)  若乘积为二位数,则该乘积的十位数字和个位数字依次作为数列的
    两个后继项。
    请编程序生成该数列的前N项,并求前N项的和。要求:生成该数列
    后继项及求和过程用函数实现,在主函数中调用该函数。
  3.小刚假期同妈妈一起去书店,他选中了N本书,每本书的单价分别为:
    p1,p2,p3....,pn元(均为整数),不巧的是:妈妈只带了S(为整数)元钱,
    不够买这N本书(即:S<p1+p2+…+pn)。为了让小刚过一个愉快的假
    期,妈妈同意将这S元钱全部用来买书。也就是小刚要从所选的N本
    书中选出M本,使得这M本的价格和刚好等于S。即:pi1+pi2+
    pi3+…+pim=S,请你编程序将所有满足这一条件的i1,i2,i3…im依次打
    印出来。

    评分

    参与人数 1威望 +60 收起 理由
    控制面板 + 60 精品文章

    查看全部评分

    回复

    使用道具 举报

    13

    主题

    38

    帖子

    929

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    10
    威望
    771
    K币
    158 元
    注册时间
    2004-5-8
    沙发
     楼主| 发表于 2008-7-22 17:27 | 只看该作者
    01年c真题参考答案

    1.d        2.c        3.b        4.a        5.d                6.c        7.a        8.c       

    1.azcb
      rwza
      ynop(这道题我没有调试出来,不知道怎么搞得,我的tc对这道题有意见,大家一起确认一下吧)
    2.
                   1
                1  1
             1  2  1
          1  3  3  1
       1  4  6  4  1
    1  5 10 10  5  1

    3.   PQWTCH*#Q#
    4.        GCD
    5.        ABCDEAG
    6.        p1=0       
            p2=51       
            p3=0
            p4=97
            n=1
            j=0

    1.term.name,&term.price                2.&books[count]                3.*pend=pbook        4.*(q+1)=q        5.*(q+1)=term
    6.i=0        7.==NULL        8.!feof(fp)        9.!=0        10.flag==1        11.strlen(s)<19

    最后一道题,没有搞定,大家帮忙!!!
    1.
    #define N 101*101
    main()
    {int i,j,k,n,s,a[N];
    n=1;a[0]=0;
    for(i=0;i<=10;i++)
    for(j=0;j<=10;j++)
    {s=3*j+5*i;
    for(k=0;k<n;k++) if(s==a[k]) break;
    if(k==n){a[k]=s;n++;}}
    printf("have %d types\n",n);}

    2.

    #define N 10
    main()
    {int i,s,a[N+1];
    void creat(int a[],int n);
    a[0]=2;a[1]=3;
    creat(a,N);
    s=sum(a,N);
    printf("the a's primer part N :\n");
    for(i=0;i<N;i++)
    printf("%4d",a);
    printf("the sum of a is :\n");
    printf("\nsum=%d",s);}
    void creat(int a[],int n)
    {int i,t;
    for(i=2;i<n;i++)
    {t=a[i-1]*a[i-2];
    if(t/10==0) a=t;
    else {a=t/10;a[++i]=t%10;} }  }
    sum(int *a,int n)
    {int i,s;
    s=0;
    for(i=0;i<n;i++) s+=a; return s;}

    3.
    回复

    使用道具 举报

    0

    主题

    4

    帖子

    8

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    8 元
    注册时间
    2008-8-3
    板凳
    发表于 2008-8-3 22:32 | 只看该作者
    获益良多!!
    回复

    使用道具 举报

    1

    主题

    13

    帖子

    28

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    28 元
    注册时间
    2008-9-20
    地板
    发表于 2008-9-20 19:48 | 只看该作者

    Thanks

    Thank you very much!
    回复

    使用道具 举报

    0

    主题

    16

    帖子

    32

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    32 元
    注册时间
    2008-10-8
    5
    发表于 2008-10-11 20:09 | 只看该作者
    Thank you very much!
    回复

    使用道具 举报

    0

    主题

    7

    帖子

    14

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    14 元
    注册时间
    2009-3-19
    6
    发表于 2009-4-13 17:38 | 只看该作者
    ???这是产业经济学的试题???怎么跟计算机试题一样啊?
    回复

    使用道具 举报

    0

    主题

    2

    帖子

    8

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    8 元
    注册时间
    2009-3-25
    7
    发表于 2009-7-9 01:50 | 只看该作者

    大好人

    太好的人了!!!
    回复

    使用道具 举报

    0

    主题

    6

    帖子

    12

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    12 元
    注册时间
    2009-4-4
    8
    发表于 2009-8-23 20:04 | 只看该作者
    太牛了01年的题。
    回复

    使用道具 举报

    0

    主题

    2

    帖子

    4

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    4 元
    注册时间
    2009-8-28
    9
    发表于 2009-9-2 13:07 | 只看该作者

    请问您是这个学院的研究生吗?

    请问您是这个学院的研究生吗?
    回复

    使用道具 举报

    0

    主题

    181

    帖子

    328

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    328 元
    注册时间
    2010-3-9
    10
    发表于 2010-4-1 14:18 | 只看该作者
    多谢楼主,向您致敬!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    本版积分规则   

    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2024-5-20 00:07 , Processed in 0.061162 second(s), Total 22, Slave 21(Usage:7.25M, Links:[2]1,1_1) queries , Memcache On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭