c程序设计案例汇编课件08.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计案例汇编课件08

第八章 结构体 本章内容 8.1 结构体概述 8.2 结构体变量与数组 8.3 结构体变量与指针 8.4 结构体变量与链表 8.5 结构体与共用体 8.6 枚举类型 8.1 结构体概述 案例 8-1:学生成绩的输出 利用结构体对三名学生的学号、姓名、性别、成绩进行输入与输出。程序执行结果如图8-1所示: 1. 案例8-1的源代码: #include stdio.h struct stu { long int num; char name[20]; char sex; float score; }student1,student2={960002,Zhang hong li,W,98},student3; / *对student2初始化*/ void main() { student1.num=960001; /*对student1各成员赋值*/ scanf(%s,student1.name); student1.sex=M; student1.score=65; student3=student1; /*对student3直接赋值*/ printf(\n%ld\t%20s\t%c\t%f,student1.num,student1.name,student1.sex,student1.score); printf(\n%ld\t%20s\t%c\t%f,student2.num,student2.name,student2.sex,student2.score); printf(\n%ld\t%20s\t%c\t%f,student3.num,student3.name,student3.sex,student3.score); } 2. 程序分析 本案例是利用结构体实现学生信息进行赋值。从案例中的第二行struct stu{}可以看出:“结构体”是一种构造类型,是由数目固定,类型相同或不同的若干有序变量组成的集合。组成结构体的每个数据都称为结构体的“成员”,或称“分量”。 1)结构体类型的声明 声明一个结构体类型的一般形式为: struct 结构体名(也称为结构体标记) { 成员表列(也称为域表) }; 应注意在括号后的分号是不可少的。成员表列由若干个成员组成,每个成员都是该结构体的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 成员名的命名应符合C语言标识符的书写规定,结构体成员名可与程序中其它变量同名,互不干扰。 2)结构变量的定义 对于已经声明的结构体类型,就可有对应于该类型的“结构类型变量”,简称为“结构变量”。定义结构变量有以下三种方法: (1) 先声明结构体类型,再定义结构变量 即在先前声明的结构体类型后加上以下形式: struct 结构体名 结构变量表列; (2) 在声明结构体类型的同时定义结构变量 即被定义的结构变量直接在结构体类型声明的“}”后给出。一般形式为: struct 结构体名 { 〈成员表列〉 }〈结构变量表列; (3) 直接定义结构变量 即省略结构体名。一般形式为: struct { 成员表列 }结构变量表列; 在本案例中的第二行到第八行就是采用了第二种结构变量的定义和声明对于结构体stu的定义和初始化。 struct stu { long int num; char name[20]; char sex; float score; }student1,student2={960002,Zhang hong li,W,98},student3; / *对student2初始化*/ 案例 8-2:定义一个结构体 定义一个结构变量 student ,用于存储和显示一个学生的基本情况。程序执行结果如图8-2所示: 图8-2 案例8-2程序运行结果示例 1. 案例8-2的源程序 #include stdio.h struct date /* 日期结构类型:由年、月、日三项组成 */ { int year; int month; int day; }; struct std_info /* 学生信息结构类型:由学号、姓名、性别和生日共 4 项组成 */ { char no[7]; char name[9]; char sex[3]; struct date birthday; }; struct std_info student={000102, 张三 ,男,{1980,9,20}}; void main() {

文档评论(0)

yigang0925 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档