第五章复杂构造数据类型 今5.1结构体 5,2共用体 今5.3枚举类型
❖ 5.1 结构体 ❖ 5.2 共用体 ❖ 5.3 枚举类型 第五章 复杂构造数据类型
5.1结构体 51结构体的引出及使用 特点:数据与数据之间有关联,是一个整体。 学生信息:学号,姓名,性别,年龄,入学成绩,所属 学院等信息 如:0501,李明,男,19,610,信息 职工编号姓名性别民族出生日期职称学历单位工龄 1997025孙杰男汉|1974.9讲师大学信息9
5.1 结构体 5.1 结构体的引出及使用 ➢特点:数据与数据之间有关联,是一个整体。 职工编号 姓名 性别 民族 出生日期 职称 学历 单位 工龄 1997025 孙杰 男 汉 1974.9 讲师 大学 信息 9 学生信息:学号,姓名,性别,年龄,入学成绩,所属 学院等信息。 如:0501,李明,男,19,610,信息
511结构体的引出及使用 结构体的引出 学生信息:学号,姓名,性别,年龄,入学成绩,所属 学院等信息。 如:0501,李明,男,19,610,信息 如何表示这样的数据信息? >由一些逻辑相关,但数据类型不同的分量组成的 组数据,定义为结构体 匚学号姓名性别「年龄入学成绩所属学院 int num char name[101 charsex int age int score char institute[201
5.1.1 结构体的引出及使用 如何表示这样的数据信息? ➢由一些逻辑相关, 但数据类型不同的分量组成的一 组数据,定义为结构体。 学号 姓名 性别 年龄 入学成绩 所属学院 int num char name[10] char sex int age int score char institute[20] 一、结构体的引出 学生信息:学号,姓名,性别,年龄,入学成绩,所属 学院等信息。 如:0501,李明,男,19,610,信息
511结构体的引出及使用 例5-1输入三个学生的信息,并输出。 #include <stdio. h> void main( 定义学生的结构体类型 &struct student int num char name 101 char sex. int age: int score 定义3个结构体类型的变量, char institute 20] 用来存放3个学生的信息 struct student sl, S2, S3
5.1.1 结构体的引出及使用 例5-1 输入三个学生的信息,并输出。 #include <stdio.h> void main( ) { struct student { int num ; char name[10] ; char sex; int age; int score ; char institute[20] }; struct student s1, s2, s3; 定义学生的结构体类型 定义3个结构体类型的变量, 用来存放3个学生的信息
511结构体的引出及使用 void main( scanf(%c %d %d %d", &slsex, &sl num, &sl age, &sl score) gets(sl name); gets(slinstitute); 输入一个学生的信息 scanf("%c %d %d %d",&s2. sex, &s2. num, &s2. age, &s2score); gets(s2. name); gets(s2institute); scanf(%c %d %d %d",&s3. sex, &s3. num, &s3. age, &s3. score); gets(s3. name); gets(s3 institute) printi%6d‰10s‰c%3d”,sl.num, sI name,sl.sex, sI age) printf(%5d %20s In",sl score, sIinstitue) 输出学生信息 printi(%6d‰10s‰c‰3d”,s2num,S2name,s2.sex,S2age); printf(“%5d%20sⅦn”,s2 score,s2 institue); prin(“%6d%10s%2c‰3d”,S3num,s3.name,s3,sex,s3.agel) prin(5d%20sⅦn”,s3 score,s3. institue);
5.1.1 结构体的引出及使用 void main( ) { : scanf(“%c %d %d %d”, &s1.sex , &s1.num , &s1.age, &s1.score); gets(s1.name); gets(s1.institute); scanf(“%c %d %d %d”, &s2.sex , &s2.num , &s2.age, &s2.score); gets(s2.name); gets(s2.institute); scanf(“%c %d %d %d”, &s3.sex , &s3.num , &s3.age, &s3.score); gets(s3.name); gets(s3.institute); 输入一个学生的信息 printf(“%6d %10s %2c %3d ”, s1.num, s1.name, s1.sex, s1.age); printf(“%5d %20s \n”, s1.score, s1.institue); printf(“%6d %10s %2c %3d ”, s2.num, s2.name, s2.sex, s2.age); printf(“%5d %20s \n”, s2.score, s2.institue); printf(“%6d %10s %2c %3d ”, s3.num, s3.name, s3.sex, s3.age); printf(“%5d %20s \n”, s3.score, s3.institue); } 输出学生信息