考研论坛

 
查看: 2589|回复: 2
打印 上一主题 下一主题

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

[复制链接]

13

主题

38

帖子

929

积分

中级战友

Rank: 3Rank: 3

精华
10
威望
771
K币
158 元
注册时间
2004-5-8
跳转到指定楼层
楼主
发表于 2008-7-22 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中央财经大学
    2000年硕士研究生入学考试试题
    考试科目:C语言
    注意:所有答案必须写在答题纸上,只抄题号,不必抄题,写在
试卷纸上无效。
一、选择题
    请给下列各题选择一个合适的答案(每题2分,共8分)
    1、若定义:char ch[10],则以下表达式中[    ]不是元素ch[1]
    的地址。
    A)ch+1    B)&ch[0]+1    C)ch++    D)&ch[1]
    2、以下关于C语言中静态变量的说法,只有[  ]是不正确的。
    A) 静态变量每次启用时的值不变。
    B) 静态变量在数据说明时就被分配内存单元。
    c) 静态变量占用的内存要到程序运行结束才释放。
    D) 静态变量每次启用时的值就是上次退出作用域时的值。
    3、下列对C语言中字符数组的说法中,错误的是[  ]。
    A) 在C语言中可用字符数组存放字符串。
    B) 可以用关系运算符对字符数组中的字符串进行比较。
    C) 字符数组中的字符串可以整体输入、输出。
    D) 字符数组中的字符串可以按单个字符输入、输出。
    4、若在C语言程序中使用以下的二维数组定义语句并赋以部
    分初值,其中不正确的定义是[  ]   
    A) int a[2][3]={{4},{5,6}}    B) int a[2][3]={{4},{5},{6}}
    c) int a[2][3]={4,5,6}        D) int a[2][3]={{4},5,6}
一、 读程序:给出程序执行后的输出结果。(每题5分,共30分)
    1、执行以下程序的输出结果。
    #include "stdioh"
    main()
    {union
    {int i[2];
     long k;
     char c[4];
    }*s;
    s->i[0]=0x35;
          s->i[1]=0x34;
          printf("%lx\n",s->k);
          printf("%c\n",s->c[0]);
       }
    2, #define  PRINT(x)  printf("%d\n",x)
        #include "stdio.h"
        mian()
        { int x,y,z;
           x=1;y=1;z=0;
           x=x&&y||z;
           PRINT(x); PRINT(x||y++&&++z); PRINT(y); PRINT(z);
        }
    3, #include "stdio.h"
         int test(int n)
         { int d=0,m=n;
           while(m){
                  d=d*10+m%10;
                   m/=10;
               }
        return (d==n);
         }
        int data[]={5,123,121,453,545};
       main()
        { int i;
          for(i=0;i<sizeof(data)/sizeof(int);i++)
              printf("%5d %s\n",data,test(data)?"OK":"NO");
      }
4, struct ks{ int a;
                 char *b;
           } as[]={5 "abcd",6,"efgh"};
     main()
     { struct ks *p;
       p=as;
       printf("%s\n",as[1].b);
       printf("%s\n",p->b++);
       printf("%s\n",p->b);
          printf("%s\n",p++->b);
          printf("%s\n",p->b);
      }
