文档详情

C语言程序设计-结构体、共同体和枚举类型.ppt

发布:2018-04-28约1.13万字共78页下载文档
文本预览下载声明
C语言程序设计 —提高篇;内容概述;教学目标;13.1 结构体类型;;13.1.2 结构体类型的定义;下面是用于描述日期的结构体类型的声明: struct date { int year; int month; int day; }; 由于date结构体的三个成员具有相同的类型int,它也可以改为如下形式: struct date { int year,month,day; };;“学生信息” 的结构体类型可以这样声明: struct student { int num ; char name[20]; char sex; struct date birthday; float score; char place[10]; }; 注意,学生信息结构体中加入类型为struct date的birthday数据项,构成结构体的嵌套定义。 ;结构体类型的几点说明: (1)关键字struct是用来声明结构体类型的,不能省略。 (2)C语言中的结构体类型可以嵌套定义,即结构体的成员允许又是结构体。 (3)成员表列不可为空,至少要有一个成员。 (4){}不表示复合语句,其后有分号。 (5)同一结构体的成员不能重名;而不同结构体的成员可以重名,结构体成员和其他变量可以重名,结构体类型与其成员或其他变量可以重名。 (6)一般把结构体类型声明放到文件最前面,也可以放在头文件里,若在函数内部声明结构体类型,则该函数之外无法引用此结构体类型。;13.2 结构体变量;(2)在定义结构体类型的同时,定义结构体变量。 struct student { int num ; char name[20]; char sex; struct data birthday; float score; char place[10]; }stu1,stu2; ;(3)直接定义结构体类型变量。 struct { int num ; char name[20]; char sex; struct data birthday; float score; char place[10]; }stu1,stu2;;注意:  正确区分类型与变量的概念,只能对变量赋值、存取或运算,不能对一个类型赋值、存取或运算;  ;13.2.2 结构体变量的存储模式;13.2.3 结构体变量的引用;13.2.4 结构体变量的基本操作;(2)结构体变量的输入/输出。;【例13.1】键盘输入学生“张三”的信息,然后输出显示。;(3)结构体变量的赋值; 假设有定义: struct stdent stud1 对结构变量整体???值: stud1=stud; 结构体变量之间的相互赋值,实质上是两个结构体变量相应的存储空间中的所有数据直接复制,包括复杂类型在内的所有结构体成员都被直接赋值,如字符串、结构体类型等。;13.3 结构体数组;则该数组共有30个元素,分别是stud[0]、…、stud[29],数组元素各成员的引用形式为: stud[0].num、stud[0].name、stud[0].score; stud[1].num、stud[1].name、stud[1].score; …… stud[29].num、stud[29].name、stud[29].score;;13.3.2 结构体数组的初始化;【例13.2】设某组有4个人,填写表13.3所示的成绩登记表,编程实现对表格的计算,求解出每个人的三科平均成绩,并按平均成绩由高分到低分排出名次。;(1)结构体类型数组的输入。 (2)求解各学生的三科平均成绩。 (3)按学生的平均成绩排序。 (4)按名次输出学生成绩信息。 (5)定义main()函数,调用各函数模块。;#include stdlib.h #include stdio.h #define STUDENT struct student STUDENT { int num;
显示全部
相似文档