C语言教案-第十五周_第1页
C语言教案-第十五周_第2页
C语言教案-第十五周_第3页
C语言教案-第十五周_第4页
C语言教案-第十五周_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、第8章指针本节题目指针与字符串1:本节主要目的1.1教学目的:1、了解字符串的表示形式2、了解字符串指针作函数参数1.2教学内容:1、字符串的表示形式2、字符串指针作函数参数1. 3教学重点:1、了解字符串指针作函数参数1. 4教学方法:讲授+演示1. 5学习方法:听课+笔记+练习2:引入本课内容:5分钟在上一节课,学习了指针与一维数组的各种情况,那么,指针能否指向一个字符串 呢?如果可以,是一种什么样的情况呢?今天这节课来学习指针与字符串。3:课程知识点讲解:具体知识点1:字符串的表现形式15分钟C语言中,有两种方式可以实现字符串:字符数组、字符指针案例讲解1:用字符数组存放一个字符串,然后

2、输出该字符串。mai n() static char string=“ I love China! ” ;printf(“sn”,string);程序说明:stri ng是数组名,代表字符数组的首地址。数组可以用下标访问, 也可以用指针访问。如string4表示一个元素值是字符v,也可以 用* (string+4 )来访问,string+4 是指向字符v的指针。血 案例讲解2:用字符串指针指向一个字符串,然后输出该字符串。mai n() char *string=“ I love China! ” ;printf(“sn”,string);程序说明:string是一个指针变量,“I love

3、Chi na!”是一个字符串常量。语句 char *string=“I love China! ”; 等价于 char *string; string= “I love China! ”它把字符串常量的首地址赋给指针stri ng。不能理解为把字符串常量赋给指针变量。char *stri ng=“I love Chi na! ”字符串stri ng从以上两个例子中,可以看到:1、字符数组和字符指针的概念不同。2、字符指针指向字符串,而 C语言中,字符串按数组方式处理,因此,字符数 组和字符指针的访问方式相同。例如,均可以使用s格式控制符进行整体输 入输出。但应注意,如果不是字符数组,而是整型、

4、实型等数字型数组,不 能用%s只能逐个元素处理。a复制到字符串bo (以下用两种方法实现)printf(for(i=0;bi!=printf(printf(方法二:mai n() char a=“I am a boy. ” ,b20,*p1,*p2;七 案例讲解3:将字符串方法一:mai n() char a= char b20; int i;for(i=0;*(a+i)!= *(b+i)=*(a+i); *(b+i)=printf(“I am a boy. ”O);i+)0;“string a is:%sn” ,a);“string b is:” );0;i+)“C ,bi);“n ”);i

5、nt i;p1=a;p2=b;for(;*p1!=*p2=*p1;*p2=printf(printf(for(i=0;bi!=printf(printf(0;p1+,p2+)0)“string a is:%sn” ,a);“string b is:” );0;i+)“%c ,bi);“n ”);在此案例中,程序完成了两项工作:一是把 p1指向的源字符串复制到p2所若是则表明源字指向的目标字符串中,二是判断所复制的字符是否为 0,符串结束,不再循环。否则,p2和pl都加1,指向下一字符具体知识点2:字符串指针作函数参数30分钟将一个字符串从一个函数传递到另一个函数,可以使用传地址的方式, 即用字

6、符数组名或字符指针变量作参数。有以下四种情况:实参形参1数组名数组名2数组名字符指针变量3字符指针变量字符指针变量4字符指针变量数组名案例讲解:用函数调用实现字符串的复制。(1) 用字符数组作参数void copy_stri ng ( char from, char to ) int i=0;while( fromi != 0) toi = fromi; i+; toi = 0; mai n () char a = I am a teacher.; char b = you are a stude nt.;printf( stri ng_a =%sn stri ng_b =%sn, a,b)c

7、opy_string ( a,b);printf( stri ng_a =%sn stri ng_b =%sn, a,b)使用字符指针可以将 ma in ()函数改写为:mai n () char *a = I am a teacher.;char *b = you are a stude nt.;printf( stri ng_a =%sn stri ng_b =%sn, a,b)copy_string ( a,b);printf( stri ng_a =%sn stri ng_b =%sn, a,b) 一 一(2) 形参用字符指针。void copy_stri ng( char *from

8、, char *to ) for (; *form != 0; from+, to+)*to = *from;*to = 0; mai n () char *a = I am a teacher.;char *b = you are a stude nt.;printf(string_a =%sn string_b =%sn, a,b);copy_string(a,b );printf(string_a =%sn string_b =%sn, a,b); 一 一老师提问:问题1:分别观察两个案例的实参和形参,能总结出什么?4本节总结10分钟将一个字符串从一个函数传递到另一个函数,可以使用传地址的方式,即用字符 数组名或字符指针变量作参数,有以下四种情况:组合情况实参形参1数组名数组名2数组名字符指针变量3字符指针变量字符指针变量4

温馨提示

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

评论

0/150

提交评论