实验二十五结构体和共用体实验.doc_第1页
实验二十五结构体和共用体实验.doc_第2页
实验二十五结构体和共用体实验.doc_第3页
实验二十五结构体和共用体实验.doc_第4页
全文预览已结束

下载本文档

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

文档简介

实验二十五 结构体和共用体实验 实验要点一、结构体数组1、结构体数组的定义、初始化若数组元素的类型为结构体类型,数组为结构体数组。定义结构体数组的同时也可对数组进行初始化操作。例如,struct studentint number; /*学号*/ char name10; /*姓名*/ float score4; /*四门课程成绩*/ float total; /*总分*/ float ave; /*平均成绩*/stu3= 461,liu,80,78,67,80,0,0,032,geng,98,78,86,90, 0,0,103, qian,79,89,68,80,0,0 ;可以定义指向结构体数组元素的指针变量,然后通过指针对数组元素操作。2、结构体数组的引用结构体数组元素也是通过数组名和下标来引用,但要注意只能对最低级的成员进行存取和运算。引用的一般形式为:数组名下标.成员名。例如,stu1.number 、stu0.score2、 stu2.ave,当结构体类型的指针指向结构体类型的变量时,通过指针引用结构体数组元素的形式和通过指针引用结构变量形式一样,为: (*指针变量名).成员名 或 指针变量名-成员名。例如,语句“p=&stu1;”之后,可以有(*p).number、(p-1)-score2、p-ave;等语句。二、共用体的定义和使用1,共用体的关键字为union,其他定义方法同结构体。2,共用体也分为共用体类型和共用体变量,在程序设计过程中,要注意区分。三、关于共用体变量的几点说明a) 给共用体变量赋值时,只能对共用体的一个成员赋值,而不能对整个共用体变量赋值。b) 对共用体变量而言,只有最近一次被赋值的成员是有效的,其他成员无效。c) 共用体变量不能在定义时初始化。d) 若共用体的成员是构造类型的,则需要逐级引用至最低级的成员。e) 共用体变量的地址和共用体各个成员的地址是相同的,但是它们的类型是不同的。四、结构体与共用体的异同1,在结构体中,各成员各自占用自己的内存空间,他们是同时存在的,一个结构体变量的总长度等于所有成员长度之和。2,在共用体中,所有成员不能同时占用它的内存空间,他们是不能同时存在的,一个共用体变量的长度等于最长的成员项的长度。一、实验名称:结构体和共用体实验二、实验目的:1、通过实验掌握结构体和共用体的基本概念2、进一步掌握结构体与共用体的类型定义、变量说明和成员项的使用3、进一步掌握结构体和共用体的使用方法三、实验内容:1、请完成程序填充(注意:不得加行、减行、加句、减句)。功能:该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。#include struct STUDENT char name16; int math; int english; int computer; int average;void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ int sum=0; sum = _; pst-average = sum/3;void main() int i; struct STUDENT st4=Jessica,98,95,90,Mike,80,80,90, Linda,87,76,70,Peter,90,100,99; for(i=0;i4;i+) GetAverage(_); printf(NametMathtEnglishtComputAveragen); for(i=0;i4;i+) printf(%st%dt%dt%dt%dn,,sti.math,sti.english,puter,sti.average); 运行结果及分析:2、仔细分析程序的运行结果,掌握“-”和“*”运算符的优先级及+在前在后的含义。#includestruct x int a; char *b; *p; char y0=Li,y1=Wang; struct x xw=1,y0,4,y1; main() p=xw; printf(%c,+*p-b); printf(%d,(*p).a); printf(%d,+p-a); printf(%d,(+p)-a); printf(%cn,*(p+)-b); 3、仔细分析程序的运行结果。运行结果及分析:main() union example struct int x; int y; in; int a2; e=0,0; e.a0=1; e.a1=2; printf(%d,%dn,e.in.x,e.in.y);4、程序设计建立结

温馨提示

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

评论

0/150

提交评论