版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计》教案
课程名称C语言程序设计任课教师总课时64
教学课题共用体及枚举类型
授课班级授课日期课时2
知识目标:1.掌握共用体的使用方法
2.掌握枚举类型的使用方法
3.掌握类型定义的方法
教学目标
能力目标:能够实现学生成绩管理系统
素质目标:团队合作能力、团队互助,自我学习的习惯、爱好和能力
重点难点共用体和枚举类型的使用
教学方法演示、讲解、启发
教学资源教材《C语言程序设计》
设备准备VC++6.0,极域电子教室软件,分发工作任务单
教学环节
(教学过教学内容教师活动学生活动教学目标课时
程)
进行任务的问题让学生理解任务要
1发布任务倾听、思考10分钟
描述和分析求和思路
预备需要的理论知
2理论讲解讲授函数调用倾听、思考15分钟
识
通过一个案例进
通过实际应用帮助
3举例一步讲解函数的倾听、思考20分钟
学生理解理论知识
调用
布置两个相关题通过做相关练习题
4应用思考、解答45分钟
H帮助学生更好的理
解相关知识
教学内容(详细):
一.共用体
1.共用体变量的定义
有时为J'节省存储空间或为了用多种类型访问一个数据等原因,需要使几种不同类型的变
量存放到同一段内存单元中。例如,把一个短整型变量i,一个字符变量ch和一个单精度实型
变量f放在地址为1000的起始内存单元,i,Ch,f分别占据2个,1个和4个字节,这种使用不
同变量共占同一段内存的结构称为“共用体”类型的结构,共用体类型也是一种构造类型,与
系统定义的数据的基本类型不同,它必须定义后才能使用。
共用体类型定义的--般形式为:
union共用体类型名
{数据类型成员1;
数据类型成员2;
数据类型成员n;
};
其中union是关键字,是定义共用体类型必不可少的标识符;共用体名是程序员刍己命名
的标识符。{}中的内容为共用体成员的类型说明,与结构体类型的成员说明相同。共用体
的成员可以是任何类型,包括共用体类型和结构体类型。例如:
uniondata{
inti:
charch;
doublef;
);
上述所定义的共用体类型尚未分配存储空间,还不是实际存储的可以使用的变量。要使用
这个共用体类型,还需要进行共用体变量定义。
共用体变量的定义形式有三种:
方式1:先定义共用体类型,后定义共用体变量,共用体变量定义形式为:
union共用体类型名变量名;
例如:
uniondataa,b,c;
方式2:定义共用体类型的同时定义共用体变量,例如:
uniondata(
inti;
charch;
doublef;
}a,b,c
方式3:不用出现共用体名,直接定义共用体变量,例如:
union{
inti;
charch;
doublef;
}a,b,c
2.共用体变量的引用
共用体变量的引用方式与结构变量的引用方式也非常类似。共用体变量中成员的引用形式
为:
共用体变量名.成员名
例如,前面定义了共用体变量a后,则对其成员变量的引用分别为:
a.i;
a.ch;
a.f;
C语言最初引入共用体的目的之一是为了节省存储空间,另外一个目的是可以将一种类型
的数据不通过显式类型转换而作为另一种类型数据使用.
义所需要的变量。同时C语言还允许使用lypedef语句定义一种新的类型名来代替已有类型名,
定义新的类型名称之后,可像标准数据类型那样用新的类型名称定义变量。
L定义基本类型的别名
定义基本类型别名的形式为:
typedef基本类型名别名标识符:
例如:
typedefintWORD;/*定义WORD为int的别名*/
typedeffloatREAL;/*定义REAL为float的别名*/
typdefunsignedcharBYTE;/*定义BYTE为unsignedchar的别名*/
指定用WORD代表int类型,REAL代表float,BYTE代表unsignedchar。所以.以下两
种形式对变量a,b和c的定义是等价的.
(1)inta;floatb;unsignedcharc;
(2)WORDa;REALb;BYTEc;
2.定义自定义的数据类型的别名
声明自定义类型别名的形式为:
typedef自定义类型说明信息别名标识符;
例如:
typedefstructstudent
longno;
charname[16];
intage,score;
}STUDENT;
3.类型定义的步骤
(1)按定义变量的方法,写出定义体;
(2)将变量名换成别名;
(3)在定义体最前面加上typedefo
例如:给unsignedint定义一个别名DWORD。
(1)按定义变量的方法,写出定义体:unsignedinta;
(2)将变量名换成别名:unsignedintDWORD;
(3)在定义体最前面加上typedef:typedefunsignedintDWORD;
四.学生成绩管理系统的实现
1.存储结构设计
(1)确定学生基本信息的类型
对学生的基本信息进行处理,首先需要把学生的基本信息,包括学号、姓名、3门课
程成绩、总成绩等相关信息录入计算机,保存到相应的变量中,否则计算机无法对这些数
据进行处理V
在8.1.1中,定义了学生基本信息类型:
structstudent〃定义学生基本信息结构体
longnum;〃学号
charname[16];〃姓名
floatmath;〃数学成绩
floatyw;〃语文成绩
floateng;〃英语成绩
floatsum;〃总分
};
2.数据录入与浏览
(1)数据录入模块
设计思路:将结构体数组作为函数的形参,已录入的记录总数m定义为全局变量。利
用循环结构,交互式提示用户录入记录。同时,定义学号为关键字,程序需对录入的学号
进行合法性检查,不能有重复的学号。
(2)记录浏览模块
对函数的形参进行操作,注意到记录的总数由全局变量m保存,按%-8.If的格式输出
记录。
(3)运行测试
编译、连接、运行程序。按数字犍1选择“数据录入”菜单,按照系统提示录入若干
条记录,如图8-1所示.再按8选择“记录浏览”菜单,系统将显示所有学生信息v如图
8-2所示。
\BYC\chapter8\Debuc\chaptez8.exe
0退
一
入
至
1数
据
询
2记
鬻
3录
除
4记
凄
改
记
5插
春
入
6记
据
计
7莪
翁
家
记
8览
请选择您的操作8>:£
生
学
息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学26年:心血管疾病器械临床试验要点 心内科查房
- 医学26年:淋巴瘤诊疗进展解读 查房课件
- 2025~2026学年河南上蔡县无量寺乡中心学校等校八年级下学期阶段考试英语学情自测
- 2026老师护理考试题及答案
- 2026纪委考试题及答案解释
- 2026四川酒业茶业投资集团有限公司选聘中层管理人员3人备考题库附答案详解(黄金题型)
- 2026北京润慧港机动车服务有限公司招聘市场开发专员1人备考题库含答案详解(预热题)
- 2026云南普洱博思欣医院有限公司招聘89人备考题库及参考答案详解一套
- 2026江西赣州全南县司法局招聘3人备考题库及答案详解(真题汇编)
- 2026湖北工业大学材料与化学工程学院人才招聘备考题库含答案详解(突破训练)
- 2025年郴电国际校园招聘74人笔试历年难易错考点试卷带答案解析
- 2025年上海铁路局24届笔试真题及答案
- DB45-T 2885-2024 生活无着的流浪乞讨人员接送返乡工作规范
- 养老院护士长培训课件
- 2026年青马工程笔试试题及答案
- (2025)党员应知应会基础知识试题及答案
- 疥疮预防控制措施
- 2025年教育科技数字化校园建设方案
- 高校教研团队建设实施方案
- 利用金字塔原理做汇报
- 第30届数学竞赛WMO-三年级复赛试题(含答案)
评论
0/150
提交评论