正在加载图片...
【例5】若有字符串“ab*cde*fg**”,删除字符串最后的“*”, 删除后的字符串为“ab+cde*g aajm clr len=strlen(q) 强调语句 r(=0; j<len-1 ++) b[}=0,与 blI=qll bi=to =0, 的异同 printf("len=%d, i=%d, %s",len, 1, b);; 【例6】从字符串sl中找出子串s2出现的次数。如sl为 dddsdfsded”,s2为“sdr”,则查找结果为1 char *sl=dddsdfsded "*s2="sdf Int k.m. count 将循环部 for(;*s1!=0;) 分改写为 用for语 while(*sl=*2&km<k){m+2++:}句实现 if(m==k)count++ else S2="sdr";sl++;} printf("%d",count) 可根据不 二、小结 同教学班 总结 (1)指针就是地址,指针变量就是存放地址的变量。通过指针变学生掌握 与量可以实现对变量的“间接访问” 的情况增 作业 (2)一维数组名代表数组第一个元素的地址,且数组元素在内存删例题 中是连续存放的。数组元素不仅可以用下标方式进行访问,还可以 使用指针方式进行访问 (3)字符数组和字符指针与一维数组和指针的关系没有什么特 别之处,只是字符指针可以直接定义字符串常量 三、作业 教师自留【例 5】 若有字符串“ab*cde*fg*****”,删除字符串最后的“*”, 删除后的字符串为“ab*cde*fg”。 main() { char *q="ab*cde*fg*****"; char b[20],*p; int i,j,len; clrscr(); len=strlen(q); i=0; for(p=q+len-1;*p=='*';p--) i++; for(j=0;j<len-i;j++) b[j]=q[j]; b[j]=0; printf("len=%d,i=%d,%s",len,i,b); } 【例 6】从字符串 s1 中找出子串 s2 出现的次数。如 s1 为 “dddsdfsded”,s2 为“sdf”,则查找结果为 1。 main() { char *s1="dddsdfsded",*s2="sdf"; int k,m,count=0; clrscr(); k=strlen(s2); for(;*s1!=0;) { m=0; while(*s1= =*s2 && m<k) {m++;s2++;s1++;} if(m= =k) count++; else {s2="sdf";s1++;} } printf("%d",count); } 强调语句 b[j]=0;与 b[i]='\0'; 的异同 将循环部 分改写为 用 for 语 句实现。 可根据不 同教学班 学生掌握 的情况增 删例题 教师自留 总结 与 作业 二、小结 ⑴ 指针就是地址,指针变量就是存放地址的变量。通过指针变 量可以实现对变量的“间接访问”。 ⑵ 一维数组名代表数组第一个元素的地址,且数组元素在内存 中是连续存放的。数组元素不仅可以用下标方式进行访问,还可以 使用指针方式进行访问。 ⑶ 字符数组和字符指针与一维数组和指针的关系没有什么特 别之处,只是字符指针可以直接定义字符串常量。 三、作业
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有