C语言电子教案(十七)课件.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、结构体类型变量的定义3 格式3:不定义结构体类型,直接定义结构体变量 struct {成员表列} 结构体变量名; 例如: struct {long num; char name[20]; int score[4]; } c ; 定义c为结构体变量 c num(4) name(20) score(8) 省略结构体类型名称 精品文档 三、对结构体类型的说明 结构体类型与结构体类型变量是两个概念,前者相当于在变量定义时的类型标识符,后者相当于变量定义时的变量名。 成员也可以是一个结构体变量。 成员名可以与程序中其它变量同名,二者不代表同一对象,互不干扰。 精品文档 §11.3 结构体类型变量的引用 结构体中的成员与变量(或数组)一样,可以单独使用,但要按一定的格式引用。 精品文档 一、成员运算符 运算符号: . 前置运算符,与结构体名或共用体名一起使用。 使用方法: 结构体变量名.成员名 或:(*结构体指针变量名).成员名 功能: 访问结构体变量中指定的成员 优先等级: 最高,与括号相同 说明: 访问结构体成员运算符.可多级使用,其左端应为变量名或等价变量名,运算结果为成员的值. 精品文档 例1 结构体变量成员引用举例(计算运费) main ( ) {struct ab {int a;float b; float c; }; struct ab fee; float sum; fee.a=100; fee.b=7.5; fee.c=0.05; sum=fee.a*fee.b*(1-fee.c); printf(\n%d %f %f %f\n,fee.a,fee.b,fee.c,sum); } 为第一个成员(域)a 赋值 定义结构体类型ab 定义结构体变量fee 为第二个成员(域)b 赋值 为第三个成员(域)c 赋值 输出各成员的值 精品文档 二、结构体类型变量引用的说明 结构体变量不能整体进行输入和输出。 如果成员本身又是一个结构体,则必须通过多级成员运算符,对最后一级成员进行访问。 可以引用成员的地址,也可以引用结构体变量的地址。如有结构体变量a,age是a 的一个成员: 则:a 表示结构体变量a的首地址, a.age 表示结构体变量a 的成员age 的地址。 结构体变量的存储::结构体变量所占的存储空间的大小等于结构体中所有成员所占的存储空间的总和。 精品文档 例2 用结构体变量来表示学生数据(学号、姓名、年龄、成绩) 运行程序 main ( ) {struct stu {long num; char name[10]; int age; int score[4]; } st; int i; printf(请输入学生的学号、姓名和年龄\n); scanf(%ld%s%d,st.num,st.name,st.age); printf(请输入学生的四门课考试成绩\n); for(i=0;i4;i++) scanf(%f,st.score[i]); printf(学号\t姓名\t年龄\t\t 成\t\t 绩\n); printf(“%ld\t%s\t%d\t,st.num,st.name,st.age); for(i=0;i4;i++) printf(%7.1f,st.score[i]); } 定义结构体类型和变量 输入学号、姓名和年龄 输入成绩 输出表头 输出学生的数据 精品文档 §11.4 结构体变量的初始化 格式(1): struct 结构体名 { 成员表列 }结构体变量名={数据表列}; 格式(2): static struct 结构体名 { 成员表列 }结构体变量名={ 数据表列 }; 如: struct student {long num; char name[10]; int age; int score[4]; } a= 张三,20,70,75,80,85}; 精品文档 §11.5 结构体数组 如果有三个学生的成绩需要处理,就要定义三个结构体变量,这样就会使程序复杂,同时也无法实现循环控制。这时我们需要使用结构体数组。 结构体数组中可以包含多个元素,每个元素都是一个结构体类型的数据,这样一个结构体数组中就可以存放多个学生数据, 精品文档 一、结构体数组的定义1 格式1:先定义结构体类型,再定义结构体数组 struct 结构体名 {成员表列}; struct 结构体名 结构体数组名[常量表达式]; 例如: struct student {long num; char name[20]; int score[4]; } ; struct student a[3]; 定义a为结

文档评论(0)

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

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

1亿VIP精品文档

相关文档