浙江大学C颜晖原版课件C.ppt

浙江大学C颜晖原版课件C.ppt

ID:51042891

大小:378.31 KB

页数:46页

时间:2020-03-17

浙江大学C颜晖原版课件C.ppt_第1页
浙江大学C颜晖原版课件C.ppt_第2页
浙江大学C颜晖原版课件C.ppt_第3页
浙江大学C颜晖原版课件C.ppt_第4页
浙江大学C颜晖原版课件C.ppt_第5页
资源描述:

《浙江大学C颜晖原版课件C.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章结构结构结构数组结构指针链表位运算自定义类型学号姓名性别出生地出生年出生月出生日数学物理程序设计学号姓名性别出生地年月日数学物理程序设计出生日期国家省市/县学习成绩结构:同一个数据项的若干成分构成的一个整体。例如:学生档案,每个学生有学号、姓名、性别、出生地、出生年月、学业成绩等。9.1结构9.1.1结构的定义structstudent{longintnum;charname[20];floatscore;};定义一个结构类型:structstudent9.1.2结构变量的定义1、先定义结构类型,再定义变量st

2、ructstudent{longintnum;charname[20];floatscore;};structstudentstu1,stu2;numnamescorestu1200011Zhang85stu2200012Li942、定义结构类型的同时定义变量structstudent{longintnum;charname[20];floatscore;}stu1,stu2;3、不指定类型名,只定义变量struct{longintnum;charname[20];floatscore;}stu1,stu2;9.1.

3、3结构变量的初始化只有全局变量或静态变量才能初始化。staticstructstudentstu2={200012,“Li”,94};numnamescorestu2200012Li94numnamescorestu1200011Zhang85structstudent{longnum;charname[20];floatscore;}stu1={200011,"Zhang",85};9.1.4结构变量的使用1、结构类型变量的整体引用(1)不能整体输入输出,但相同类型的变量可以互相赋值printf("%ld%s%f"

4、,stu1);非法stu2=stu1;合法(2)可以引用结构体变量的地址printf("%x",&stu1);输出stu1的首地址2、结构变量中分量的引用structstudent{longintnum;charname[20];floatscore;}stu1,stu2;(1)结构变量.分量stu1.num=9901;printf("%s",stu2.name);numnamescorestu1200011Zhang85stu2200012Li94(2)结构变量中的分量可以依据它的类型进行各种运算x=stu1.sc

5、ore;strcpy(stu1.name,“Wang”);(3)可以引用结构变量中的分量的地址scanf("%ld",&stu1.num);9.2结构数组一个结构变量只能存放一个学生的资料。若班上有20个学生,需要用结构数组。即,数组中的每个元素都是结构类型。9.2.1定义structstudent{longintnum;charname[20];floatscore;}stu[20];stu[0]200011Zhang85stu[19]200012Li90200029Zhao70stu[1]9.2.2初始化stru

6、ctstudent{longintnum;charname[20];floatscore;}stu[20]={{200011,”Zhang”,85},{200012,”Li”,90}};stu[0]200011Zhang85stu[19]200012Li90200029Zhao70stu[1]9.2.3引用structstudent{longintnum;charname[20];floatscore;}stu[20];stu[0].numstu[0].namestu[0].scorestu[0]200011Zhan

7、g85stu[19]200012Li90200029Zhao70stu[1]程序举例例1、输入某班30位学生的姓名及数学、英语成绩,计算并输出每位学生的平均分。structstudent{charname[10];intmath,eng;floataver;};voidmain(){structstudents[30];inti;for(i=0;i<30;i++){scanf("%s%d%d",s[i].name,&s[i].math,&s[i].eng);s[i].aver=(s[i].math+s[i].eng)

8、/2.0printf("%s%f",s[i].name,s[i].aver);}}s[0]s[29]s[1]Zhang8085Li7790wang6078输入某班30位学生的姓名及数学、英语成绩,计算并输出每门课程的平均分。voidmain(){structstudents[30];inti;floataver_m=0,aver_e=0;例2f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。