




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 结构体与联合体选择题1、若程序中有以下的说明和定义:struct abc int x;char y; struct abc s1,s2;则会发生的情况是_ A_。A) 编译时错B) 程序将顺序编译、连接、执行C) 能顺序通过编译、连接、但不能执行D) 能顺序通过编译、但连接出错2、有以下程序段struct st int x; int *y;*pt;int a=1,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为11的是 C A) *pt->yB) pt->xC) +pt->xD) (pt+)->x3、有以下说明和定义
2、语句struct student int age; char num8;struct student stu3=20,"200401",21,"200402",19,"200403"struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是_D_。A) (p+)->numB) p->numC) (*p).numD) stu3.age4、设有如下枚举类型定义 enum language Basic=3,Assembly=6,Ada=100,COBOL,Fortran;枚举量Fortran的值为_
3、C_。A) 4B) 7C) 102D) 103 5、以下叙述中错误的是_A_。A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名6、有以下程序段typedef struct NODE int num; struct NODE *next; OLD;以下叙述中正确的是 C A)以上的说明形式非法B) NODE是一个结构体类型C) OLD是一个结构体类型D) OLD是一个结构体变量7、以下选项中不能正确把cl定义成结构体变量的是_B_。1t
4、ypedef struct int red; int green; int blue; COLOR; COLOR cl;2struct color cl int red; int green; int blue; ;3struct color int red; int green; int blue; cl;4struct int red; int green; int blue; c1;A) 1B) 2C) 3D) 48、设有以下语句typedef struct S int g; char h; T;则下面叙述中正确的是_ _B_。A)可用S定义结构体变量B)可以用T定义结构体变量C) S是
5、struct类型的变量D) T是struct S类型的变量9、设有如下说明typedef struct ST long a;int b;char c2; NEW;则下面叙述中正确的是_C_。A)以上的说明形式非法B) ST是一个结构体类型C) NEW是一个结构体类型D) NEW是一个结构体变量10、以下对结构体类型变量td的定义中,错误的是_C_。A) typedef struct aaB) struct aa int n; int n; float m; float m; AA; ; AA td; struct aa td;C) structD) struct int n; int n; f
6、loat m; float m; aa; td; struct aa td;11、根据下面的定义,能打印出字母M的语句是_D_。struct person char name9; int age;struct person class10="John",17, "Paul",19,"Mary",18, "Adam",16;A) printf("%cn",);B) printf("%cn",1);C) printf("%cn
7、",1);D) printf("%cn",0);12、设有以下语句: struct st int n; struct st *next; static struct st a3=5,&a1,7,&a2,9,'0',*p; p=&a0;则表达式D 的值是6。A) p+ ->nB) p->n+C) (*p).n+D) +p->n13、下面程序的输出结果为 C struct st int x; int *y; *p;int dt4=10,20,30,40;struct
8、st aa4= 50,&dt0,60,&dt1,70,&dt2,80,&dt3 ;main() p=aa; printf("%dn", +p->x ); printf("%dn", (+p)->x); printf("%dn", +( *p->y);A) 10 B) 50 C) 51 D) 6020 60 60 7020 21 21 3114、若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是_C_。A) s->next=NUL
9、L; p=p->next; p->next=s;B) p=p->next; s->next=p->next; p->next=s;C) p=p->next; s->next=p; p->next=s;D) p=(*p).next; (*s).next=(*p).next; (*p).next=s;15、下面程序的输出是 Cmain() 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、10 C) 0 4 5 15 D) 1 4 5 1516、下面程序的输出是 D main() struct cmplx int x; int y; cnum2=1,3,2,7;printf("%dn",cnum0.y /cnum0.x * cnum1.x);A) 0 B) 1 C) 3 D) 617、设有如下定义: struct skint a;float b;data,*p; 若有p=&data;,则对data中的a域的正确引用是_B_。18、有以下程序: *#include<stdio.h>union pw int i; char ch2; a;ma
11、in() a.ch0=13; a.ch1=0; printf("%dn",a.i); 程序的输出结果是 。(注意: ch0在低字节,ch1在高字节。)A) 13 B) 14 C) 208 D) 20919、已知字符0的ASCII码为十六进制的30,下面程序的输出是_。main() union unsigned char c;unsigned int i4; z;z.i0=0x39;z.i1=0x36;printf("%cn",z.c);A) 6 B) 9 C) 0 D) 320、字符'0'的ASCII码的十进制数为48,且数组的第0个元素
12、在低位,则以下程序的输出结果是_。#include<stdio.h>main( ) union int i2; long k; char c4; r,*s=&r;s->i0=0x39;s->i1=0x38;printf("%cn",s->c0) ; A) 39 B) 9 C) 38 D) 8填空题1、以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。单向链表的头指针作为函数值返回.请填空:#include<stdio.h>struct list char data; struct list *
13、 next; ;struct list * creat() struct list * h,* p,* q;char ch;h= struct list * malloc(sizeof(struct list);p=q=h;ch=getchar();while(ch!='?') p= struct list * malloc(sizeof(struct list);p->data=ch;p->next=p;q=p;ch=getchar();p->next='0'return(h)2、有以下说明定义和语句,可用引用结构体成员day, 请写出引用结
14、构体成员的其它两种形式 (*b).day 、 b->day 。structint day;char mouth;int year;a,*b; b=&a;datanextheaddatanextdatanext3、现有如图所示的存储结构,每个结点含两个域,data是指向字符串的指针域,next是指向结点的指针域。请填空完成此结构的类型定义和说明。struct linkchar *data ; struct link *next; *head;4、若有以下说明和定义语句,则变量w在内存中所占的字节数是 。union aa float x, y;char c6;struct st un
15、ion aa v; float w5; double ave; w;5、设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 30_ 。Struct stud char num6;int s4;double ave; a,*p;6、以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。struct st char name20; double score; ;main() struct st ex; printf(“ex size: %dn”,sizeof( _ ex _ );7、以下程序段用于构成一个简单的单向链表,请填空。struct STRU int x, y ;float
16、rate;_ struct STRU_* p; a, b;a.x=0; a.y=0; a.rate=0; a.p=&b;b.x=0; b.y=0; b.rate=0; b.p=NULL;8、若有如下结构体说明:struct STRU int a, b ; char c; double d:struct STRU p1,p2;请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型_struct STRU _ t20;9、若以下定义和语句,则sizeof(a)的值是 _9_ ,而sizeof(b)的值是 _4_ struct int day; char mouth; int year
17、; a, *b; b=&a; sp next data root 10、变量root有如图所示有存储结构,其中sp是指向字符串的指针域,next 是指向该结构的指针域,data用以存放整型数. 请填空 , 完成此结构的类型说明和变量root的定义struct list char *sp; _ struct list *next_; _int_data_;root;11、设有以下定义 struct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: _ _ _| | | | | | | | | | -| | -| | |_|_| |_|_
18、| |_|_| x y z请写出删除结点y的赋值语句_x.link=z_;_。12、以下程序的运行结果是 2002Shangxian # include <string.h>typedef struct student char name10; long sno; float score; STU;main( ) STU a=“zhangsan”,2001,95,b=“Shangxian”,2002,90,c=“Anhua”,2003,95,d,*p=&d; d=a; if(strcmp(,)>0) d=b; if(strcmp(,)>0) d=c; printf(“%ld%sn”,d.sno,p->name); 13、以下程序运行后的输出结果是 13431 struct NODE int k; struct NODE *link;main() struct NODE m5,*p=m,*q=m+4; int &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45215-2025危险货物自反应物质和有机过氧化物引爆试验方法
- 停放车辆服务合同范本
- 加盟投资协议合同范本
- 住房购房合同范例
- 劳务家政合同范本
- 仪器安装服务合同范本
- 修路挖机合同范本
- 临时增项合同范本
- 北京公司担保合同范本
- 做楼房施工合同范本
- 中医师承跟师笔记50篇
- 《工程地质学》孔宪立-石振明第五章(部编)课件
- 个人股份转让合同协议
- 聚乳酸-标准规程
- 供应商对比方案报告
- 儿童支气管哮喘规范化诊治建议(2020年版)
- 《中国传统文化》教案全套张建第1-10模块历史的天空中国传统文化-绚丽的生活中国古代的生活方式
- 【重庆市S区部分居民糖尿病知识知晓情况调研报告(含问卷)11000字(论文)】
- 中南财经政法大学806经济学(宏、微观)考试大纲解析
- 卵巢癌术后护理查房
- 三轮车售后服务合同
评论
0/150
提交评论