5.   #include "stdio.h"
     main()
        { int i;
           char  *f="%10.10s\n",*a="****************";
           for(i=1;i<=4;i++)
            {*(f+2)=2*i+'0';
             *(f+4)=4*i/10+'0';
             *(f+5)=4*i%10+'0';
                printf(f,a);
          }
         }
  6, char *c[]={"ENTER","THIRD","SECOND","FIRST"};
        char  **cp[]={c+3,c+2,c+1,c};
        char  ***cpp=cp;
      main()
         { printf("%s\n";**++cpp);
            printf("%s\n",*--*++cpp+3);
          printf("%s\n",*cpp[-2]+3);
          printf(%s\n",cpp[-1][-1]+1);
        }
二、填空题(每空3分,共39分)
                                                                                                                ~ 4-            ,
   1. 本程序每次输入一个用户编码及其欠款金额后,就累计同一
      用户的欠款金额,并按用户编码由小到的大顺序排列已输入
      的所有欠款,最后输出排序后的全体用户的欠款总额清单。
               #include "stdio.h"
               #define MN 100
               long code[MN];
               float money[MN];
            main()
             {
                   int  u,v,n;
                   long t_code;
                   float t_money;
                   n=0;
               printf("Enter first code and money(-1 to quit");
               scanf("%ld",&t_code);
               while (t_code>0) {
                   scanf("%f",&t_money);
                   u=0;
                   While( [ (1) ]) u++;
                    if ( [ (2) ]) money+=t_money;
                       else  {
                         for([ (3) ]){
                                 code[v]=code[v-1];
                                 money[v]=money[v-1],
                              }
                         code=t_code;
                         money=t_money;
                    [ (4) ];
                      }
                     printf("Enter next code and money(-1 to quit)");
                     scanf("%ld",&t_code);
             for(u=0;u<n;u++) printf(%5ld%f\n",code,money);
          }
2、  对于正整数n输出其和等于 n 且满足以下限制条件的正整数
     的和式,既组成和式的数字自左至右构成一个非递增的序列。
     如:n=4 则程序输出为:
         4=4
         4=3+1
         4=2+2
         4=2+1+1
         4=1+1+1+1
     #define MAXN   100
     int a[MAXN];
     rd (int n, int k)
     { int j,i;
       for(j=[ (1)  ];j>=1;j--)
       { a[k]=j;
           if ( [ (2) ] )
              { printf(%d=%d",a[0],a[1]);
                  for(i=2;i<=k;i++) printf("+%d",a);
                   printf("\n"); }
                 else  [ (3) ];
        }
   }
      int test_data[]={3,4,5};
     main()
      {
         int i;
         for(i=0;i<sizeof(test_data)/sizeof(int);i++)
        {
             a[0]=test_data;
             rd(test_data, 1);
         }
       }
3.  以下程序output.c, 其功能是将命令行中所列的文件依次在
    屏幕上显示,每显示完一个文件内容后,用户按任意一键,
    则显示下一个文件。如果命令中所列的文件不能打开或没有
    给出文件名,则会显示相应的信息,命令的格式为:
            output 文件1 文件2 .....
       #include "stdio.h"
         main(argc,argv )
         int argc;
       char  [  (1)  ];
        {  FILE *fp;
           int i;
           if([ (2) ]) printf("命令行参数错误:缺少文件名\n");
               else  for(i=1;i<argc;i++)
                  { if ((fp=fopen(argv," [ (3) ] "))==NULL)
                      printf("文件<<%s>>不能打开。\n",argv);
                          else  output ( [ (4) ] );
                      [ (5) ];
                          if(i!=argc-1)
                  {printf("\n按任意一键,显示下一个文件\n");
                                     getchar();
                            }
                         }
       }
    output(fptr)
    FILE *fPTR;
    { int c;
      while((c=[ (6) ])!=EOF)
         putchar(c);
    }
三、编程序题(第1、2题各7分,第3题9分,共23.分)
    1、有N个学生,每个学生记录包括学号、姓名、成绩,数据
       从键盘输入。要求找出成绩最高者的姓名和成绩。
    2、将一个偶数分解成两个素数之和,并按下面格式输出结果。
    如:   
    6=3+3
    8=5+3
    10=7+3
    10=5+5
    2、将自然数按下图所示的次序存到NxN的二维数组A中。
       (注:下图所示是一个5×5的二维数组,箭头是提示自然数
       出现的顺序。
      1  一  2     9 一 10    25
             ↓    ↑    ↓    ↑
      4  ←  3     8    11    24
      ↓           ↑    ↓    ↑
      5  →  6 →  7    12    23
                         ↓    ↑  
      16 ← 15 ← 14 ← 13    22
      ↓                       ↑
      17 → 18 → 19 → 20 → 21

    评分

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

    查看全部评分

    回复

    使用道具 举报

    13

    主题

    38

    帖子

    929

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    10
    威望
    771
    K币
    158 元
    注册时间
    2004-5-8
    沙发
     楼主| 发表于 2008-7-22 17:25 | 只看该作者

    1.c        2.a        3.b        4.b       

    二 读程序写出程序结果

    1.340035

    2.1
      1
      1
      0

    3.
      5OK
    123NO
    121OK
    453NO
    545OK

    4.
    efgh
    abcd
    bcd
    bcd
    efgh

    5.
                      ****
                    ********
                  ************
                ****************

    6.
    SECOND
    ER
    ST
    HIRD

    三 填空题

    1.(1)t_code>code&&u<n        (2)t_code==code        (3)u=n;v>u;v--        (4)n++
    2.(1)n        (2)a[k]==n&&a[k]<=a[k-1]        (3)if(a[k]<=a[k-1]) rd(n-a[k],k+1)
    3.(1)*argv[]        (2)argc<2        (3)r        (4)fp        (5)fclose(fp)        (6)fgetc(fp)

    四 编程题

    1.#include <math.h>
    #define N 3
    main()
    {struct node{float score;int num;char name[20];}a[N];
    int i,k;
    k=0;
    printf("input %d students information:\n",N);
    for(i=0;i<N;i++)
    {scanf("%f,%d,%s",&a.score,&a.num,a.name);
    printf("%f",a.score);}
    for(i=0;i<N;i++)
    if(a.score>a[k].score)  k=i;
    printf("%s,%f",a[k].name,a[k].score);
    }

    2.
    main()
    {int i,num;
    printf("input a double number:\n");
    scanf("%d",&num);
    for(i=num-3;i>=num/2;i=i-2)
    if(su(i)&&su(num-i))
    {printf("%d=%d+%d\n",num,i,num-i);continue;}
    else continue;}
    su(int s)
    {int i;for(i=2;i<s;i++) if(s%i==0) return 0;
    return 1;}

    3.

    #define N 5
    main()
    {int m,n,x,a[N][N];
    for(m=n=x=0;m+n<N;m++,n++)
    {if((m+n)%2==0)
    {for(;n<=m;n++)  a[m][n]=++x;n=n-1;}
    else{for(;m<=n;m++) a[m][n]=++x;m=m-1;}
    if(m%2==0)
    for(m=m-1;m>=0;m--) a[m][n]=++x;
    else
    for(n=n-1;n>=0;n--)  a[m][n]=++x;
    }
    for(m=0;m<N;m++)
    {for(n=0;n<N;n++)
    printf("%6d",a[m][n]);printf("\n");} }
    回复

    使用道具 举报

    0

    主题

    4

    帖子

    8

    积分

    新手上路

    Rank: 1

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

    使用道具 举报

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

    本版积分规则   

    关闭

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

    扫描二维码下载资料

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

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

    GMT+8, 2025-12-7 12:54 , Processed in 0.091445 second(s), Total 23, Slave 21(Usage:6.75M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

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