计算机程序设计语言C第8章 结构体.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 结构体8.1 学生信息管理8.2 学生成绩管理8.3 单链表基本操作8.4 综合应用学习目标掌握结构体的概念和特点;熟练定义结构体数据类型;掌握结构体变量的定义、引用及初始化方法;了解结构体数组的特点;能使用结构体数组解决简单的问题;了解结构体指针和链表的概念、特点及链表的基本操作。重点难点重点:结构体的定义,结构体变量的定义、初始化及引用,结构体数组的特点及使用方法。难点:结构体指针和链表的概念、特点及链表的基本操作的实现。8.1 学生信息管理8.1.1 案例描述1.提出问题假设学生的基本信息包括学号、姓名、出生日期、所属院部系、所学专业、各门课程成绩,如何将学生基本信息保存起来呢?要求:通过键盘输入1名学生的基本信息,包括学号、姓名、出生日期、所属院部系、所学专业、各门课程成绩,并在屏幕上输出。2.涉及的知识点数据类型选择——结构体。8.1.2 结构体与结构体变量1.结构体结构体是一个可以包含不同数据类型的一个结构,它是一种可以由用户自己定义的数据类型,除了结构体变量需要定义后才能使用外,结构体本身也需要定义。结构体由若干“成员”组成。每个成员可以是一个基本的数据类型,也可以是一个已经定义的构造类型。结构体定义的一般形式struct 结构体名{ 类型1成员1; 类型2成员2; ...... 类型n成员n;};案例中学生基本信息类型定义学生基本信息类型定义可用图8-2描述:struct date{ //日期类型定义 int year; int month; int day; };struct student{ //学生基本信息类型定义 int num; //学号 char name[24]; //姓名 struct date birthday; //出生日期 char department[48]; //院部系 char major[32]; //专业 double score[4]; //四名课程成绩 double sum; //总成绩 double average; //平均成绩 };结构体与数组的区别:第一,结构体可以在一个结构中声明不同数据类型,而数组不能;第二,相同结构体的结构体变量可以相互赋值,而数组不能。2.结构体变量(1)结构体变量的定义格式:struct 结构体名 变量1,变量2,…变量n;表示学生基本信息的变量定义: struct student student1, student2;与其他数据类型的变量一样,一旦定义了变量后,系统就会为这个变量分配相应的存储空间。说明:结构体类型、变量是不同的概念① 在定义时一般先定义一个结构体类型,然后定义该类型的变量;② 赋值、存取或运算只能对变量进行操作,不能对类型进行以上操作;③ 编译时只对变量分配空间,对类型不分配空间。(2)结构体变量的引用引用结构体变量中的一个成员格式:结构体变量名.成员名说明:①“.”运算符是成员运算符。例如:student1.num=11301;gets(student1.name); ② 成员本身又是结构体类型时的子成员的访问(使用成员运算符逐级访问)。例如:scanf(%d , student1.birthday.year);③ 同一种类型的结构体变量之间可以直接赋值(整体赋值,成员逐个依次赋值)。例如:student2=student1;④ 不允许将一个结构体变量整体输入/输出例如:scanf(“%...”,student1); printf(“%...”,student1); 都是错误的。(3)结构体变量的初始化前面定义的结构体类型的变量student1我们可以对其做如下初始化:struct student student1={1,”张强”,{1990,2,10},”信息工程学院”,”计算机”,{76,87,91,90}}, student2;温馨提示:此处进行初始化可以只对变量的一部分成员赋初值,如果是中间成员未赋初值应使用“,”分隔,如下所示:struct student student1={1,”张强”,{1990,2,10}, ,”计算机”,{76,,91,90}}, student2;8.1.3 程序解析温馨提示:(1)使用输入函数时最好结合输出函数,起到一个屏幕提示作用,给读者提供一个友好的运行界面。(2)如果前面已经输入了数据,接下来要输入字符数组成员值,在输入之前要先使用语句scanf(%c);接收一下空白字符,从而保证字符数组成员值接收正确。(3)输入double型变量值时,需要使用格式符%lf,如源代码中scanf(%lf

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档