内容正文:
8.2 指向简单变量的指针
一、教学目标
1.技能目标
掌握指针变量的定义格式。
2.知识目标
(1)掌握指针运算符&和*的含义。
(2)了解通过指针变量访问变量的用法。
3.素养目标
(1)激发学生对专业技能学习的兴趣。
(2)培养学生自主学习能力以及对知识的归纳总结能力。
二、重点难点
1.重点:(1)掌握指针变量的定义格式。 (2)掌握指针运算符&和*的用法。
2.难点:掌握通过指针变量访问变量的用法。
三、教学时间
本任务教学,课内计划1课时。
4、 教学过程
教学过程
教学环节
教师活动
学生活动
设计意图
导入新课
1.C语言的三种基本数据类型
观察、讨论、思考
激发学生的学习兴趣,掌握C语言的三种基本数据类型—整型、浮点型、字符型。
讲授新课
1、 指针变量的格式
指向简单变量的指针和其他类型一样,指针变量也必须先定义,后使用。格式如下:
类型标识符* 指针变量名;
定义格式同一般变量的定义格式,只是变量名前必须有“*”符号,表示这个变量是指针类型,即存放地址的变量。
例如:
int *p1, *p2;
表示pl、 p2均为指向整型变量的指针。
注意:指针变量名为p1和p2,而不是*p1和*p2。
2、 指针变量的注意事项
注意:p2之前的“*”不能省略。
若说明成:
int *pl, p2;
则pl是指针变量,p2是整型变量。
另外,属于同类型的指针变量可以相互赋值。
3、 通过指针变量访问变量
#include <stdio.h>
main( )
{
int a, b, *p1, *p2;
float x, y, *q1, *q2;
a=123; b=45;
x=1.25; y=-0.98;
p1=&a;
p2=&b;
q1=&x;
q2=q1;
printf(" a=%d, b=%d
", a, b );
printf("*p1=%d, *p2=%d
", *p1, *p2 );
printf(" x=%f, y=%f
", x, y );
printf("*q1=%f, *q2=%f
", *q1, *q2 );
}
其中,p1、p2均为指向整型变量的指针。q1、q2均为指向实型变量的指针。
&为取地址运算符。&a表示变量a的地址,即p1指向变量a。q1指向变量x,q2也指向变量x。最后输出各项值。
运行结果如图所示:
交流分析
4、 注意事项
通过例题,我们可以总结除各指针和各变量的关系。
实践与评估
1.在下面语言中,其中指针变量名为( )。
int *p1, p2;
A. p1
B.p2
C.*p1
D. *p2
2.一个指针变量可以指向( )。
A.多个类型的变量
B.一个类型的变量
C.两个类型的变量
3.表示指针变量的运算符是( )。
A.*
B.&
4.取地址运算符值指的是( )。
A.*
B.&
5.使指针p指向变量a,一般写为( )。
A.p=*a
B.p=&a
二、填空题。
1.定义指针的一般形式:( )*( )。
2.指针变量名前必须有( )符号。
3.int *p1, p2;其中p1是( ), p2是( )。
4.p1=&a;表示( )。
三、简答题。
写出运行结果。
main( )
{ int a,b;
int *p1, *p2;
a=100; b=10;p1=&a;p2=&b;
printf(“%d,%d
”,a,b);
printf(“%d,%d
”,*p1,*p2);}
初步了解指针变量的定义格式。