6.4 字符串处理函数(教学设计)- 《C语言(上)》同步教学(高教版)

2024-08-03
| 4页
| 74人阅读
| 0人下载
普通

内容正文:

课 题 6.4 字符串处理函数 教 学 目 的 1、巩固字符数组的定义、初始化、引用,及输入与输出 2、掌握字符串处理函数 教 材 分 析 教学重点 字符串函数及字符型数组的输入与输出 教学难点 字符串处理函数 课时安排 2 教学方法 讲授与演示法相结合 教具 计算机、投影仪 教 学 内 容 及 过 程 设 计 第一课时 一、复习并新课引入: 复习字符数组的定义存放,输出与输入。字符集的相关知识 思考有没有一种专用于字符串的输出函数 二、新课讲授(字符串处理函数) 1、puts(字符数组) 功能:将一个以‘\0’结束的字符序列输出到终端; 如: static char str[ ]=“China”;puts(str); 则执行puts(str);其结果是在终端上输出China 说明:输出的字符串中可含转义字符。 用puts函数输出的字符串中可以包含转义字符。 例如:char str[]={″China Beijing″};puts(str); 输出结果: China Beijing 2、gets(字符数组) 功能:从终端输入一个字符串到字符数组中,并得到一个函数值,该函数值是字符数组的起始地址; 如: gets(str); 说明:gets与puts只能输入或输出一个字符串。不能写成 puts(str1,str2) 或 gets(str1,str2) 例:gets(str) 从键盘输入:Computer↙将输入的字符串"Computer"送给字符数组str 说明: 函数值为字符数组str的起始地址。一般利用gets函数的目的是向字符数组输入一个字符串,而不大关心其函数值 3、strcat(字符数组1,字符数组2) 功能:将字符串2接到字符串1的后而且去掉字符串1的尾空;函数调用后得到一个函数值——字符数组1的地址。 如: static char str1[30]=“YangZhou ”, str2[ ]=“China”; printf(“%s ”,strcat(str1,str2)); 说明: ①字符数组1的长度需足够大; ②去掉字符串1的尾空 第二课时 一、分组讨论思考(巩固):下列代码运行后数组中数据情况 例如: char str1[30]={″People′s Republic of ″}; char str2[]={″China″}; print(″%s″,strcat(str1,str2)); 参考答案输出: People′s Republic of China 二、相关函数 1、strcpy(字符数组1, 字符串2) 功能:将字符串2拷贝到字符数组1中去;返回前一个的首地址 如: static char str1[10],str2[ ]=“China”; strcpy(str1,str2); strcpy函数的几点说明 1)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。 2)“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是字符数组名,也可以是一个字符串常量。如strcpy(str1,″China″); 3)复制时连同字符串后面的′\0′一起复制到字符数组1中 4)可以用strcpy函数将字符串2中前面若干个字符复制到字符数组1中去。例如:strcpy(str1,str2,2); 作用是将str2中前面2个字符复制到str1中去,然后再加一个‘\0’。 (5)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如 str1=″China″; 不合法 str1=str2; 不合法 · 用strcpy函数只能将一个字符串复制到另一个字符数组中去。 · 用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。 下面是合法的使用: char a[5],c1,c2; c1=′A′; c2=′B′; a[0]=′C′; a[1]=′h′; a[2]=′i′; a[3]=′n′; a[4]=′a′; 5、strcmp(字符串1,字符串2) 功能:比较字符串1和字符串2, 返回:①串1= 串2,返回0; ②串1>串2,返回正整数; ③串1<串2,返回负整数。 思考下例的返回值是?:strcmp(str1,str2); strcmp(″China″,″Korea″); strcmp(str1,″Beijing″); 注意:对两个字符串比较,不能用以下形式: i f(str1>str2) printf(″yes″); 而只能用 if(strcmp(str1,str2)>0) printf(″yes″); 6、strlen(字符数组) 功能:测试字符串的长度;返回一整数 如: static char str1[10]=“China”; printf(“%d ”,strlen(str)); 输出结果是: 5 说明:不包含‘\0’在内。特殊字符%%、\’、\\、 代表一个字符。 7、strlwr(字符串) 功能:将字符串中的大写字母转换成小写字母; 8、strupr(字符数组) 功能:将字符串中的小写字母转换成大写字母。 课堂小结 1、  字符串的输入与输出,gets、puts 2、、  字符串处理函数格式与功能 三、、课堂小结 1、  字符串的输入与输出,gets、puts 2、、  字符串处理函数格式与功能 四、布置作业 上机作业:思考题程序调试,上机内容 书面作业:简述各函数格式与功能 1、判断字符串s1是否大于字符串s2,应当使用 D 。 A) if (s1>s2) B) if (strcmp(s1,s2) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0) 2、下面程序段的运行结果是 3 。 char c[]="\t\v\\\0will "; printf("%d",strlen(c)); 3、下面程序段的运行结果是 e 。 char a[7]="abcdef",b[4]="ABC"; strcpy(a,b); printf("%c",a[4]); 4、有下面程序段,上机运行,将 编译出错 。 char a[3],b[]="China"; a=b; printf("%s",a); 5、对两个数组a和b进行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 则以下叙述正确的是 D。 A)a与b数组完全相同 B)a与b数组长度相同 C)a和b中都存放字符串 D)a数组比b数组长度长 备注 上机实训 学科网(北京)股份有限公司 $$

资源预览图

6.4 字符串处理函数(教学设计)- 《C语言(上)》同步教学(高教版)
1
6.4 字符串处理函数(教学设计)- 《C语言(上)》同步教学(高教版)
2
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。