- 1、本文档共120页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(第六章)课案
第6章
用户定制数据类型及位运算;6.1 结构;6.1.1 概述;1.定义一个结构的一般形式为:
struct 结构类型名
{
成员表
};
成员表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:
类型说明符 成员名; ;2.结构类型变量的定义;(1)先定义结构类型,再说明结构变量。
这种定义一个结构变量的一般形式如下:
struct 结构类型名
{
成员表列
}; /*这里需要“;” */
struct 结构类型名 结构变量表;
上面结构变量表中不同结构变量之间用逗号“,”隔开,例如:
struct ST /* 定义结构类型 */
{ int num; /* 学号 */
char *name; /* 姓名 */
char sex[3]; /* 性别 */
float score; /* 成绩 */
};
struct ST boy, girl; /* 定义结构变量 */;(2)在定义结构类型的同时说明结构变量。
这种定义一个结构变量的一般形式如下:
struct 结构类型名
{ 成员表
} 结构变量表;
例如:
struct ST /* 定义结构类型 */
{ int num; /* 学号 */
char *name; /* 姓名 */
char sex[3]; /* 性别 */
float score; /* 成绩 */
} boy, girl; /* 定义结构类型变量 */
上面的定义与第一种方法相同,也定义了两个变量boy和girl为ST结构类型。;(3)直接说明结构变量
这种定义一个结构变量的一般形式如下:
struct
{ 成员表
} 结构变量表;
例如:
struct
{ int num; /* 学号 */
char *name; /* 姓名 */
char sex[3]; /* 性别 */
float score; /* 成绩 */
} boy, girl; /* 定义结构类型变量 */
第三种方法与第二种方法的区别在于第三种方法中省去了结构类型名,而是直接给出结构变量。; 结构体内的成员也可以是另外一个结构,即构成了嵌套的结构类型。;6.1.3 结构类型变量的引用;例6.1 试编写为结构变量赋值并输出其值的程序。
int main(void) /* 主函数main() */
{
struct DateType /* 定义结构类型 */
{ int year; /* 年份 */
int month; /* 月份 */
int day; /* 日 */
};
struct StudentType /* 定义结构类型 */
{ int num; /* 学号 */
char *name; /* 姓名 */
char sex[3]; /* 性别 */
struct DateType birthday; /* 生日 */
float score; /* 成绩 */
};; struct StudentType student; /* 定义结构类型变量 */
/* 为结构变量student赋值 */
student.num = 10101; /* 为num赋值 */
student.name = 刘杰明; /* 为name赋值 */
strcpy(student.sex, 男); /* 为sex复制赋值 */
student.birthday.year = 1968; /* 为year赋值 */
student.birthday.month = 6; /* 为month赋值 */
student.birthday.day = 18; /* 为day赋值 */
student.score = 98.8; /* 为score赋值 */
/* 输出结构变量student */
printf(学号:%d\n, student.num); /* 输出num */
printf(姓名:%s\n, student.name); /* 输出name */
printf(性别:%s\n, student.sex); /* 输出sex */
printf(生日:%d年,%d月,%d日\n, /* 输出birthday */
student.birthday.year, student.birthday.month,
st
文档评论(0)