《C语言程序设计任务驱动式教程(第3版)教案第八单元:指针1.docx》由会员分享,可在线阅读,更多相关《C语言程序设计任务驱动式教程(第3版)教案第八单元:指针1.docx(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计任务驱动式教程(第3版)教案第八单元:指针1第8单元 指针(第一讲)授课内容:学时:2学时(90分钟)教学目的和要求:通过变量的定义在内存中的存储方式的讲解,掌握指针的定义、引用。教学重点:了解指针的概念,掌握指针的定义,掌握指针的引用教学难点:指针的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:增强团结、合作意识、灵活处理问题授课内容提纲:一、复习旧课导出新课问题1:内存是什么?问题2:内存如何工作?问题3:变量如何在内存中存储?教师总结:可以存放内存地址
2、的变量是指针,存储在指针中的地址是另一个变量的首地址。我们可以定义指针变量p,存放变量sum 的首地址,变量sum是一个值为0的整型变量。存储在p中的地址是sum 的第一个字节的地址。 二、新课讲解先演示任务一,引入,引起学生兴趣。再逐一讲解以下知识点,最后指导学生能够编写任务程序。教师总结:指针是C语言中最强大的工具之一,是精华所在,也是最容易让人困惑的主题。只有在正确理解指针概念的基础上,才能对其操作灵活的运用。(一) 任务一:交换两个变量的值指针的概述讲解步骤:1.通过编程解决两个变量数据交换的问题,说明内存变量的变化。 2.借助指针完成交换指针变量的定义格式:基类型 *指针变量名举例:
3、 int *p1; (定义p1为指向整型变量的指针变量) char *p2; (定义p2为指向字符型变量的指针变量) float *p3; (定义p3为指向实型变量的指针变量)指针变量赋值1. 通过取地址运算符(&)获得地址值单目运算符(&)用来求出运算对象的地址,利用它可以把一个变量的地址赋给指针变量。举例: int a=5, *p, *q; p=&a; scanf(%d,&a);和scanf(%d,p)是等价的。2. 通过指针变量获得地址值 可以通过赋值运算,把一个指针变量中的地址值赋给另一个指针变量,从而使这两个指针变量指向同一地址。例如,若有上面的定义,则语句: q=p;使指针变量q中
4、也存放了变量a的地址,也就是说指针变量p和q都指向了整型变量a。注意:赋值号两边指针变量的基类型必须相同。3. 给指针变量赋“空”值: p=NULL;NULL是在stdio.h头文件中定义的预定义符,因此在使用NULL时,应该在程序的前面出现预定义行: # include stdio.h。指针变量的引用&、*运算符。注意是用在指针变量上的,不是“位与”,“乘”运算符。&运算符(取地址运算符):表示取变量的地址。*运算符(指针运算符、间接访问运算符):访问指针变量指向的变量的值。任务实施# include stdio.h main( ) int a, b, *p1, *p2,p; printf(
5、请输入a和b:n); scanf(%d,%d, &a, &b); p1=&a; p2=&b; if (a*pb)swap(pa,pb); if(*pb*pc) swap(pb,pc);if (*pa*pc)swap(pa,pc);printf(swaped:n); printf(a=%d,b=%d,c=%dn,*pa,*pb,*pc);特别提示 变量名作为参数是值传递,指针作为参数是地址传递。三.教学总结与作业布置 总结1.指针的定义、引用?2.指针作为函数参数?作业提交方式:上传服务器板书设计知识回顾新课讲解可擦写区域1. 常量与变量1.什么是内存2.指针的概念3.指针的定义4.指针的引用讲解细节布置任务课后附记教学回顾:以提问方式,教师引导总结【约10分钟】新课讲解1:【约35分钟】1.内存操作引入,吸引学生学习兴趣2.思路指导:教师引导学生思考变量的定义与使用在内存中的变化。教师引导学生总结回答问题:内存的工作原理。任务总结分析:教师带领学生分析指针的功能,定义与引用。新课讲解2【约35分钟】思路指导:教师引导学生思考函数的参数。 提问学生:函数参数的传递形式?教师讲解指针作为函数参数的地址传递教师通过上述讲解提醒学生注意教师带领学生分析变量名和指针作为参数的传递区别总结:采用教师引导学生回答的方式进行【约10分钟】请勿盗版 尊重作者
限制150内