考研论坛

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

【推荐】中央财经大学产业经济学(信息)1997初试试题

[复制链接]

13

主题

38

帖子

929

积分

中级战友

Rank: 3Rank: 3

精华
10
威望
771
K币
158 元
注册时间
2004-5-8
跳转到指定楼层
楼主
发表于 2008-7-22 17:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中央财经大学
    一九九七年硕士研究生入学考试试题
    考试科目:c语言程序设计
    招生专业:信息经济    .
注意:本试题所有的答案,均按试题顺序号写在答题纸上,不必抄题;写在试题纸上不得
    分。
一、判别下列关于c语言的叙述,若正确,请在答题纸上相应题号标以[√],若错误,则
标以[×]。(每题2分.共lO分)
    1.自动变量是在函数内定义的局部变量,外部变量是为访问其他的源文件而在任何函
数以内定义的全程变量。
    2.C函数不可嵌套定义,但可递归调用。
    3.变量、常量和表达式可以用取地址运算符&进行取地址操作。
    4.可以把一个数组名作为一个同名的指针来使用,或者把顺序的指针作为同名的数组
名来使用。
    5.c函数只有值参调用,而且每个函数可以返回至多一个结果值。
二、选择题:下列每题选择一个合适的答案(每题2.5分,共10分)
    1.对静态函数A、B进行如下初始化:
    static char A[]="ABCDEF";
    static char B[]={'A','B','c','D','E','F'};
    下列叙述正确的是:
    A.A和B完全相同    B.A和B是长度相等
    c.A和B不相同,A是指针数组  c.A数组长度比B数组长
    2.类型定义
    char s[3]="AB";
    char *p;
    执行了语句p=s之后,*(p+2)的值是:
    A.'B',    B.'/O',    C.不确定,    D.字符'B'的地址
    3.数组名作为参数传递给函数,作为实在参数的数组名被处理为:
    A.该数组的长度    B.该数组的元素个数
    C.该数组中各元素的值    D.该数组的首地址
    4.关于字符串
    A.C语言提供字符串数据类型
    B.不提供字符串数据类型,但提供字符串整体操作的运算符
    c.调用库函数可以进行字符串操作
    D.借用其他运算符进行字符串整体操作
三.读程序,给出程序执行结果(每题10分,共20分)
    1.
    #define CMPLX struct complex
    CMPLX {int re;int im;}
    main()
    {static CMPLX za={3,4};
     static CMPLX zb={5,6};
              CMPLX z, cmult(), x, y;
              z=cmult(za,zb);
              cpr(za, zb, z);
                x.re=10; x.im=20; y.re=30; y.im=40;
                z=cmult(x, y);
                cpr(x, y, z);
            }
           CMPLX cmult(za, zb)
                    CMPLX za, zb;
             { CMPLX z
                          z.re=za.re*zb.re-za.im*zb.im;
                          z.im=za.re*zb.im+za.im*zb.re;
                          return (z);
            }
           cpr(za, zb, z)
           CMPLX za, zb, z;
              {printf("(%d+%di)*(%d+%di)=",
                  za.re, za.im, zb.re, zb.im);
             printf("%d+%di\n", z.re,  z.im);
           }
      2.
           main()
            {char *p, *a;
             int i;
             p="%2d=%-20.1s\n";
             for(i=1; i<10; i++)
              {*(p+9)=i+'0';
             prinrf(p, i, a);
             }
四、写程序,阅读程序说明,写出C语言程序,(每题10分,共20分)
    1. 有数的集合 {2^m,3^n|m≥1,n≥1},从两个数列{2^m}和{3^m}中取出小的数进入
新的数列,使它们按升序排列,新数列不用数组存放,而直接打印输出。
    2. 有单链表,head为链表的头指针,按升序查找并且打印链表中各结点数据,打印完
该结点后,把它从链表中删除,直至链表为空。
五、填空题,阅读程序说明和程序,填充程序中编号为[1]、[2]……中的空白。(共40分)
    1. 寻找具有完全平方且不超过七位数的回文数,所谓回文数,是指它的各位数码是
左右对称的,例如121、676、94249等,本程序采用分解数方法判断回文数。(10分)
     #include <stdio.h>
    #include  <math.h>
    int symm(int n)
    {  int i, j, k;
        int m;
       i=n; j=0;
          while [ 1 ]
          }
           j++; i/=10; }
           k=j>>1; m=0;
           for(i=1; i<=k; i++)    {
           [  2  ]
           n/=10;}
          if [  3  ]
             n/=10;
          if (m==n) return (1);
          else return (0);
      }
      main()
      {int i, s;
         for(i=11; i<=(int) (sqrt(9999999)); i++) {
         [  4  ];   
         if (symm(s)) printf("%10d", s);
          }      
      {
2. 运动会连续开了n天,一共发了m枚奖章。第一天发1枚并留下(m-1)枚的1/
7, 其余枚数用语第二天。第二天发2枚,并照例留下1/7,以后照此办理,最后一天发完
剩下的全部奖章。程序求解运动会开的天数和共发的奖章数。(15分)
         #include <stdio.h>
         main()
           {char m, n, x, b;
         x=0;
         do {x++; [  1  ]
              n=1; b=0xff;
              while((m>n)&&b) {

                    [  2  ]
                    if(!(m%7)) m=(int)(m/7)*6;
                    else b=0;
                    n++;}
               }  while [  3  ]
              printf("n=%6dm=%8d", n, 7*x+1);
     3.摇动排序算法程序,有数组r[0], r[1], "", r[n-1],从一端开始扫描,进行
比较、交换,然后改变下一趟的扫描方向,进行同样处理。(15分)
           #define m 100
           typedef struct {
                            int key;
                            float inf;
                            } element;
           typedef element list[m];
           void shakesort(list r, int n)
                   {
           int i, l, h;
           element extr;
           l=0;
           h=n-1;
             [  1  ]
           do
              {
                for(i=1; i<h; i++)
                 if(r.key>r[i+1]. key)
                   {        
                   extr=r;
                   r=r[i+1];
                   r[i+1]=extr;
               }
             [  3  ];
          for(i=h; i>=1, i--)
           if(r.key>r[i+1].key)
           {
            extr=r;
            r=r[i+1];
            r[i+1]=extr;
             [  4  ]   
            }
         [  5  ];
        } while (1<=h);

    评分

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

    查看全部评分

    回复

    使用道具 举报

    7

    主题

    53

    帖子

    106

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    106 元
    注册时间
    2008-10-24
    沙发
    发表于 2008-10-30 16:20 | 只看该作者
    再次谢谢了啊
    回复

    使用道具 举报

    1

    主题

    25

    帖子

    21

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    21 元
    注册时间
    2008-11-1
    板凳
    发表于 2008-11-1 17:05 | 只看该作者
    谢谢!!!!
    回复

    使用道具 举报

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

    本版积分规则   

    关闭

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

    扫描二维码下载资料

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

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

    GMT+8, 2025-12-8 08:29 , Processed in 0.086280 second(s), Total 12, Slave 10(Usage:6.5M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

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