C语言程序设计 教案 6-2 利用结构体数组处理多组数据、利用结构体指针引用结构体数据(2课时)_第1页
C语言程序设计 教案 6-2 利用结构体数组处理多组数据、利用结构体指针引用结构体数据(2课时)_第2页
C语言程序设计 教案 6-2 利用结构体数组处理多组数据、利用结构体指针引用结构体数据(2课时)_第3页
C语言程序设计 教案 6-2 利用结构体数组处理多组数据、利用结构体指针引用结构体数据(2课时)_第4页
C语言程序设计 教案 6-2 利用结构体数组处理多组数据、利用结构体指针引用结构体数据(2课时)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》教学设计日期:年—月—日

利用结构体数组处理多组数据、

教学内容

利用结构体指针引用结构体数据

教学学时2授课教师

班级地点周次星期节次

素质3标知识目标能力耳标

(1)基本职业素养:遵守工作时间,(1)掌握结构体(1)能用结

使用实践设备时注意用电安全,实践设数组的定义方法、初构体数组解决

备使用完毕后要断电并放于指定位置,始化方法、存储形式实际问题

程序设计要注重工程规范,养成良好的及应用方法(2)能用结

工作习惯。(2)掌握结构体构体指针解决

(2)团结协作素养:小组内成员互查指针引用结构体数实际问题

程序代码书写规范性、准确性和完整性,据的方法

教学取长补短,具有责任意识、团队意识与(3)掌握结构体

目标协作精神。指针变量作函数参

(3)自主学习素养:能根据任务要求,数的应用方法

查找相关资料解决实际问题;能自主完

成练习,培养自主学习的意识与一丝不

苟、实事求是的工作作风。

(4)思政和劳动素养:具有一定的辩

证唯物主义运用能力、安全意识、劳动

意识、创新意识、创新能力和强烈的爱

国主义精神。

(1)结构体数组的定义方法、初始化方法、存储形式及应用方法

教学重点(2)结构体指针引用结构体数据的方法

(3)结构体指针变量作函数参数的应用方法

(1)结构体数组的存储形式及应用方法

教学难点(2)结构体指针引用结构体数组元素的方法

(3)结构体指针变量作函数参数的应用方法

任务1:掌握结构体数组的定义方法、初始化方法、存储形式及应用方法

能力训练

任务2:掌握结构体指针引用结构体数据的方法

任务

任务3:掌握结构体指针变量作函数参数的应用方法

(1)教材:朱琨《C语言程序设计》,机械工业出版社,978-7-111-66954-8,

2021

教学材料

(2)教学资源:电子教案、教学课件、微课视频、在线开放课程

(3)仪器与设备:电脑(装有VC++开发环境)

教学进度设计

步骤教学内容及目标思政元素教师活动学生活动时间

复习:结构体变量、普

通数组、指针相关知学而时习

一、复习与导提问、导入新课、布总结、回答、明确学

识。之、温故知5min

入置学习任务习任务

导入:结构体数组和结新

构体指针。

二、实施任务

引导学生对比结构体对比结构体变量和

1:掌握结构1、定义结构体数组的

方法变量和普通数组知识普通数组知识学习

体数组的定

2、结构体数组的初始知识迁移学习结构体数组、通结构体数组,通过编

义方法、初始25min

化方法和存储形式与运用过例题掌握结构体数写和运行教材例题

化方法、存储

3、结构体数组的应用组的应用方法;巡回程序掌握结构体数

形式及应用方法

指导组的应用方法

方法

1、结构体指针的概念对比指向普通变量

2、指向结构体变量的引导学生对比指向普的指针和指向数组

三、实施任务指针通变量的指针和指向的指针,并通过编写

2:掌握结构(1)定义方法数组的指针学习指向和运行例题程序掌

(2)访问结构体数据知识迁移

体指针引用结构体变量和指向结握指向结构体变量35min

成员的3种形式与运用

结构体数据3、指向结构体数组的构体数组的指针,访和指向结构体数组

的方法指针问结构体数据成员的的指针的应用方法、

(1)初始化方法3种形式;巡回指导访问结构体数据成

(2)应用方法员的3种形式

1、结构体数据在函数引导学生分析结构体

四、实施任务发现问题,通过例题

调用时的传递方式探善于发现数据的两种传递方式

3:掌握结构讨(整体值传递和地址程序掌握结构体指

问题、解决优缺点,通过例题程

体指针变量传递)针变量作函数参数20min

问题,精益序掌握结构体指针变

作函数参数2、使用结构体数据的的应用方法,并体会

求精量作函数参数的应用

的应用方法首地址作为函数参数其优点

的优点方法,并体会其优点

概括基本内容,归纳重引导学生归纳总结,思考,记录,整理场

五、总结自主学习5min

点内容然后布置课后任务地

通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插至।上述任

作业

务中);预习下次课内容(共用体类型、枚举类型、用typedef声明类型别名)。

1.对比结构体变量和基本类型的数组知识,学习结构体数组,可有效降低学习难度,尤

其是其存储形式。

2.对比指向普通变量的指针和指向数组元素的指针,学习指向结构体变量和指向结构体

数组元素的指针,可有效帮助学生理解结构体指针的概念和应用方法。

课后3.引导学生通过例6.4,重点掌握访问结构体数据的成员有3种形式。

体会4.结构体指针作为函数参数,是本次课的教学难点,需要在充分理解结构体数据的存储

形式及结构体指针的应用方法。通过例题,深刻体会使用结构体指针引用结构体数据的好

处提前程序执行效率(精益求精)。

5.学生结合第5章所学的指针数组和本次课所学的结构体指针,自主学习结构体指针数

