全国计算机等级考试网 资讯快报 | 报考指南 | 一级考试 | 二级考试 | 三级考试 | 四级考试 | 证书查询
各省考试: | |
您现在的位置: 全国计算机等级考试网 >> 二级考试 >> C语言 >> 模拟试题 >> 文章正文
二级C语言教程章节测试14.结构体与共用体及用户定义类型
作者:佚名    文章来源:不详    点击数:    更新时间:2008-8-20 
【字体:
  一、选择题:
    (1)有以下程序段
     typedef struct NODE
     { int  num;     struct NODE  *next;
     } OLD;
    以下叙述中正确的是
     A)以上的说明形式非法   B)NODE是一个结构体类型
     C)OLD是一个结构体类型   D)OLD是一个结构体变量

    (2)有以下程序
     # include  
     struct STU
     { int  num; 
     float  TotalScore;  };
     void f(struct STU  p)
     { struct STU  s[2]={{20044,550},{20045,537}};
       p.num = s[1].num;    p.TotalScore = s[1].TotalScore;
     }
     main()
     { struct STU  s[2]={{20041,703},{20042,580}};
       f(s[0]);
       printf("%d  %3.0f\n", s[0].num, s[0].TotalScore);
     }
    程序运行后的输出结果是
     A)20045 537  B)20044 550  C)20042 580  D)20041 703

(3)有以下程序
     # include   
     struct STU
     { char  name[10]; 
      int  num; };
     void f(char  *name,  int  num)
     { struct STU  s[2]={{"SunDan",20044},{"Penghua",20045}};
       num = s[0].num;
       strcpy(name, s[0].name);
     }
     main()
     { struct STU  s[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
       p=&s[1];   f(p->name, p->num);
       printf("%s  %d\n", p->name, p->num);
     }
    程序运行后的输出结果是
     A)SunDan  20042    B)SunDan  20044
     C)LiSiGuo  20042     D)YangSan  20041

(4)有以下程序
     struct STU
     { char  name[10];    int  num;    float  TotalScore;  };
     void f(struct STU  *p)
     { struct STU  s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}, *q=s;
       ++p ;  ++q;  *p=*q;
     }
     main()
     { struct STU  s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};
       f(s);
       printf("%s  %d  %3.0f\n", s[1].name, s[1].num, s[1].TotalScore);
     }
    程序运行后的输出结果是
     A)SunDan  20044  550    B)Penghua  20045  537
     C)LiSiGuo  20042  580    D)SunDan  20041 703

    (5)若有以下说明和定义
    union  dt
    {
        int  a;   char  b;  double  c;
    }data;
    以下叙述中错误的是                         
    A)data的每个成员起始地址都相同
    B)变量data所占内存字节数与成员c所占字节数相等
    C)程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000
    D)data可以作为函数的实参

    (6)设有如下说明
    typedef  struct  ST
    {
       long a;
       int  b;
       char  c[2];
    } NEW;
    则下面叙述中正确的是            
    A)以上的说明形式非法
    B)ST是一个结构体类型
    C)NEW是一个结构体类型
    D)NEW是一个结构体变量

    (7)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。
    struct  node
    {
         int data;  
         struct node  *next;
    } *p,*q,*r;
    现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是         
    A)p->next=q->next;
    B)p->next=p->next->next;
    C)p->next=r;
    D)p=q->next;

(8)以下对结构体类型变量td的定义中,错误的是             
    A)typedef   struct  aa
       {
          int   n;
          float  m;
       }AA;
       AA  td;
    B)struct  aa
       {
         int   n;
         float  m;
       }  td;
       struct  aa td;
    C)struct
       {
           int  n;
           float  m;
       }aa;
       struct  aa td;
    D)struct
       {
           int  n;
           float  m;
       }td;

    (9) 有以下说明和定义语句
    struct student
    { int age; char num[8];};
    struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
    struct student *p=stu;
    以下选项中引用结构体变量成员的表达式错误的是
    A) (p++)->num  B) p->num   C) (*p).num  D) stu[3].age
    10~12.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。
    #include
    stuct node
    { char data; struct node *next;};
     (10)  CreatList(char *s)
    { struct node *h,*p,*q);
      h=(struct node *) malloc(sizeof(struct node));
      p=q=h;
      while(*s!='\0')
      {  p=(struct node *) malloc(sizeof(struct node));
         p->data=  (11)  ;
         q->next=p;
         q=  (12)  ;
         s++;
      }
      p->next='\0';
      return h;
    }
    main()
    { char str[]="link list";
      struct node *head;
      head=CreatList(str);
      ...
    }

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    更多资讯
     07年4月等级考试二级C语言模拟练习一[1] (8月20日)
     07年4月等级考试二级C语言模拟练习一[3] (8月20日)
     07年4月等级考试二级C语言模拟练习一[4] (8月20日)
     二级C语言教程章节测试13.编译预处理和动 (8月20日)
     二级C语言教程章节测试14.结构体与共用体 (8月20日)
     二级C语言教程章节测试8.指针 (8月20日)
     二级C语言教程章节测试10.字符串 (8月20日)
     二级C语言教程章节测试9.一维数组与指针( (8月20日)
     二级C语言教程章节测试11.对函数的进一步 (8月20日)
     二级C语言教程章节测试15.位运算 (8月20日)
     二级C语言教程章节测试3.顺序结构:输入与 (8月20日)
     二级C语言教程章节测试2.C语言基本语法知 (8月20日)
     二级C语言教程章节测试6.字符型数据 (8月20日)
     二级C语言教程章节测试12.用户标识符的作 (8月20日)
     二级C语言教程章节测试4.选择结构 (8月20日)
     全国计算机等级考试二级C模拟试题一 (8月20日)
     计算机等级考试二级C语言重点测试题:函数 (8月20日)
     《C语言》上机实验题及参考答案 (8月20日)
     计算机等级考试二级C语言考前密卷汇总 (8月20日)
     计算机等级二级C语言程序设计100例一 (8月20日)
     ·热门图文

    没有任何图片文章
     ·热门课程培训
    普通文章 湖南:2008年下半年计算机等级考试6月10日-25日报
    普通文章 海南:2008年下半年计算机等级考试报名
    普通文章 关于2008年下半年山西省全国计算机等级考试报名
    普通文章 四川:2008年下半年全国计算机等级考试开始报名
    普通文章 河南:2008年下半年计算机等级考试6月1日-7月15日
    普通文章 福建:2008年下半年计算机等级考试报名
    普通文章 宁夏:2008年下半年计算机等级考试报名
    普通文章 广西:2008年下半年计算机等级考试报名
    普通文章 江苏:2008年下半年计算机等级考试报名
    普通文章 2008年全国计算机等级考试启用新版教材
     ·最新推荐信息
     新疆:2008年下半年计算机等级考试报名
     2009年4月一级笔试练习习题汇总
     全国计算机等级考试职业英语一级全国计算机等级考试网纲(2008年
     全国计算机等级考试二级Delphi考试
     2008年上半年全国计算机等级考试成绩查询信息汇总
     2008年下半年全国计算机等级考试报名信息汇总
     2008年9月NCRE成绩查询通知
     全国职称计算机考试三大变化6月17-23日开考
     2006下半年开始计算机等级考试成绩可替换相关自考
     浙江省高校计算机等级考试发展简史