C语言教案-1

2019-01-27 12:25

C语言程序设计

1 指针

——变量的地址和指针变量

1:通过本节课的学习,使学生了解变量的地址的概念,了解指针及指针变量的含义,会用指针解决简单问题。

1.1教学目的:1、了解变量的地址的概念

2、了解指针及指针变量的含义

3、会用指针解决简单问题

1.2教学内容: 1、地址

2、指针变量

3、指针变量作为函数的参数

1.3教学重点:1、地址的含义

2、指针变量的含义

1.4教学方法:讲授法、演示 1. 5学习方法:听课、笔记、练习

2:引入本课内容: [5分钟]

在迄今为止的学习中,对数据的访问都是通过变量名来实现的(举例),今天将学习

一种新的数据访问方式,这就是指针,在学习指针之前,必须先要了解地址的概念。

3:课程知识点讲解:

具体知识点1:地址 [10分钟]

1、内存单元:在计算机中,所有的数据都是存放在存储器中的,一般把存储器中的

一个字节称为一个内存单元。

2、不同的数据类型所占用的内存单元数不等。(举例:int(2),float(4),char(1)) 3、为了正确地访问这些内存单元,必须为每个内存编号,内存单元的编号就是地址。

- -

1

C语言程序设计

具体知识点2:指针和指针变量[25分钟]

知识点讲解1、C语言中,允许用一类变量专门来存放另一变量的地址,这种变量称为指针变量。

2、一个指针是一个地址,是一个常量;指针变量可以被赋予不同的指针

值,是变量。(举例)

3、定义指针变量的目的是为了通过指针(地址)去访问内存单元。 4、指针变量的定义和引用

①指针变量定义的一般形式:

类型标识符 *指针变量名 ②对指针变量的引用: *指针变量名

案例讲解1:判断以下程序的运行结果: #include main() {

int a;

int *pointer_1; a=100;

pointer_1=&a;

printf(“%d”,a);

printf(“%d\\n”,*pointer_1); }

案例讲解2:判断以下程序的运行结果: #include main() {

int i,j,*p; p=&i; *p=100;

printf(“%d%d\\n”,i,*p); p=&j;

scanf(“%d”,p);

printf(“%d%d\\n”,j,*p); }

具体知识点3:直接访问和间接访问【5分钟】

知识点讲解1、直接引用:通过变量名访问;(举例)

2、间接引用:通过指针变量间接访问一个变量(举例) 老师提问:

问题1:观察之前案例哪些属于直接访问,哪些属于间接访问?

- -

2

C语言程序设计

具体知识点4:指针变量作为函数的参数【35分钟】

知识点讲解:指针变量同其他类型的变量一样,可以作为函数的参数进行传递,通过以下几个案例体会指针变量作为函数参数的用法。

案例讲解1:输入a和b两个整数,按先大后小的顺序输出a和b。 int swap(int *p1,int *p2) { int p;

p=*p1; *p1=*p2; *p2=p; }

main() {

int a,b;

int *pointer_1,*pointer_2; scanf(“%d,%d”,&a,&b); pointer_1=&a; pointer_2=&b; if(a

swap(pointer_1,pointer_2); printf(“\\n%d%d\\n”,a,b);

}

案例讲解2:输入a和b两个整数,按先大后小的顺序输出a和b。 int swap(int *p1,int *p2) { int *p;

p=p1; p1=p2; p2=p; }

main() {

int a,b;

int *pointer_1,*pointer_2; scanf(“%d,%d”,&a,&b); pointer_1=&a; pointer_2=&b; if(a

swap(pointer_1,pointer_2);

printf(“\\n%d%d\\n”,*pointer_1,*pointer_2);

}

老师提问:

问题1:观察两个案例,为什么第二个案例不能达到交换的目的?

- -

3

C语言程序设计

知识点讲解:按值传送和按地址传送

1、按值传送:传递的参数是具体的数值,形参的改变不会影响实参。 2、按地址传送:传递的参数是具体数值的地址,形参的改变会影响实参。 3、

4 本节总结 [10分钟]

(1)在计算机中,所有的数据都是存放在存储器中的,一般把存储器中的一个字节

称为一个内存单元。不同的数据类型所占用的内存单元数不等。为了正确地访问这些内存单元,必须为每个内存编号,内存单元的编号就是地址。

(2) C语言中,允许用一类变量专门来存放另一变量的地址,这种变量称为指针变

量。一个指针是一个地址,是一个常量;指针变量可以被赋予不同的指针值,是变量。定义指针变量的目的是为了通过指针(地址)去访问内存单元。

(3) 通过变量名访问变量的方式叫直接访问,通过指针变量间接访问变量的方式叫

间接访问。

(4) 按值传送时传递的参数是具体的数值,形参的改变不会影响实参。按地址传送

时传递的参数是具体数值的地址,形参的改变会影响实参。

学生问题汇总:

问题1:

刚开始接触指针,尤其是间接访问方式,对习惯了直接访问的学生来说,还有些不适应。

问题2: 按值传送和按地址传送的概念部分学生没有掌握。

作业:

习题1:用指针的方法求输入两数的和。

习题2:有三个整型变量,i,j,k。请编写程序,设置三个指针变量p1,p2,p3,分别指向i,j,

k。然后通过指针变量使i,j,k三个变量的值顺序交换,即原来i的值赋给j,把j的原值赋给k,把k的原值赋给i。i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。

- - 4


C语言教案-1.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初一下期综合实践教案7插花艺术1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: