当前位置:首页 >> 其它课程 >> C语言课件11

C语言课件11


第11章
第一节

结构体与共用体
结构体类型概述

一、结构体的概念及其定义: 1、 看一个例子: 每一个学生的可能有以下数据(属性): 学号、姓名、性别、年龄、成绩、家庭地址等。 所有这些数据都是和某一学生相联系 。 (1)假如将其分别定为num,name,sex,age,score,addr这些简单 变量,则它们之

间相互独立,难以反映其内在的联系。 (2)需要将不同类型的数据组合成一个整体,以便于统一引用。 也就是说,希望将其合并成一个组合项,在这个组合项中包含若 干个类型不同(当然也可以相同)的数据项。

跳转到第一页

2、结构体(structure) C语言提供了这样一种数据结构,它相当于其它高级 语言中的“记录”。 num name sex age c_score addr 10010 LiFun M 18 87.5 Beijing struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
跳转到第一页

※ 上面定义了一个结构体类型。 ※ struct student表示这是一个“结构体类型”, 它包括num,name,age,score,addr等不同类型的数据项 ※ struct是关键字,不能省略。 3、结构体类型定义的语法格式: struct 结构体名 { 成员表列;}; 花括号内是该结构体中的各个成员(或称分量),由 它们组成一个结构体。对各成员都应进行类型说明,即 类型标识符 成员名;

跳转到第一页

4、结构体类型特点及注意事项:

(1)结构体由若干个数据项组成。且其类型应确定。
(2)结构体类型并非只有一种。

(3)定义一个结构体类型,系统并未为其分配内存单元。 (4)系统并未预先定义结构体类型。

跳转到第一页

第二节

结构体类型变量定义和引用

一、定义结构体类型变量的方法: 1、在定义结构体类型之后,把变量定义为该类型:
struct student student1,student2 ; 2、在定义结构体类型的同时定义该类型变量: struct time

{

int hour;
int minute; int second;

}last,now,future;
跳转到第一页

struct int hour; int minute; int second; }last,now,future; 注意:(1)结构体变量具有结构体类型的特征。 (2)结构体可以嵌套。 (3)类型与变量的不同。 {

跳转到第一页

二、结构体类型变量的初始化: 类似于数组的初始化。 struct { int hour; int minute; int second; }last={12,30,0}; 三、结构体类型变量的引用: 1、引用某一元素中的一个成员:(成员运算符) Last.hour=10; student[I].num=00622; 2、结构体变量间的赋值(同类型) 数组中的各元素之间可以相互赋值。 Ex7_1
跳转到第一页

3、不能将数组中的元素作为一个整体来引用。

Ex7-4

Ex7-5

四、结构体的输入和输出: 只能作为单个变量来使用,不允许作为整体进行输 入或输出。 printf(“%d”,now);

这两种都是错误的

scanf(“%d”,&now);
跳转到第一页

第七章
第四节

结构体与共用体
结构体变量作为函数参数

及返回结构体类型值的函数
一、结构体变量作为函数参数:

采用的仍然是“值传递方式”。
Ex7-6

二、返加结构体类型值的函数:
Ex7-7
跳转到第一页

TC IDE

第七章
第五节

结构体与共用体
结构体变量与指针

一、指向结构体变量的指针: struct 结构类型名 *指针变量名; ★ 通过指针变量来访问成员变量时,要使用简接成员运 算符“->”。 E.g. Ex7-10 P->name=“Zhang San”; 二、指向结构体数组的指针:

三、指向结构体数组的指针:
Ex7-11
跳转到第一页

第七章
第七节

结构体与共用体
共用体类型数据

一、共用体的概念及应用:
★ 将不同的数据项存放于同内存单元的一种构造数据类型。 ★ 语法格式及应用和结构体完全相同,只是将struct换成 union即可。 二、共用体的用途: ★ 可以在一个数据域中存放不同的对象。 ★ 可以完成不同类型间的转换。

Ex7-16
跳转到第一页

TC IDE

第七章
第八节

结构体与共用体
枚举类型数据

一、枚举类型的概念及定义: ★ 指这种类型的变量的值只能是指定的若干个名字之一。 ★ 定义的语法格式类似于结构体,只是将struct换成union即 可。 二、枚举类型应注意几点: ★ 一个枚举变量的值只能是这几个枚举常量中的一个。

★ 花括号中的名字可以任意,但要符合标识符的命名规则。
★ 其值是一些整数,并且可以初始化,可以进行比较。 Ex7-17
跳转到第一页

TC IDE

第七章
第九节
E.g.

结构体与共用体
用typedef定义类型

一、简单的名字替换: typedef int INTERGER; INTERGER a,b; 二、定义一个类型名代替一个结构体类型: E.g. typedef struct { int num; char name[20];

float score;
}STUDENT; STUDENT student1,student2,*p;
跳转到第一页

TC IDE

第七章
第九节

结构体与共用体
用typedef定义类型

三、定义数组类型: E.g. typedef int COUNT[20];

COUNT a,b;
四、定义指针类型:

E.g.

typedef char * STRING
STRING p1,p2,p[10];

跳转到第一页


更多相关文档:

C语言11

C语言第11章 16页 免费 C语言11-14 3页 免费 C语言模拟试题11 9页 2下载券 C语言基础11 7页 1下载券 c语言笔试题11 37页 2下载券 C语言课件11 31页...

C语言11

C语言第11章 16页 免费 C语言11-14 3页 免费 C语言模拟试题11 9页 5财富值 C语言基础11 7页 1财富值 c语言笔试题11 37页 5财富值 C语言课件11 31页...

C语言11

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 IT/计算机 计算机软件及应用C语言11_计算机软件及应用_IT/计算机_专业资料...

c语言11

37页 5财富值 C语言课件11 31页 5财富值喜欢此文档的还喜欢 C语言程序设计模拟试题11 41页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见...

教案C语言11

C语言第11周教案 24页 免费 C语言ppt教案11 54页 1财富值 C语言教案-第十一...2、变量、变量名、变量的地址、变量值(高级语言的存储器概念-复习) 变量:命名...

C语言练习11

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 资格考试/...C语言练习11_IT认证_资格考试/认证_教育专区。练习十一 1.以下数据中,不正确的...

c语言11套

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 资格考试/认证 IT认证c语言11套_IT认证_资格考试/认证_教育专区 ...

c语言11.5,11.6答案

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 资格考试/认证...c语言11.5,11.6答案_IT认证_资格考试/认证_教育专区。11.5 #include <...

C语言总复习11

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 资格考试/...C语言总复习11_IT认证_资格考试/认证_教育专区。C 语言 总体上必须清楚的:? ...

c语言模拟11

搜 试试 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高等教育 理学...c语言模拟11 隐藏>> 1.sizeof(float)是(C) 。 A、一个浮点表达式 B、一个...
更多相关标签:
c语言ppt课件 | c语言课件 | c语言程序设计课件 | c语言程序设计ppt课件 | c语言ppt课件免费下载 | c语言课件 谭浩强 | c语言教学课件 | c语言ppt课件下载 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com