中国高校课件下载中心 》 教学资源 》 大学文库

内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体

文档信息
资源类别:文库
文档格式:DOC
文档页数:4
文件大小:112.5KB
团购合买:点击进入团购
内容简介
内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体
刷新页面文档预览

内蒙古科技大学 教 案 课程名称:C语言程序设计 编写时间:2014年2月16日 授课章节 第八章结构体与共用体$8.1$8.2$8.3 对结构体类型、结构体变量的定义、赋值、结构体成员引用重点掌握 目的要求 对结构体数组了解 重点难点 对结构体类型定义、结构体变量定义及成员引用 一、数学内容 结构体的应用场合 为了较全面准确的描述一个事物,通常利用该事物的属性提取一些信总,这些信息可能 包含整型、实型、字符型或其他类型。把这些不同的数据类型有机组合在一起就构造出一种 新的类型,这种类型称为“结构体”类型。 举例说明为了解 例如:学生(学号、姓名、性别、年龄、班级、籍贯)等 决将不同数据类 8 结构体类型与结构体变量 型能有机的结合 8.2.1结构体类型的声明 在一起。 在一个组合项中包含若干个不同类型数据项,C语言没有提供这样的数据结构,因此用 户必须在程序中建立所需结构体类型。下面给出结构体类型的定义一般格式: 用struct结构体类型声明 struct结构体名 成员变量声明语句 给出结构体类型 般格式。 【说明】 (1)声明以关键词struct开始 (2)花括号将构成结构体的数据类型集合为一体,不能省略。 (3)“:”结构体声明结束的标志,不能省略。 (4)“struct结构体名”与基类型int、cha、1oat用法类似 例1.学生成绩管理结构体 struct STUDENT int studentID: /学生的学号 char studentNamel101: ∥学生的姓名 char studentSex] 学生的性别 int timeOfEnter ∥学生的入学时间 int score[4]; ∥score0]-score[3]分别代表学生的4门课成绩 第1次 第1页

内 蒙 古 科 技 大 学 教 案 课程名称: C 语言程序设计 编写时间:2014 年 2 月 16 日 授课章节 第八章 结构体与共用体 $8.1 $8.2 $8.3 目的要求 对结构体类型、结构体变量的定义、赋值、结构体成员引用重点掌握 对结构体数组了解 3.自学共用体 重点难点 对结构体类型定义、结构体变量定义及成员引用 一、教学内容 8.1 结构体的应用场合 为了较全面准确的描述一个事物,通常利用该事物的属性提取一些信息,这些信息可能 包含整型、实型、字符型或其他类型。把这些不同的数据类型有机组合在一起就构造出一种 新的类型,这种类型称为“结构体”类型。 例如:学生(学号、姓名、性别、年龄、班级、籍贯)等 8.2 结构体类型与结构体变量 8.2.1 结构体类型的声明 在一个组合项中包含若干个不同类型数据项,C 语言没有提供这样的数据结构,因此用 户必须在程序中建立所需结构体类型。下面给出结构体类型的定义一般格式: 用 struct 结构体类型声明 struct 结构体名 { 成员变量声明语句 }; 【说明】 (1)声明以关键词 struct 开始; (2)花括号将构成结构体的数据类型集合为一体,不能省略。 (3)“ ;”结构体声明结束的标志,不能省略。 (4)“struct 结构体名” 与基类型 int、char、float 用法类似 。 例 1.学生成绩管理结构体 struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }; 举例说明为了解 决将不同数据类 型能有机的结合 在一起。 给出结构体类型 一般格式。 第 1 次 第 1 页

