江苏省XY中等专业学校2021-2022-2教案  编号:
备课组别
计算机
上课
日期
主备
教师
授课教师
课题
字符数组处理函数
教学
目标
掌握字符数组处理函数用法
识记函数的用法特点
掌握字符处理函数输出格式
重点
掌握字符处理函数的含义和用法
难点
字符处理函数的用法
教法
讲授法、案例教学法、讨论法
教学设备
黑板  计算机  网络机房
教学
环节字符串长度排序c语言
教学活动内容及组织过程
个案补充
一、新课导入
在学习输入输出函数之后,再次接触到新的字符处理函数
二、内容设计
1、字符串输出函数puts( )
调用格式:puts(str)
功能:输出一个字符串,输出后自动换行。
说明:str可以是字符数组名或字符串常量。
例如:
char str1[ ]= "China";
char str2[ ]= "Beijing";
puts(str1);
puts(str2);
输出结果:
China
Beijing
2、字符串输入函数gets( )
调用格式:gets(str)
功能:从键盘读入一个字符串存入str数组中,并且得到一个函数值,该函数值是str数组的首地址。
说明:str是数组名。
例如:
main( )
{ char c1[20],c2[20];
  gets(c1);  gets(c2);
  puts(c1);  puts(c2);
}
3、字符串连接函数 strcat( )
调用格式:strcat(str1,str2)
功能:把str2中的字符串连接到str1字符串的后面,结果放在str1数组中,函数值是str1的值。
例如:
char str1[21]="beijing and ";
char str2[ ]="shanghai";
printf("%s",strcat(str1,str2));
输出结果:
beijing and shanghai
4、字符串复制函数 strcpy( )
调用格式:strcpy(str1,str2)
功能:将str2中的字符串复制到str1数组中。
例如:
char s1[10],s2[ ]= "Beijing";
    strcpy(s1,s2);
或:strcpy(s1,"Beijing");
思考:这样赋值
s1="Beijing" ;  s1=s2;可以吗?为什么?
5、字符串比较函数 strcmp( )
调用格式:strcmp(str1,str2)
例如:比较两个字符串的大小。
main( )
{ char s1[ ]= "aBC",s2[ ]= "abc";
  if (strcmp(s1,s2)==0) printf("s1=s2");
  else if (strcmp(s1,s2)>0) printf("s1>s2");
  else printf("s1<s2");
}
思考:若有语句
if (s1= =s2) printf("s1=s2");比较的是什么?
6、求字符串长度函数 strlen( )
调用格式:strlen(str)
功能:测试字符串长度。函数值就是str中字符的个数。
例如:
char str[10]= "China";
printf("%d",strlen(str));
printf("%d",strlen("China"));
7、字符数组应用举例
【例】输入某月份的整数值1~12,输出该月份的英文名称。
思路:将12个英文月份以字符串的形式存放到month[13][15]中,一行存放一个字符串。
main( )
{char month[ ][15]={"Illegal month.", 
"January""February""March""April""May""June","July","August""September","October",
"Novenber","Decenmber"};
int m;
printf("\nInput month:");
scanf("%d",&m);
printf("%d:%s\n",m,(m<1||m>12)?month[0]:month[m]);
【例】将N个国家名按字母顺序排序后输出。
思路:从键盘输入N个国家名称存放到一个二维字符数组中,然后用选择法对这N个字符串排序。
程序如下:
#define N  5
#define M  10
#include "stdio.h"
main( )
{char s[N][M],str[M];
int i,j;
for(i=0;i<N;i++)
gets(s[i]);
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
    if(strcmp(s[i],s[j])>0)
      { strcpy(str,s[i]);
        strcpy(s[i],s[j]);
        strcpy(s[j],str);}
for(i=0;i<N;i++)
  puts(s[i]);}
字符数组处理函数
一、字符串输出/入函数puts( )/gets()
二、字符串函数 strcat( )strcpy( )strcmp( ) strlen( )
三、应用举例
教 后 札 记

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。