- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计 主讲教师:徐翠霞 6.1 “学籍管理 ”案例 【案例说明】 假设一个学生的信息包括学号、姓名、性别、出生日期和3门课的成绩等,这些信息的类型各不相同,姓名为字符串类型,学号为整型,性别为字符型,出生日期为结构体类型(即出生年、月、日),成绩为实型数组类型。用结构体类型的数据编写实现学籍管理功能的程序。程序运行结果如图6.1所示。 【案例目的】 (1) 熟悉结构体类型的声明和变量的定义。 (2) 掌握给结构体类型的变量赋值的方法。 (3) 掌握输出一个结构体类型的变量值的方法。 (4) 掌握结构体类型参数传递的方法。 【技术要点】 (1) 通过typedef声明一个类型别名STUDENT,代表struct student,便于程序的书写。 (2) input()用函数输入学生的信息,其返回值类型为struct student结构体类型。在main()函数中,接收函数input()返回值的结构体变量的类型也是struct student类型。 (3) list()用函数输出学生的信息,其参数为struct student*结构体指针类型。在main()函数中调用list()函数时,实参类型与形参类型应相同。 【相关知识及注意事项】 1. 结构体类型的定义 2. 结构体类型变量的定义和初始化 3. 结构体成员的引用 4. 结构体类型的参数传递 5. 结构体数组 6. typedef类型定义 6.2 “约瑟夫问题 ”案例 【案例说明】 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序,求出列顺序。要求利用单向循环链表实现。程序运行结果如图6.3所示。 【案例目的】 (1) 学会如何声明链表结点结构的类型。 (2) 学会如何建立动态单向链表或单向循环链表。 (3) 学会如何引用和输出链表中各结点数据域的值。 (4) 掌握使用循环单链表解决约瑟夫问题的方法。 【技术要点】 (1) 确定结点结构,生成n个结点的循环单链表,存储1~n号人员的编号。 (2) 在循环单链表的基础上,实现约瑟夫问题的步骤如下:首先查找报m的成员,由指针p指向,同时还要由指针pre指向其前驱,以备报m的成员出列时修改指针的指向;然后处理报m的成员,即先输出其编号(p-No),再将其从循环单链表中删除且回收存储空间,同时出列人数加1;最后使指针重新指向pre的后继,即指向下一轮开始报数的人员。 【相关知识及注意事项】 1. sizeof运算符 2. 链表的概念及基本结构 3. 动态开辟和释放存储单元函数 4. 单向链表的主要操作 5. 循环单链表 6.3 “读取一个整数的高字节或低字节 ”案例 【案例说明】 编写程序,读取一个整数的高字节或低字节。要求用共用体实现。程序运行结果如图6.7所示。 【案例目的】 (1) 熟悉共用体类型的声明和变量的定义。 (2) 学会如何使用共用体类型通过不同的成员形式读取内存中的值。 【技术要点】 一个int型数据占用两个字节,低字节存储在低地址单元中,高字节存储在高地址单元中。可以使用共用体变量读取高字节和低字节, 【相关知识及注意事项】 1. 共用体类型的定义 2. 共用体变量的定义 3. 共用体成员的引用 6.4 “输出与1~7数字对应的星期 ”案例 【案例说明】 从键盘输入1~7之间的一个整数,显示与之对应的星期。程序运行结果如图6.10所示。 【案例目的】 (1) 熟悉枚举类型的声明和枚举变量的定义。 (2) 掌握使用枚举类型定义一周的7天或一年的12个月份的方法。 【技术要点】 (1) 定义一个枚举类型enum week,包含7个枚举常量,分别表示一个星期的7天。 (2) 显式指定MONDAY=1,其后枚举常量分别取值:2、3、…、7。 (3) 用一个switch语句判断、输出相应的枚举常量名。 【相关知识及注意事项】 1. 枚举类型 2. 枚举型变量的定义 3. 枚举型变量的使用 * * 图6.1 学籍管理 图6.3 约瑟夫问题 图6.7 读取一个整数的高字节或低字节 图6.10 输出与1~7数字对应的星期
文档评论(0)