内蒙古科技大学 教 案(续页) 8.2.2用typedef定义结构体类型 typedef struct结构体名 成员变量声明语句 结构体别名: 给出用typedef 【说明】 定义的结构 (l)用typedf struct定义的结构体,结构体别名表示该结构体类型, 类型 (2)用typedf struct定义的结构体,结构体别名的用法和基类型int、char、foad用 法类似: 例2学生成绩管理结构体 typedef struct STUDENT ∥学生的学号 char studentName10]; 学生的姓名 char studentSex 4]; ∥学生的性别 int timeOfEnter: 学生的入学时间 int score[4]. ∥score[0]-score[3)分别代表学生的4门课成绩 8.2.3结构体变量的定义 结构体变量的定义有三种: 1,先声明结构体类型,在定义结构体变量 先定义学生成绩管理结构体类型 struct STUDENT int studentID: 学生的学号 /学生的姓名 char studentSex 学生的性别 先定义结构材 int timeOfEnter, ∥学生的入学时间 类型,然后再 int score[4h:∥score[0-score[3)分别 定义该类型下 代表学 Foral Form 生的4门课成绩 的变量。 按字母序按誉序 接着定 义两个结构体变量 rance studentl, student2 struct STUDENT student1, rStyl student2: rols 第1次 第2页 13 DrawStvle 0-Solid

内 蒙 古 科 技 大 学 教 案(续页) 8.2.2 用 typedef 定义结构体类型 typedef struct 结构体名 { 成员变量声明语句 }结构体别名; 【说明】 (1)用 typedf struct 定义的结构体,结构体别名表示该结构体类型; (2)用 typedf struct 定义的结构体,结构体别名的用法和基类型 int 、char、float 用 法类似; 例 2.学生成绩管理结构体 typedef struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }Stu; 8.2.3 结构体变量的定义 结构体变量的定义有三种: 1. 先声明结构体类型,在定义结构体变量 先定义学生成绩管理结构体类型 struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别 代表学 生的 4 门课成绩 }; 接着定 义两个结构体变量 student1,student2: struct STUDENT student1, student2; ENT student1,student2; 接着定 义两个结构体变量 student1,student2: struct STUDENT student1, student2; struct STUDENT student1,student2; 给出用 typedef 定义的结构体 类型。 先定义结构体 类型,然后再 定义该类型下 的变量。 第 1 次 第 2 页

内蒙古科技大学 教 案(续页) 2定义结构体类型的同时定义结构体变量 struct STUDENT 定义学生成绩管 理结构体类型的 int studentID. ∥学生的学号 同时定义结构体 char studentNamel 101: /学生的姓名 变量stul,su2 char studentSex[4] 学生的性别 int timeOfEnter: 学生的入学时间 int score[4]: ∥score0-score3)分别代表学生的4门课成绩 )stul,stu2; 3直接定义结构体变量 不出现结构体 名,直接定义结 int studentD. 学生的学号 构体变量 char studentName[10]; 学生的姓名 stu1.stu2 char studentSex[4]; 学生的性别 int timeOfEnter: ∥学生的入学时间 int score[4]. ∥core0-sore3)分别代表学生的4门课成绩 )stuI.stu2: 8.2.5结构体变量的引用和初始化 结构体的引用有 结构体变量的引用有两种: 两种“”和“一>” 1.成员运算符,也称圆点运算符(.) 引用格式:结构体变量名成员名 例如:在例1声明的结构体类型, 定义结构体变量studentl, 则有:struct STUEDNT studentl: studentl.studentID-=IO:∥对变量studentl的学生学号引用: 2指向运算符,也称箭头运算符(>) 引用格式:指向结构体的指针变量名>成员名 例如:在例1声明的结构体类型,定义结构体变量sul,指针p, 则有:struct STUEDNT stul,*p;∥定义两个变量,其一指针 p=&stul: ∥将指针p指向结构体变量sul p->studentID=I2. 第1次第3页

