资源描述:
《最新1.授课类型:理论 学时分配:2学时2.讲授目的:通过课堂讲授结构体教学讲义ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.授课类型:理论学时分配:2学时2.讲授目的:通过课堂讲授结构体第一步:提出任务1.要求:(1)写出下列各程序的输出结果;(2)说出下列各程序指针引用的目的。分析程序,重点理解结构体的描述和应用!接上页程序1:main(){structstu{intnum;char*name;}boy1,boy2;boy1.num=102;boy1.name="Zhangping";boy2=boy1;printf("Number=%dName=%s",boy2.num,boy2.name);}第二步:收集资料1.第1题。程序1的任务是给结构
2、变量赋值并输出其值。如果成员本身又是一个结构则必须逐级找到最低级的成员才能使用。你会怎样考虑?接上页已知结构体定义如下:structstu{intnum;char*name;}boy1,boy2;然后再给结构体变量的各个元素赋值:boy1.num=102;boy1.name="Zhangping";接上页程序2任务是对结构变量初始化。已知结构体定义如下:structstu/*定义结构*/{intnum;char*name;charsex;floatscore;}boy2,boy1={102,"Zhangping",'M',78.5};可
3、以看出,在结构体定义完成后直接就赋值。接上页2.编程:计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。structstu{intnum;char*name;charsex;floatscore;}boy[3]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5}};第三步:问题解剖1.第1题(1)写出下列各程序的输出结果。程序1运行结果:Number=102Name=Zhangping程序2运行结果:Number=102Nam
4、e=ZhangpingSex=MScore=78.5看清楚哦!(2)说出下列各程序指针引用的目的。程序1:给结构变量赋值并输出其值。其赋值方法是在程序中直接对应结构体变量的各个元素赋值。程序2:对结构变量初始化。其赋值方法是在对结构体变量的定义中给对应的结构体变量的各个元素赋值。接上页2.编程:计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。structstu{intnum;char*name;charsex;floatscore;}boy[3]={{101,"Liping",'M',45},{102,"Zhangpi
5、ng",'M',62.5},{103,"Hefang",'F',92.5}};接上页程序编写structstu{intnum;char*name;charsex;floatscore;}boy[5]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chengling",'F',87},{105,"Wangming",'M',58}};接上页main(){inti,c=0;floatave,s=0;for(i=0;i<5;i++
6、){s+=boy[i].score;if(boy[i].score<60)c+=1;}printf("s=%f",s);ave=s/5;printf("average=%fcount=%d",ave,c);}接上页第四步:分析归纳1.结构体概述(1)什么是结构体:将不同的类型和对象组织成一个组合项,称之为“记录”和结构体。(2)结构体数据类型:①一种构造数据类型。什么是结构体?接上页②由不同数据类型成员构造而成。例如,学生构造体structstu{intnum;charname[20];charsex;floatscore;
7、};接上页(3)定义一个结构的一般形式为:struct结构名{成员表列};成员的定义形式为:类型说明符成员名;接上页根据上面例如,分析如下定义:①结构类型名为:structstu,可以象int,char,float一样用来定义变量的类型。②结构名:stu,几乎不单独使用。③成员表列:intnum;/charname[20];/charsex;/floatscore;接上页④structstu结构体类型在内存中的存储结构。见下图:接上页2.结构类型变量的说明(1)先定义结构,再说明结构变量。如:structstu{intnum;charn
8、ame[20];charsex;floatscore;};structstuboy1,boy2;接上页说明了两个变量boy1和boy2为stu结构类型。也可以用宏定义使一个符号常量来表示一个结构类型。例如: