
本学期学习内容·第11章结构体·第12章文件·第13章链表·第14章递推与递归·第15章贪心与动态规划
本学期学习内容 • 第11章 结构体 • 第12章 文件 • 第13章 链表 • 第14章 递推与递归 • 第15章 贪心与动态规划

只能定义单一的数据类型,反映短整型short事物单一属性整型整型int长整型long如定义学生成绩:单精度型floatdoublescore;基本类型实型双精度型double能定义复杂的数字符类型char据类型,反映事C数组物多个属性数据类型结构体struct如定义学生信息:构造类型struct ST共用体union//学号char no[9];枚举类型enum1/姓名指针类型char name[20];1/性别char sex;空类型void//成绩double sc;} sl,s2;定义类型typedef
C 数 据 类 型 指针类型 空类型void 定义类型typedef 构造类型 枚举类型enum 数组 结构体struct 共用体union 基本类型 字符类型char 实型 单精度型float 双精度型double 整 型 短整型short 长整型long 整型int 只能定义单一的 数据类型,反映 事物单一属性 如定义学生成绩: double score; 能定义复杂的数 据类型,反映事 物多个属性 如定义学生信息: struct ST { char no[9]; //学号 char name[20]; //姓名 char sex; //性别 double sc; //成绩 } s1,s2;

共用体、第11章结构体、枚举类型--OJ练习题目2017级《程序设计基础(B)Ⅱ》实验1结构体、共用体和枚举试1(第4周第1次实验测试,本实验共10题-抽4题)序号ACM题号ID知识点Title结构体英文金曲大赛11211A2B名单真相3519结构体数组C选票统计31294结构体数组D排名次42741结构体数组小鑫の日常系列故事(十)E52446最终排名结构体数组F62873老-一质价比结构体数组C7选夫婿21595结构体数组H8选夫婿11569结构体数组I共用体91960共用体练习10J简单枚举类型植物与颜色枚举类型19593
第11章 结构体、共用体、枚举类型-OJ练习题目 3

11.1结构体类型概念>结构体概念一组逻辑相关但类型可能不同的变量的集合一结构体(记录)>在程序里如何表示一个学生学号性别程序设姓名英语高数体育出生日期计基础男19072令狐冲83821996.10.1男292林平之7888781995.12.2女3岳灵珊897298661997.3.1女4任盈盈958778901996.8.25..64
11.1 结构体类型概念 ➢结构体概念 一组逻辑相关但类型可能不同的变量的集合—结构体(记录) ➢在程序里如何表示一个学生 4 学 号 姓名 性 别 出生日期 程序设 计基础 英 语 高数 体育 1 令狐冲 男 1996.10.1 90 83 72 82 2 林平之 男 1995.12.2 78 92 88 78 3 岳灵珊 女 1997.3.1 89 72 98 66 4 任盈盈 女 1996.8.2 78 95 87 90 5 . . 6 .

>数组的解决方案:int num[80];char name[8][10];>存在问题char sex[80];intage[80];double score[8o][5];分配内存不集中,结构零散,内int birthdayyear[8];存管理困难,寻址效率不高int birthday_month[8@];对数组赋初值时,易发生错位int birthday_day[8];英学号性别程序设姓名出生日期高数体育语计基础男1令狐冲908372821996.10.12男林平之789288781995.12.23女岳灵珊897298661997.3.14女任盈盈789587901996.8.25.6.5
5 ➢数组的解决方案: ➢存在问题 学 号 姓名 性 别 出生日期 程序设 计基础 英 语 高数 体育 1 令狐冲 男 1996.10.1 90 83 72 82 2 林平之 男 1995.12.2 78 92 88 78 3 岳灵珊 女 1997.3.1 89 72 98 66 4 任盈盈 女 1996.8.2 78 95 87 90 5 . . 6 .

>希望的分配图1234令狐冲林平之岳灵珊任莹莹男女女男1995.11997.3.1996.8.1996.1897878909592728388988772786690826
6 1 令狐冲 男 1996.1 0.1 90 83 72 82 2 林平之 男 1995.1 2.2 78 92 88 78 3 岳灵珊 女 1997.3. 389 72 98 66 4 任莹莹 女 1996.8. 278 95 87 90 ➢希望的分配图

结构体类型的定义11.2.1studstruct人intnum;studchar name[20];char sex;namesexnumSCdouble sc;};说明:①结构体定义不占用内存。②结构体定义放置在程序的开始部分,位于头文件声明之后。③结构体定义仅描述了一个结构体的形式如果要在程序里使用结构体,需要声明结构体变量
struct stud { int num; char name[20]; char sex; double sc; }; num name sex stud ①结构体定义不占用内存。 ②结构体定义放置在程序的开始部分,位于头文件声明之后。 sc ③结构体定义仅描述了一个结构体的形式。 -如果要在程序里使用结构体,需要声明结构体变量。 11.2.1 结构体类型的定义 说明:

结构体类型变量的定义11.2.1方式1:先定义结构体structstud//定义结构体类型studl类型,再定义变量int num; char name[20l;char sex; double sc;子:structstudstl,st2;//利用结构体类型定义变量方式2:在定义结构体structstud//定义结构体类型studint num; char name[20];类型的同时定义变量char sex; double sc;定义结构体类型的变量#st1,st2://方式3:直接定义结构/定义结构体类型缺省类型名struat体变量,缺省结构体int num; ahar name[20],char sexi double sc;类型名定义结构体类型的变量lstl,st2:/8
8 方式1:先定义结构体 类型,再定义变量 方式2:在定义结构体 类型的同时定义变量 方式3:直接定义结构 体变量,缺省结构体 类型名 11.2.1 结构体类型变量的定义

结构体类型变量的引用与赋值11.2.3 注意:(1)使用结构体类型的变量时,不能将结构体变量作为一个整体进行输入、输出。(2)只能对结构体变量的成员按其类型进行输入、输出
11.2.3 结构体类型变量的引用与赋值 注意: (1)使用结构体类型的变量时,不能将结 构体变量作为一个整体进行输入、输出。 (2)只能对结构体变量的成员按其类型进 行输入、输出

结构体类型变量的引用与赋值12.2.331、结构体变量成员的引用格式:结构体变量名.成员名例如:structstudsl;则: s1.sc=95;>对结构体类型变量的成员可以像普通变量一样进行各种合适的运算。例如: boyl.sc = boy2. sc;x = boyl. sc + boy2. sc;
12.2.3 结构体类型变量的引用与赋值 1、结构体变量成员的引用 格式:结构体变量名.成员名 例如:struct stud s1; 则:s1.sc=95; ➢对结构体类型变量的成员可以像普通变量一样进行各种合适 的运算。 例如:boy1.sc = boy2.sc; x = boy1.sc + boy2.sc;