C语言教案第十五周由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言教案第十四周”。
第8章指针
本节题目指针与字符串 1:本节主要目的1.1教学目的:
1、了解字符串的表示形式
2、了解字符串指针作函数参数
1.2教学内容:
1、字符串的表示形式
2、字符串指针作函数参数
1.3教学重点:
1、了解字符串指针作函数参数 1.4教学方法:讲授+演示 5学习方法:听课+笔记+练习 2:引入本课内容: [5分钟] 在上一节课,学习了指针与一维数组的各种情况,那么,指针能否指向一个字符串呢?如果可以,是一种什么样的情况呢?今天这节课来学习指针与字符串。3:课程知识点讲解:
具体知识点1:字符串的表现形式[15分钟] C语言中,有两种方式可以实现字符串:字符数组、字符指针 案例讲解1:用字符数组存放一个字符串,然后输出该字符串。
main(), static char string*+=“I love China!”;
printf(“%sn”,string);} 程序说明:string是数组名,代表字符数组的首地址。数组可以用下标访问,也可以用指针访问。如string[4]表示一个元素值是字符v,也可以用*(string+4)来访问,string+4是指向字符v的指针。
案例讲解2:用字符串指针指向一个字符串,然后输出该字符串。
main(), char *string=“I love China!”;
printf(“%sn”,string);} 程序说明:string是一个指针变量,“I love China!”是一个字符串常量。语句char *string=“I love China!”;等价于char *string;string=“I love China!”
它把字符串常量的首地址赋给指针string。不能理解为把字符串常量赋给指针变量。char *string=“I love China!”;
string
字符串 从以上两个例子中,可以看到: 字符数组和字符指针的概念不同。
字符指针指向字符串,而C语言中,字符串按数组方式处理,因此,字符数组和字符指针的访问方式相同。例如,均可以使用%s格式控制符进行整体输入输出。但应注意,如果不是字符数组,而是整型、实型等数字型数组,不能用%s,只能逐个元素处理。案例讲解3:将字符串a复制到字符串b。(以下用两种方法实现)方法一:
main(), char a*+=“I am a boy.”;
char b[20];
int i;
for(i=0;*(a+i)!=’ ’);i++)
*(b+i)=*(a+i);
*(b+i)=’ ’;
printf(“string a is:%sn”,a);
printf(“string b is:”);
for(i=0;b*i+!=’ ’;i++)
printf(“%c”,b*i+);
printf(“n”);} 方法二:
main(), char a*+=“I am a boy.”,b*20+,*p1,*p2;
int i;
p1=a;p2=b;
for(;*p1!=’ ’;p1++,p2++)
*p2=*p1;
*p2=’ ’;
printf(“string a is:%sn”,a);
printf(“string b is:”);
for(i=0;b*i+!=’ ’;i++)
printf(“%c”,b*i+);
printf(“n”);} 在此案例中,程序完成了两项工作:一是把p1指向的源字符串复制到p2所指向的目标字符串中,二是判断所复制的字符是否为’ ’,若是则表明源字符串结束,不再循环。否则,p2和p1都加1,指向下一字符。
具体知识点2:字符串指针作函数参数[30分钟] 将一个字符串从一个函数传递到另一个函数,可以使用传地址的方式,即用字符数组名或字符指针变量作参数。有以下四种情况:
实参
形参
数组名
数组名
数组名
字符指针变量
字符指针变量
字符指针变量
字符指针变量
数组名
案例讲解:用函数调用实现字符串的复制。(1)用字符数组作参数
void copy_string(char from[], char to[]){ int i=0;
while(from[i]!= ' ')
{ to[i] = from[i];i++;}
to[i] = ' ';} main()
{ char a[] = “I am a teacher.”;
char b[] = “you are a student.”;
printf(“string_a =%sn string_b =%sn”, a,b);
copy_string(a,b);
printf(“string_a =%sn string_b =%sn”, a,b);}
使用字符指针可以将main()函数改写为: main()
{ char *a = “I am a teacher.”;
char *b = “you are a student.”;
printf(“string_a =%sn string_b =%sn”, a,b);
copy_string(a,b);
printf(“string_a =%sn string_b =%sn”, a,b);}
(2)形参用字符指针。
void copy_string(char *from, char *to){ for(;*form!= ' ';from++, to++)
*to = *from;
*to = ' ';}
main()
{ char *a = “I am a teacher.”;
char *b = “you are a student.”;
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分钟] 将一个字符串从一个函数传递到另一个函数,可以使用传地址的方式,即用字符数组名或字符指针变量作参数,有以下四种情况:
组合情况
实参
形参
数组名
数组名
数组名
字符指针变量
字符指针变量
字符指针变量 4
字符指针变量
数组名
学生问题汇总:
问题1:部分学生字符串章节没有学好,在本节学习较吃力。
问题2:字符串从一个函数传递到另一个函数的四种方式在实际变成应用中不够熟练。作业:输人三行字符,每行60个字符,要求统计出其中共有多个大写字母、小写字母、空格、标点符号。
第十五周语言教案活动一活动内容:寒冷公公 活动目标一、引导幼儿理解故事内容,鼓励幼儿天冷也要坚持锻 炼身体。二、丰富词汇:光秃秃、枯萎、寒冷活动准备:课件、图片、寒风的声......
第十五周语文教案主备:戴芳林备课人员:刘小红戴芳林孙雅雄王文刚21课圆明园的毁灭学习目标:1.认识6个生字,会写14个生字;能正确读写“估量、损失、殿堂、销毁、瑰宝、灰烬、举世闻......
五年级下册数学总复习教案(一)教学目标通过总复习,把本学期所学习的知识进行系统、全面地整理与复习,帮助学生更好地理解和掌握所学的概念、计算法则、规律性知识,使学生的数概......
26、天窗第一课时 教学目标:1、学习课文中出现的生字,理解课文中的新词。2、有感情地朗读课文,背诵自己喜欢的部分。3、理解课文中的重点语句,体会作者对天窗的特殊感情,激发学生......
大班第二学期教学活动设计 第十五周(6月5日—6月9日)大一班:黄玲星期一(6月5日)上半日活动活动一活动领域:健康活动活动名称:《良好习惯保健康》 活动目标:1、注意饮食卫生,养成良好......