C语言结构体单元练习.doc_第1页
C语言结构体单元练习.doc_第2页
C语言结构体单元练习.doc_第3页
C语言结构体单元练习.doc_第4页
C语言结构体单元练习.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.有以下定义和语句:struct student int age;int num; ;struct student stu3=1001,20,1002,19,1003,21;main() struct student *p;p=stu; 则以下不正确的引用是 。A) (p+)-num B) p+ C) (*p).num D) p=&stu.age2.有以下结构体定义:struct example int x;int y; v1;则正确的引用或定义是 。A) example.x=10 B) example v2; v2.x=10;C) struct v2; v2.x=10; D) struct example v2=10;3.对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是 。struct date int year,month,day; ;struct worklist char name20; char sex; struct date birth;person;A) year=1976 B) birth.year=1976 C) person.birth.year=1976 D) person.year=19764.根据下述定义,可以输出字符A的语句是 。struct person char name11;struct char name11; int age;other10;struct person man10= Jone,Paul,20,Paul,Mary,18,Mary,Adam,23,Adam,Jone,22;A) printf(%c,0); B) printf(%c,0);C) printf(%c,man2.(* other0); D) printf(%c,);5.若有以下程序段:struct st int n;struct st *next; ;struct st a3=5,&a1,7,&a2,9, 0 ,*p=a;则值为6的表达式为 。A) p+-n B) p-n+ C) (*p).n+ D) +p-n6.对于以下定义,不正确的叙述是 。union data int i;char c;float f;a,b;A) 变量a所占的内存长度等于成员f的长度B) 变量a的地址和它的各成员地址都是相同的C) 不能对变量a赋初值D) 可以在定义的时候对a初始化7.下述程序运行结果为 。#include struct st int n; int *m;*p;void main() int d5=10,20,30,40,50;struct st arr5=100,d,200,d+1,300,d+2,400,d+3,500,d+4;p=arr;printf(%dt,+p-n);printf(%dt,(+p)-n);printf(%dn,+(*p-m);A) 101 200 21 B) 101 20 30 C) 200 101 21 D) 101 101 108、以下程序的运行结构是 。#include main( ) union long a;int b;char c;m;printf(%dn,sizeof(m);A) 2 B) 4 C) 6 D) 79.若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在空格中应填入的内容是 。int *p;p= malloc(sizeof(int);A) int B) int * C) (* int) D) (int *)10、执行下述语句后的结果是 。enum weekday sun,mon=3,tue,wed, thu;enum weekday day;day=wed;printf(%dn,day);A) 5 B) 3 C) 4 D) 编译时出错11、下面程序的输出结果是 。main() enum abc green=3,red ;char *clr =red,blue,yellow,black,white,green;printf(%s and ,clrgreen);printf(%s,clrred);12、已知指针变量head指向单链表表头,下面程序用来统计链表中各个结点的数据项之和,请填空。struct link int data;struct link *next;main() int k;struct link *head;k=sum(head);printf(%dn,k);sum( 【1】 ) struct link *p;int s;s=head-data;p=head-next;while(p) s+= 【2】 ; p=p-next;return(s);13、以下程序完成链表的输出,请填空。void print(head)struct stu *head; struct stu *p;p=head;if( 【1】 )do printf(%d,%fn,p-num,p-score);p=p-next;while( 【2】 );14、下面程序的运行结果为 。typedef union student char name10;long sno;char sex;float score4;stu;main( ) stu a5;printf(%dn,sizeof(a);15、以下对枚举类型名的定义中正确的是 。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;16、下面程序的输出是 。main() enum team my,your=4,his,her=his+10;printf(%d%d%d%dn,my,your,his,her); A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 1517、下述程序的执行结果是 。#include union un int i;char c2;void main( ) union un x;x.c0=10;x.c1=1;printf(n%d,x.i); A) 266 B) 11 C) 265 D) 13817、有以下程序#include struct node int num;struct node *next;main() struct node *p,*q,*r;p=(struct node *)malloc(sizeof(struct node);q=(struct node *)malloc(sizeof(struct node);r=(struct node *)malloc(sizeof(struct node);p-num=10; q-num=20; r-num=30;p-next=q; q-next=r;printf(%dn,p-num+p-next-num);程序运行后的输出结果是 。A) 10 B) 20 C) 30 D) 4018、设有以下说明语句:typedef struct int n;char ch8;per;则下面叙述正确的是 。A) per是结构体变量名 B) per是结构体类型名C) typedef是结构体类型 D) struct是结构体类型名19、若有以下定义:struct link int data;struct link *next;a,b,c,*p,*q;且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论