上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
C语言复习习题--结构体与共用体
作者:未知 申领版权
2010年12月12日 共有 3715 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:
    

第十章    结构体与共用体

 1.说明一个结构体变量时系统分配给它的内存是
    A) 各成员所需要内存量的总和
    B) 结构体中第一个成员所需内存量
    C) 成员中占内存量最大者所需的容量
    D) 结构中最后一个成员所需内存量
    2.C语言结构体类型变量在程序执行期间
    A) 所有成员一直驻留在内存中
    B) 只有一个成员驻留在内存中
    C) 部分成员驻留在在内存中
    D) 没有成员驻留在内存中
    3.设有以下说明语句
    struct  stu  { int a ; float b ; } stutype ;
    则下面的叙述不正确的是
    A) struct 是结构体类型的关键字
    B) struct  stu 是用户定义的结构体类型
    C) stutype 是用户定义的结构体类型名
    D) a和b都是结构体成员名
    4.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 【          】 。 
    struct  stud  { char num[6]; int s[4]; double ave; } a,*p; 
    5.程序中有下面的说明和定义
    struct  abc  { int x;char y;}
    struct  abc s1,s2;
    则会发生的情况是
    A) 编译出错  
    B) 程序将顺利编译、连接、执行
    C) 能顺利通过编译、连接、但不能执行 
    D) 能顺利通过编译、但连接出错
    6.有如下定义 
    struct  person { char name[9]; int age;}; 
    struct  person  class[10]={ " Johu", 17,"Paul", 19,"Mary", 18,"Adam", 16}; 
    根据上述定义,能输出字母M的语句是 
    A) prinft(" %c\n",class[3].name); 
    B) printf(" %c\n",class[3].name[1]); 
    C) prinft(" %c\n",class[2].name[1]); 
    D) printf(" %c\n",class[2].name[0]); 
    7.下面程序的输出是
    A)0      B)1      C)3      D)6
    main()
    {  struct  cmplx {  int  x; int  y;} cnum[2]={1,3,2,7};
    printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}
    8.下列程序的输出结果是
    A)5      B)6      C)7      D)8
    struct  abc   { int  a, b, c; };
    main()
    { struct  abc  s[2]={{1,2,3},{4,5,6}};
    int t;
    t=s[0].a s[1].b;
    printf("%d \n",t);}
    9.有以下程序
    struct  stu
    { int  num;char  name[10];  int  age;};
    void  fun(struct  stu  *p)
    { printf("%s\n" ,(*p).name); }
    main()
    { struct stu students[3]={{9801,"Zhang",20} ,{9802,"Wang",     19} ,  {9803,"Zhao",18} };
    fun(students 2);    }
    输出结果是
    A)Zhang      B)Zhao      C)Wang      D)18
    10.设有如下定义: 
    struct  sk  {int  a ;float  b ;}data ,*p ; 
    若有p=&data ; ,则对data中的a域的正确引用是 
    A)(*p).data.a     B)(*p).a     C)p->data.a     D)p.data.a 
    11.下面程序的输出结果为
    struct  st  { int  x ;int  *y ;} *p ;
    int  dt[4]={10 ,20 ,30 ,40} ;
    struct  st  aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] } ;
    main()
    {  p=aa ;printf("%d\n" ,  p->x ) ;
    printf("%d\n" , ( p)->x) ;
    printf("%d\n" ,  ( *p->y)) ;
    }
    A)10      B)50      C)51      D)60
    20         60         60         70
    20         21         21         31
    12.为了建立如图所示的存储结构( 即每个结点含两个域, data 是数据域,next是指向结点的指针域,)请填空。
    data   next

    
 
    
 
    

   struct  link  { char  data;【                         】}node;
    13.有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
    A)a.next=q;           B)p.next=&b;   
    C)p->next=&b;        D)(*p).next=q;
    struct  node  { char  data; struct node *next;} a,b,*p=&a,*q=&b;
    data  next      data  next
    ┌──┬──┐  ┌──┬──┐
    a  │ 5 │   │ b│ 9 │ 0 │
    └──┴──┘  └──┴──┘
    ↑p             ↑q
    14.当说明一个共用体变量时系统分配给它的内存是
    A) 各成员所需要内存量的总和
    B) 共用体中第一个成员所需内存量
    C) 成员中占内存量最大者所需的容量
    D) 共用体中最后一个成员所需内存量
    15.以下对C语言中共用体类型数据的叙述正确的是
    A) 可以对共用体变量名直接赋值
    B) 一个共用体变量中可以同时存放其所有成员
    C) 一个共用体变量中不可以同时存放其所有成员
    D) 共用体类型定义中不能出现结构体类型的成员
    16.C语言共用体类型变量在程序运行期间
    A) 所有成员一直驻留在内存中
    B) 只有一个成员驻留在内存中
    C) 部分成员驻留在在内存中
    D) 没有成员驻留在内存中
    17.字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是
    #include〈stdio.h〉
    main( )
    { union { int  i[2];long k; char c[4];}r,*s=&r;
    s->i[0]=0x39;       s->i[1]=0x38;
    printf("%c\n",s->c[0])     }
    A)39      B)9      C)38      D)8
    18.若有以下说明和定义语句,则变量w在内存中所占的字节数是【                 】。
    union aa { float  x,y ; char c[6]; };
    struct st { union  aa  v;float  b[5];double  ave;} w;
    19.设有以下定义:
    #include  “alloc.h”
    typedef  union  {   long  i ;int  k[5] ;char  c ;}DATE ;
    struct  date
    {   int  cat ;DATE  cow ;double  dog ;}too ;
    DATE  max ;
    则下列语句的执行结果是
    printf("%d",sizeof(struct date) sizeof(max));
    A)25      B)30      C)18      D)8
    20.已知字符0的ASCII码为十六进制的30,下面程序的输出是
    A)6      B)9      C)0      D)3
    main()
    { union { unsigned  char  c;unsigned  int  i[4];}z;
    z.i[0]=0x39; z.i[1]=0x36;
    printf("%c\n",z.c);}
    21.变量a所占内存字节数是
    A)4      B)5      C)6      D)8
    union U
    { char  st[4] ;int  i ;long l ;} ;
    struct A  { int c;union U u;} a ;
    22.以下对枚举类型名的定义中正确的是 
    A) enum a={one ,two ,three} ; 
    B) enum a {one=9 ,two=-1 ,three} ; 
    C) enum a={"one" ,"two" ,"three"} ; 
    D) enum a {"one" ,"two" ,"three"} ; 
    23.设有如下枚举类型定义:
    enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;
    枚举量Fortran的值为
    A)4      B)7      C)102      D)103
    24.下面程序的输出是
    A)0 1 2 3     B)0 4 0 10     C)0 4 5 15     D)1 4 5 15
    main()
    {  enum  team { my ,your=4 ,his ,her=his 10};
    printf("%d%d%d%d\n",my,your,his,her);}
    25. 以下选项中,能定义s为合法的结构体变量的是 
    A)typedef struct abc               B)struct 
    { double a;                        { double a; 
    char b[10];                        char b[10]; 
    } s;                              } s; 
    C)struct ABC                       D)typedef ABC 
    { double a ;                       { double a; 
    char b[10] ;                       char b[10] ; 
    } ABC  s ;                         } ABC   s ;
    26.下面对的叙述中不正确的是
    A) 用typedef可以定义各种类型名,但不能用来定义变量
    B) 用typedef可以增加新类型
    C) 用typedef只是将已存在的类型用一个新的标识符来代表
    D) 使用typedef有利于程序的通用和移植
    27.下面程序的输出是
    A)32      B)16      C)8      D)24
    typedef  union  { long x[2];int y[4];char z[8];}MYTYPE;
    MYTYPE  them;
    main()
    {  printf("%d\n",sizeof(them));}
    28. 以下各选项企图说明一种新的类型名,其中正确的是
    A) typedef  v1  int;     B) typedef  v2=int;
    C) typedefv1  int  v3;   D) typedef  v4:  int;
    29. 以下程序的输出结果是
    struct HAR
    {   int   x, y; struct  HAR  *p;} h[2];
    main()
    {   h[0].x=1;h[0].y=2;
    h[1].x=3;h[1].y=4;
    h[0].p=&h[1]; 
    h[1].p=h;
    printf(“%d %d \n”,(h[0],p)->x,(h[1],p)->y);
    }
    A) 12  B) 23    C) 14     D) 32

    

 

相关新闻

700个MBA面试题
化学实验基本操作复习
有机化学
如何学好高中化学
2011届高三化学一轮复习36
2011届高三化学一轮复习35
2011届高三化学一轮复习34
2011届高三化学一轮复习32
2011届高三化学一轮复习31
2011届高三化学一轮复习30

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》