首页 《C语言程序设计》课程教案19

《C语言程序设计》课程教案19

举报
开通vip

《C语言程序设计》课程教案19《C语言程序设计》课程教案 课题 指针 课型 专业基础课 课时序 19 课时 2 授课时期 2014-06-13周五 13级电商1班 1-2节 2014-06-13周五 13级电商2班 3-4节 教学目的 1、掌握指针的概念。 2、熟练掌握指针的应用。 3、掌握字符数组的定义和引用。 教学重点难点 重点: 1、掌握指针的概念 2、掌握用指针编程 难点: 1、指针的运算 2、指针数组的应用 教学方法 主要运用讲授法,兼用演示法。 ...

《C语言程序设计》课程教案19
《C语言程序设计》课程 教案 中职数学基础模块教案 下载北师大版¥1.2次方程的根与系数的关系的教案关于坚持的教案初中数学教案下载电子教案下载 课题 指针 课型 专业基础课 课时序 19 课时 2 授课时期 2014-06-13周五 13级电商1班 1-2节 2014-06-13周五 13级电商2班 3-4节 教学目的 1、掌握指针的概念。 2、熟练掌握指针的应用。 3、掌握字符数组的定义和引用。 教学重点难点 重点: 1、掌握指针的概念 2、掌握用指针编程 难点: 1、指针的运算 2、指针数组的应用 教学方法 主要运用讲授法,兼用演示法。 教学 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 提纲 9.1 指针的概念 9.2 变量与指针 9.3 数组与指针 9.4 字符串与指针 课后小结 主要运用讲授法。(1.举例引导2.提问3.类比)利用多媒体课件进行教学,扩大课堂教学的信息量。         教学过程:  本章导读:指针是C语言的一种数据类型,在C语言中处于重要的地位。正确、灵活地应用指针可以有效地表示复杂的数据结构;能动态分配内存;能方便地使用字符串;方便高效地使用数组。熟练地应用指针可以使C程序简洁、紧凑、应用效果好。 9.1  指针的概念 一个变量的地址称为该变量的指针。 9.2  变量与指针 1、指针变量的定义 定义指针的一般形式为 基类型  *指针变量名 例如:int  *p1;      (定义p1为指向整型变量的指针变量) char  *p2;    (定义p2为指向字符型变量的指针变量) float  *p3;    (定义p3为指向实型变量的指针变量) int、char、float分别称为指针变量p1、p2、p3的“基类型”,“基类型”意为指针变量所指变量的类型,不是指针变量的类型。 2、指针变量的赋值  可以使用不同的方法给一个指针变量赋值。 1.通过取地址运算符(&)获得地址值 单目运算符(&)用来求出运算对象的地址,利用它可以把一个变量的地址赋给指针变量。例如有如下定义和赋值:int  a=5, *p, *q;    p=&a; 2.通过指针变量获得地址值 可以通过赋值运算,把一个指针变量中的地址值赋给另一个指针变量,从而使这两个指针变量指向同一地址。例如,若有上面的定义,则语句:q=p;使指针变量q中也存放了变量a的地址,也就是说指针变量p和q都指向了整型变量a。使用时应注意:赋值号两边指针变量的基类型必须相同。 3.给指针变量赋“空”值 p=NULL; 3、指针变量的引用 1.&:取地址运算符 2.* :间接访问运算符(指针运算符) 例9.1 通过指针变量访问指针变量 main( ) {int a, b, *p1, *p2; a=10; b=20; p1=&a;                  /*把变量a的地址赋给指针变量p1*/ p2=&b;                  /*把变量b的地址赋给指针变量p2*/ printf(″%d, %d\n″, a, b); printf(″%d, %d\n″, *p1, *p2); }  程序的运行结果为: 10,20 10,20 9.3数组与指针 1、问题的提出 用指针法对数组进行输入和输出 main( ) {int a[10], *p; p=&a[0]; for(p<=&a[9]; p++) scanf (″%d″, p); for(p=&a[0];p<=&a[9];p++) printf (″%d″,*p); printf(″\n″); } [说明]  1.程序的第3行将数组元素a[0]的地址赋给指针变量p,使指针p指向了a[0]这个元素。C语言 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 :数组名代表数组的首地址(起始地址) 因此下列两条语句等价:p=&a[0];      p=a; 2.程序中的第一个循环是将10个数读入数组a中。第二个循环将数组a中的元素输出。请注意两个循环中p++的作用,它每次自加后都指向了下一个元素。 以上程序也可以写成下面的形式: main( ) { int a[10], *p; for(p=a; p<=a+9;p++) scanf(″%d″,p); for(p=a; p<=a+9; p++) printf(″%d  ″, *p); printf(″\n″);  } 程序中a+9的值是数组最后一个元素(a[9])的地址。 2、指向数组的指针 定义指向数组的指针与定义指向变量的指针类似,其格式为: 基类型  *指针变量名  其中基类型是数组的基类型。 例如:int a[10], *p1, *p2, *p3, *p4; 要使指针指向数组,可以使用如下语句: p1=&a[0];    /*p1指向数组元素a[0] */ p2=a;        /*p2指向数组元素的首地址,也是指向数组元素a[0] */ p3=&a[4];    /*p3指向数组元素a[4] */ p4=a+4;      /*p4指向数组元素a[4] */ 9.4  字符串与指针 1、用一个一维字符数组来存放字符串 1.C语言对字符串的约定:以字符′\0′作为字符串结束标志。 2.C语言中表示字符串常量的约定 虽然C语言中没有字符串数据类型,但却可以使用“字符串常量”。 3.C语言中字符串常量给出的是地址值 在C语言中,字符串常量被隐含处理成一个以′\0′结尾的无名的字符型一维数组。因此,若有以下定义:char *sp, s[10]; 以下赋值是不合法的:s=″Hello!″;不合法的原因是:内容为Hello!的字符串常量在赋值过程中给出的是这个字符串在内存中的首地址,而s是一个字符数组的数组名。因此,该赋值是非法的。 而以下的赋值:sp=″Hello!″; 4.字符数组与字符串的区别 在C语言中,有关字符串的大量操作都与字符串标志′\0′有关,因此,在字符数组中的有效字符后面加上′\0′这一特定情况下,可以把这种一维字符数组看作“字符串变量”。 2、指向字符串的指针 使指针指向一个字符串的方法主要有以下几种方法: 1.通过赋初值使指针指向一个字符串 char *ps=″Hello!″; 2.通过赋值运算使字符指针指向字符串 char *ps; ps=″Hello!″;  也可以通过将指针变量之间的赋值使指针指向字符串。 例如:char *ps1, *ps2=″Hello!″; ps1=ps2; 使ps1也指向了ps2所指向的字符串。还可以将字符数组名赋给字符指针变量而使其指向字符串。 例如:char *ps1, s[ ]= ″Hello!″;  ps1=s;  例9.1 用指针法将字符串a复制为字符串b。 # include″stdio.h″ main( ) {char a[20], b[20], *p1, *p2; int i; gets(a); for(p1=a,p2=b; *p1!=′\0′; p1++, p2++) *p2=*p1; *p2=′\0′; puts(b); } 课堂提问与讨论 课堂小结、作业布置 本章主要介绍了指针的概念、指向变量的指针、指向数组的指针、指向字符串的指针、指针数组以及多级指针等。 所谓指针其实就是地址,由于可以通过地址找到存储于内存中的变量,所以形象地把地址称为指针。 指针变量是存储地址的变量,通过指针变量可以很方便地对存储于内存单元中的变量进行操作。 在用指针处理数组时,可以通过指针的移动来访问数组的每一个元素。在用指针处理字符串时,可以充分利用字符串结束标志′\0′。 指针数组一般用来处理多个字符串的情况。 多级指针一般使用到二级指针为止,主要用来处理二维数组等情况。
本文档为【《C语言程序设计》课程教案19】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_856983
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:8
分类:工学
上传时间:2019-05-17
浏览量:31