Chap9结构课件.pptVIP

  • 37
  • 0
  • 约6.95千字
  • 约 33页
  • 2017-03-15 发布于上海
  • 举报
9.3.3结构指针作为函数参数 结构指针的操作是非常灵活的,如果将结构指针作为函数的参数,可以完成比基本类型指针更为复杂的操作。 例9-3 main: pos = update_score(students, n, num, course, score); 自定义函数: int update_score(struct student *p, int n, int num, int course, int score) 函数update_score运行完毕返回主函数后,主函数中的结构数组students中的值已被修改 9.3.3结构指针作为函数参数 与结构变量作为函数参数相比,用结构指针作为函数参数的效率更高。 就例9-3 而言, 在函数update_score()中需要修改主函数中结构数组students的数据,根据第 8章介绍的知识,在此处也只能使用指针作为函数参数的方式才能通过间接访问操作来实现程序功能。 本章总结 结构的概念与定义(含嵌套结构) 结构变量 定义 初始化 使用(成员引用、相互赋值、作为函数参数) 结构数组 定义、初始化、结构数组成员引用 结构指针 概念 结构指针操作 结构指针作为函数参数 能够根据实际情况合理定义结构 能够使用结构变量与结构数组进行熟练编程 掌握结构指针的操作,并应用于函数参数传递 * * * * * * * * * * * * Chap 9 结构 9.1 输出平均分最高的学生信息 9.2 学生成绩排序 9.3 修改学生成绩 本章要点 什么是结构?结构与数组有什么差别? 有几种结构的定义形式,它们之间有什么不同? 什么是结构的嵌套? 什么是结构变量和结构成员变量?如何引用结构成员变量? 结构变量如何作为函数参数使用? 什么是结构数组?如何定义和使用结构数组? 什么是结构指针?它如何实现对结构分量的操作? 结构指针是如何作为函数的参数的? 9.1输出平均分最高的学生信息 9.1.1 程序解析 9.1.2 结构的概念与定义 9.1.3 结构的嵌套定义 9.1.4 结构变量的定义和初始化 9.1.5 结构变量的使用 9.1.1 程序解析 例9-1 输出平均分最高的学生信息 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n 个学生的成绩信息, 计算并输出平均分最高的学生信息。 9.1.1 程序解析 #includestdio.h struct student{ /* 学生信息结构定义 */ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ }; int main(void) { int i, n; struct student s1,max; /* 定义结构变量 */ printf(Input n: ); scanf(%d, n); printf(Input the student’s number, name and course scores\n); for(i = 1; i = n; i++){ printf(No.%d: , i); scanf(%d%s%d%d%d,s1.num,,s1.math,s1.english,puter); s1.average=(s1.math + s1.english + puter) / 3.0; if(i == 1) max = s1; /* 结构变量 操作 */ if(max.average s1.average) max = s1; } printf(num:%d, name:%s, average:%.2lf\n, max.num, , max.average); ?return 0; } 9.1.2 结构的概念与定义 使用结构来表示学生信息: struct student{ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ }; 结构是C语言中一种新的构造数据类型,

文档评论(0)

1亿VIP精品文档

相关文档