C程序设计教案322课时——通过指针引用字符串.docx

上传人:lao****ou 文档编号:405677 上传时间:2023-10-24 格式:DOCX 页数:11 大小:24.49KB
下载 相关 举报
C程序设计教案322课时——通过指针引用字符串.docx_第1页
第1页 / 共11页
C程序设计教案322课时——通过指针引用字符串.docx_第2页
第2页 / 共11页
C程序设计教案322课时——通过指针引用字符串.docx_第3页
第3页 / 共11页
C程序设计教案322课时——通过指针引用字符串.docx_第4页
第4页 / 共11页
C程序设计教案322课时——通过指针引用字符串.docx_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C程序设计教案322课时——通过指针引用字符串.docx》由会员分享,可在线阅读,更多相关《C程序设计教案322课时——通过指针引用字符串.docx(11页珍藏版)》请在第一文库网上搜索。

1、教案序号032周次授课形式新授授课章节名称通过指针引用字符串教学目的通过指针引用字符串教学重点通过指针引用字符串教学难点通过指针引用字符串使用教具机房课外作业课后体会授课主要内容 8.4.1字符串的引用方式 字符串是存放在字符数组中的。引用一个字符串,可以用以下两种方法。(1)用字符数组存放一个字符串,可以通过数组名和格式声明“s”输出该字符串,也可以通过数组名和下标引用字符串中一个字符。(2)用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。例8.16定义一个字符数组,在其中存放字符串IIoveChinar,输出该字符串和第8个字符。 解题思路:定义字符数组String,对它

2、初始化,由于在初始化时字符的个数是确定的,因此可不必指定数组的长度。用数组名String和输出格式s可以输出整个字符串。用数组名和下标可以引用任一数组元素。#inc1udeintmain()charStringII=44I1oveChina!”;printf(w%snw,string);pntf(%cn,string7);return0;)例8.17通过字符指针变量输出一个字符串。解题思路:可以不定义字符数组,只定义一个字符指针变量,用它指向字符串常量中的字符。通过字符指针变量输出该字符串。#inc1udeintmain()char*string=fcI1oveChina!”;printfCt

3、%snw,string);return0;)#inc1udeintmain()char*string=I1oveChina!*9;Printf(%sn”,string);string=,Iamastudent.”;printfCt%snw,string);return0;)#inc1udeintmain()char*string=ttI1oveChina!99;Printf(%sn”,string);string=,Iamastudent.;printf(w%snw,string);returnO;)例8.18将字符串a复制为字符串b,然后输出字符串bo解题思路:定义两个字符数组a和b,用“1

4、amastudent.”对a数组初始化。将a数组中的字符逐个复制到b数组中。可以用不同的方法引用并输出字符数组元素,今用地址法算出各元素的值。#inc1udeintmain()chara=wIamaStUdeI1t”,b20;inti;for(i=5*(a+i)!=,0;1+)*(b+i)=*(a+i);*(b+i)=0,;Printf(stringais:%$n”,a);printf(,stringbis:);for(i=0;bi!=0;i+)printfCt%c,bi);PriiItf(n);return0;)例8.19用指针变量来处理例8.18问题。解题思路:定义两个指针变量P1和p2,

5、分别指向字符数组a和b。改变指针变量P1和p2的值,使它们顺序指向数组中的各元素,进行对应元素的复制。#inc1udeintmain()chara=,Iamaboy.n,b20,*p1,*p2;p1=a;p2=b;for(;*p1!=t0,;p1+,p2+)*p2=*p1;*p2=40,;PriI1tf(stringaisj%sn,a);PriI1tf(stringbis%sn,b);returnO;) 8.4.2字符指针作函数参数如果想把一个字符串从一个函数“传递”到另一个函数,可以用地址传递的办法,即用字符数组名作参数,也可以用字符指针变量作参数。 在被调用的函数中可以改变字符串的内容 在

6、主调函数中可以引用改变后的字符串。 8.4.2字符指针作函数参数例8.20用函数调用实现字符串的复制。 解题思路:定义一个函数COPy.string用来实现字符串复制的功能,在主函数中调用此函数,函数的形参和实参可以分别用字符数组名或字符指针变量。分别编程,以供分析比较。(1)用字符数组名作为函数参数#inc1udeintmain()voidcopy_string(charfrom,charto);chara=,Iamateacher.n;charb1=,youareastudent.*1;printfCta=%snb=%snn,a,b);printf(,copystringatostring

7、b:n);CoPy_Stri1Ig(a,b);printf(tia=%snb=%sn,a,b);return0;)voidcopy_string(charfrom,charto)inti=0;wid1e(fromi!=,0,)to(i=fromi;i+;tori=,0,;)用字符型指针变量作实参CoPy.String不变,在main函数中定义字符指针变量from和to,分别指向两个字符数组a,bo仅需要修改主函数代码#inc1udeintnain()voidCoPy.string(Charfrom1,charto);charaI=wIamateacher.”;charb=wyouareastu

8、dent.*;char*from=a,*to=b;printf(44a=%snb=%sn,a,b);printf(,ncopystringatostringb:n);copy_string(from,to);printf(ua=%snb=%sn,a,b);returnO;)用字符指针变量作形参和实参#inc1udeintmain()voidcopy_string(char*from,char*to);char*a=t4Iamateacher.;charb=t4Youareastudent.;printf(44a=%snb=%sn,a,b);printf(,ncopystringatostrin

9、gb:n);copy_string(a,p);printf(wa=%snb=%sn,a,b);return0;)voidCOPy.string(Char*from,char*to)for(5*from!=,0;from+,to+)*to=*from;*to= 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(1)字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串第1个字符的地址),决不是将字符串放到字符指针变量中。 8.4.3使用字符指针变量和字符数组的比较用

10、字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(2)赋值方式。可以对字符指针变量赋值,但不能对数组名赋值。char*a;a=I1oveChina!*;对charstr|14|;str|0=,r;对charstr14;Str=wI1oveChina!;错 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(3)初始化的含义char*a=,I1oveChinaI与 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字

11、符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(3)初始化的含义charstr14=,I1oveChina!与charstr141;str=,I1oveChina!,;不等价 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。存储单元的内容编译时为字符数组分配若干存储单元,以存放各元素的值,而对字符指针变量,只分配一个存储单元 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以

12、下几点。存储单元的内容char*a;SCi1afa);错char*a,str10;a=str;scanf(t%s,a);对 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(5)指针变量的值是可以改变的,而数组名代表一个固定的值(数组首元素的地址),不能改变。例8.21改变指针变量的值。#inc1udeintmain()char*a=,I1oveChina!;a=a+7;printfC%sn,a);return0;)8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符

13、串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(6)字符数组中各元索的值是可以改变的,但字符指针变量指向的字符串常量中的内容是不可以被取代的。chara=HOUSeb=House”;a2)=,r,;对8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(6)字符数组中各元素的值是可以改变的,但字符指针变量指向的字符串常量中的内容是不可以被取代的。chara=House,*b=House”;b2)=,r,;错 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变

14、量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(7)引用数组元数对字符数组可以用下标法和地址法引用数组元素(a,*(a+5).如果字符指针变量p=a,则也可以用指针变量带下标的形式和地址法引用(p5,*(p+5) 8.4.3使用字符指针变量和字符数组的比较用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。则a5的值是第6个字符,即字母 8.4.3使用字符指针变量和字符数组的比较 用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。(8)用指针变量指向一个格式字符串,可以用它代替Printf函数中的格式字符串。 8.4.3使用字符指针

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服