- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 题 结构体变量的输入、输出 课 型 讲练 授课班级 授课时数 2 教学目标
1、掌握结构体类型的说明、结构体变量(数组)的定义及初始化
2、掌握结构体变量成员的引用和初始化
教学重点
结构体类型的说明、结构体变量的定义、结构体变量成员的引用
教学难点
结构体数组的定义与使用
学情分析
在此之前,学生已经学习了大部分的C语言知识,变量定义,数组等等,对于结构体这样一个数据类型尚属首次接触,但对其概念容易理解,对结构体类型数据的使用还会存在问题。
教学效果
教 后 记
[引入]:
前面我们已经学习了一种构造数据类型:数组,使用数组可以带来很多方便。但是数组要求被处理数据必须有相同的类型。日常工作中经常需要处理由不同数据类型组合起来的整体,对于这样的问题使用数组是不可能实现的,使用多个变量是可以描述,但这样做无法反映出同一事物的各个属性间的相互关系。为此,C语言提供了一种全新的构造数据类型—结构体类型(或者称为结构类型)。
如:新生入学登记表如下:
学号
姓名
性别
年龄
住址
总分
011
ZhuPing
女
19
Suzhou
498
012
LiMing
男
20
Beijing
518
[新课]:
针对上述问题可以用C语言提供的全新数据类型——结构体来支持这种数据结构。
结构体的定义及输入和输出
一.结构体类型定义
struct 结构类型名
{ 类型 成员名1;
类型 成员名2;
类型 成员名3;
……
类型 成员名n;
};
例:
struct student
{
int no;
char name[20];
char sex;
char address[50];
int score;
};
其中,struct是关键字,作为定义结构体类型的标志,后面紧跟的是结构体名,由用户自行定义,花括号内是结构体的成员说明表,用来说明该结构体有哪些成员及它们的数据类型。花括号外的分号不能省略,它表示一种结构体类型说明的终止。
[动手练习1]:
1、定义一个表示日期的结构体类型。(成员包括:年、月、日)
2、定义一个银行存款帐户的结构体类型,假设存款单的必要项目为帐号、姓名、日期和金额等基本信息。
二.结构体变量的定义
(1)间接定义法——先定义结构类型,再定义结构体变量
struct stu_info
{
……
};
struct stu_info stu1,stu2;
(2)直接定义法
struct stu_info
{
……
} stu1,stu2;
(3)直接定义的简化
struct
{
……
} stu1,stu2;
注意点
结构体类型,结构体变量是不同的两个概念;
定义时先定义类型,再定义该类型的变量;
赋值、存取或运算时只针对变量进行,不对类型进行;
编译时,只对结构变量分配空间,对结构类型不分配空间;结构变量的存储空间是各成员类型占用存储空间的总和;
三.结构体变量的引用和初始化
1、引用结构体变量的成员项。
对结构体变量的使用,一般情况下不把它作为一个整体参加数据处理,而是用结构体的各个成员项来参加各种运算和操作。引用结构体变量中的成员项的一般形式为:
结构体变量名.成员项名
例如,将日期2011年5月28日赋给struct date型变量Date可表示成:
Date.year=2011;
Date.month=5;
Date.day=28;
如果一个结构体成员本身又是一个结构体类型变量,则要通过两个“.”运算符来访问该结构成员的结构成员。下面例题中用到的zhang.Date.year、zhang.Date.month、zhang.Date.day就是这种情况。
例1:下面给出一个应用结构体变量的完整例子
struct date /*定义一个表示日期的结构体类型*/
{int year;
int month;
int day;
};
struct account /*定义一个客户的基本信息的结构体类型*/
{long id;
char name[20];
struct date Date;
float money;
};
#include “stdio.h”
文档评论(0)