内 蒙 古 科 技 大 学 教 案(续页) 2.定义结构体类型的同时定义结构体变量 struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }stu1,stu2; 3.直接定义结构体变量 struct { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }stu1,stu2; 8.2.5 结构体变量的引用和初始化 结构体变量的引用有两种: 1.成员运算符,也称圆点运算符(.) 引用格式:结构体变量名.成员名 例如:在例 1 声明的结构体类型,定义结构体变量 student1, 则有:struct STUEDNT student1; student1.studentID=10;//对变量 student1 的学生学号引用: 2.指向运算符,也称箭头运算符(->) 引用格式:指向结构体的指针变量名->成员名 例如:在例 1 声明的结构体类型,定义结构体变量 stu1,指针*p, 则有:struct STUEDNT stu1,*p; //定义两个变量,其一指针 p=&stu1; //将指针 p 指向结构体变量 stu1 p->studentID=12; 定义学生成绩管 理结构体类型的 同时定义结构体 变量 stu1,stu2 不 出 现 结 构 体 名,直接定义结 构体变量 stu1,stu2 结构体的引用有 两种“.”和“—>” 第 1 次 第 3 页

内蒙古科技大学 教案(续页) 结构体类型定义的同时,对结构体变量定义和初始化: struct STUDENT int studentID: 学生的学号 同样使用前面 定义好的结构 char studentName(IO:∥学生的姓名 体变量来给 char studentSex[4:∥学生的性别 studentI变量 int timeOfEnter,.∥学生的入学时间 赋值 int score[4:/score0-score3)分别代表学生的4门课成绩 student1=,”张三”,“男”,(1999,12,20,90,80,75,66: 8.3结构体数组 结构体数组:将多个同类型的结构体变量存放于一个数组,构成“结构体数组”。 结构体数组实现过程: (1)声明结构体类型。例如: struct STUDENT 给出结构体数 组定义,同时 int studentID. 学生的学号 char studentName(lO小:∥学生的姓名 值。 char studentSex[4,∥学生的性别 int timeOfEnter: ∥学生的入学时间 int score[4]. ∥score[0-score3)分别代表学生的4门课成绩 (2)定义结构体数组。 例如:struct STUDENT stu[1O: 结构体数组实现过程: (3)初始化结构体数组。例如 struet STUDENT stu10F{1,“g张三”,“男”,{1999,12,20;,90,80,75,66}, {2,“李四”,“女”,2000,01,121,80,70,60,551, {3。“王五”,“男”,{1998,11,10,70,80,95,76} {2.“赵六”,“女”,2001.02.151,40,90.80,751 课堂教学小结: 通过本讲,使学生能掌握结构体的主要作用,结构体类型的定义,结构体变量 定义,结构体变量的赋值与引用及结构体数组。 第1次 第4页

内 蒙 古 科 技 大 学 教 案(续页) 结构体类型定义的同时,对结构体变量定义和初始化: struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }student1={1,”张三”,“男”,{1999,12,20},90,80,75,66}; 8.3 结构体数组 结构体数组:将多个同类型的结构体变量存放于一个数组,构成“结构体数组”。 结构体数组实现过程: (1)声明结构体类型。例如: struct STUDENT { int studentID; //学生的学号 char studentName[10]; //学生的姓名 char studentSex[4]; //学生的性别 int timeOfEnter; //学生的入学时间 int score[4]; //score[0]-score[3]分别代表学生的 4 门课成绩 }; (2)定义结构体数组。 例如:struct STUDENT stu[10]; 结构体数组实现过程: (3)初始化结构体数组。例如: struct STUDENT stu[10]={{1,“张三”,“男”,{1999,12,20},90,80,75,66}, {2,“李四”,“女”,{2000,01,12},80,70,60,55}, {3,“王五”,“男”,{1998,11,10},70,80,95,76}, {2,“赵六”,“女”,{2001,02,15},40,90,80,75}, }; 同样使用前面 定义好的结构 体变量来给 student1 变 量 赋值 给出结构体数 组定义,同时 对结构体数组 元素进行赋 值。 课堂教学小结: 通过本讲,使学生能掌握结构体的主要作用,结构体类型的定义,结构体变量 定义,结构体变量的赋值与引用及结构体数组。 第 1 次 第 4 页

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档