组及其应用方法。

利用结构体数组处理多组数据、利用结构体指针引用结构体数据

教学详案

步骤一:复习与导入(时间:5分钟)

复习:结构体类型的声明,结构体变量的定义、初始化及引用方法。

导入:一个结构体变量可以存放一名学生的信息;而结构体数组可以存放多名学生的信

息,其中每个元素都是一个结构体类型的数据。另外,指针可以指向普通变量和数组,也可

以指向结构体数据一一结构体指针。

步骤二:任务1:掌握结构体数组的定义方法、初始化方法、存储形式及应用方

法(时间:25分钟)

1、定义结构体数组的方法

stnictStudent〃声明结构体类型

intstu_ID:

charname[20];〃川名

floatscore;〃成缄

);

sti-uctStudentstu[5];〃定义结构体数组

定义的结构体数组stu,共有5个元素,stu[0]^stuf41o每个数组元素都是structStudent

结构体类型的。

2、结构体数组的初始化方法和存储形式(类似于一维数组)stuSlit

1001

stnictStudeutstu[3]={

stu[0卜Liping

{1001,"Liping”,45}.45

Hs(u+l

{1002,Zhangpiug'',62.5),1002

{1003,MHefangM,92.5}stu[l]JZhangping

);stu+2L62.5

r1003

Hefang

3、结构体数组的应用方法stu"

【例6.2】计算学生的平均成绩,并统计不及格的人数。

#inelude<stdio.h>

stimctStudent

I

intstu_ID;〃学号

charnanie[20];姓名

floatscore;〃成绩

i.

b

structStudeutstu[5]={

{1001,nLipingH,45},

(1002,HZhaomin'\62.5),

{1003,MHefenH,92.5},

(1004,MChenlinM,87},

{1005,MWanmin'',58}

};

intmain(void)

(

inti,count=0;

floatave,sum=0;

for(i=0;i<5;i++)

(

sum=sum+stu[i].score;

if(stu[i].score<60)count++;〃统计不及格人数

)

ave=sum/5;〃计算平均分

printf("平均分:%.lfai",ave);/编出数据保留1位小数

printf("不及格人数:%d\n",count);

)

【学习检验】教材单元练习第8题。

【学以致用】教材例6.3:建立同学通讯录。

步骤三:任务2:掌握结构体指针引用结构体数据的方法(时间:35分钟)

1、结构体指针的概念

结构体指针是用来指向结构体数据(结构体变量或结构体数组元素)的指针,若把一个

结构体数据的起始地址赋给一个指针变量,则该指针变量就指向这个结构体数据。

2、指向结构体变量的指针

(1)定义方法:struct结构体名*结构体指针变量名;

例如:structStudent*pstu;〃pstu用来指向structStudent类型的变量或数组元素

(2)访问结构体数据成员的3种形式

【例6.4]通过3种方式访问结构体变量中的成员。

^include<stdio.h>

structStudent〃声明结构体类型

intstuID;〃学号

charnan)e[20];〃姓名

floatscore;〃成绩

);

intmain(void)pstu$怕1

1002

张三强

structStudentstu1={1002,“张三强”,78.5};/定义结构体变量stul并赋值

structStudent*pstu=&stul;/定义结构体指针变量pstu,并指向变量stul78.5

printf(”学号姓名成绩M);

printf("/dstul.stuID,,stul.score);

priutf("/d%s(*pstu).stuID,(*pstu).name,(*pstu).score);

priutf("%d/spstu->stu_ID,pstu->name,pstu->score);

)

【引导总结】访问结构体数据的成员有3种形式

1)结构体变量名.成员名或结构体数组元素名.成员名例如

2)(*结构体指针变量名)咸员名例如(*pstu).name

3)结构体指针变量名->成员名例如pstu->name

【学习检验】教材单元练习第5、6题。

3、指向结构体数组的指针

当结构体指针变量指向结构体数组中的某个元素时,结构体指针变量的值是该结构体

数组元素的起始地址。

【例6.5]用结构体指针变量输出结构体数组。

//include<stdlo.h>

stnictStudent〃声明结构体类型

intstuID;

charname[20];/姓名

floatscore;〃成绩1001

);stu[O]-Liping

intmain(void)45

ps+L§tu+l

(

1002

structStudentstu[3]={

shi|ip

{1001,”Liping”,45},Zhaomin

{1002J'Zhaoniin”,62.5},ps+2,stu+2L62.5

(1003.,,HefenH,92.5)r1003

);定义结构体数组,并赋初值

stu[2]-Hefen

structStudent*ps;,定义结构体指针变吊

92.5

printf(“学小t姓名\t\t成绩\n");

a.

fbr(ps=stu;ps<stu+3;ps++)于亏姓名成绩

printf(H%-6d%-20s%.lFt\nH,ps->stuID,ps->name,ps->score);1001Liping45.0

1002Zhaonin62.5

)

1003Hefen92.5

【学习检验】教材单元练习第7题。

步骤四:任务3:掌握结构体指针变量作函数参数的应用方法(时间:20分钟)

【引导思考】

1、结构体数据在函数调用时的传递方式:整体值传递和地址传递

2、使用结构体数据的首地址作为函数参数的方法和优点:用指向结构体数据的指针变

量作函数参数,则会减少时间和空间上的开销,大大提高程序执行效率。

【例6.6】计算一组学生的平均成绩和不及格人数。

#include<stdio.h>

structStudent〃声明结构体类型

(

intstuID;〃学号

charname[20];〃姓名

floatscore;〃成绩

);

voidave(structStudent*ps,intn);函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论