江苏省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小时内删除。
发表评论