C语言程序设计 (19).docx
课题
第6章利用数组处理批量数据
课时
2
教学目的
与
要求
6.3字符数组
教学重点
与
难点
字符数组的应用
教
学
过
程
主要内容及步骤
备注
导入新课第6章利用数组处理批量数据
新课讲授
6.3字符数组
6.3.5字符数组的输入输出
6.3.6善于使用字符串处理函数
课堂小结
布置作业
授课效果分析总结
教案
课程名称:C语言程序设计授课人:***
6.3.5字符数组的输入输出
字符数组的输入输出可以有两种方法:
逐个字符输入输出(%c)
整个字符串一次输入输出(%s)
输出的字符中不包括结束符’\0’
用%s输出字符串时,printf函数中的输出项是字符数组名,不是数组元素名
printf(”%s”,c);
如果一个字符数组中包含多个’\0’,则遇第一个’\0’时输出就结束
可以用scanf函数输入一个字符串
scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度
charc[6];
scanf(”%s”,c);China↙
系统自动在China后面加一个’\0’
6.3.6善于使用字符串处理函数
在C函数库中提供了一些用来专门处理字符串的函数,使用方便
1.puts函数----输出字符串的函数
其一般形式为:
puts(字符数组)
作用是将一个字符串输出到终端
charstr[20]=”China”;
puts(str);
输出China
2.gets函数----输入字符串的函数
其一般形式为:
gets(字符数组)
作用是输入一个字符串到字符数组
charstr[20];
gets(str);
Computer↙
3.strcat函数----字符串连接函数
其一般形式为:
strcat(字符数组1,字符数组2)
其作用是把两个字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中
charstr1[30]=”People”;
charstr2[]=”China”;
printf(”%s”,strcat(str1,str2));
输出:PeopleChina
4.strcpy和strncpy函数-字符串复制
strcpy一般形式为:
strcpy(字符数组1,字符串2)
作用是将字符串2复制到字符数组1中去
charstr1[10],str2[]=”China”;
strcpy(str1,str2);
charstr1[10],str2[]=”China”;
str1=”China”;错误
str1=str2;错误
可以用strncpy函数将字符串2中前面n个字符复制到字符数组1中去
strncpy(str1,str2,2);
作用是将str2中最前面2个字符复制到str1中,取代str1中原有的最前面2个字符
复制的字符个数n不应多于str1中原有的字符
5.strcmp函数----字符串比较函数
其一般形式为
strcmp(字符串1,字符串2)
作用是比较字符串1和字符串2
strcmp(str1,str2);
strcmp(”China”,”Korea”);
strcmp(str1,”Beijing”);
字符串比较的规则是:将两个字符串自左至右逐个字符相比,直到出现不同的字符或遇到’\0’为止
如全部字符相同,认为两个字符串相等
若出现不相同的字符,则以第一对不相同的字符的比较结果为准
”A””B””a””A”
”computer””compare”
”these””that””1A””$20”
”CHINA””CANADA”
”DOG””cat”
”Tsinghua””TSINGHUA”
比较的结果由函数值带回
如果字符串1=字符串2,则函数值为0
如果字符串1字符串2,则函数值为一个正整数
如果字符串1字符串2,则函数值为一个负整数
if(str1str2)printf(”yes”);错误
if(strcmp(str1,str2)0)
printf(”yes”);正确
6.strlen函数----测字符串长度的函数
其一般形式为:
strlen(字符数组)
它是测试字符串长度的函数
函数的值为字符串中的实际长度
charstr[10]=”China”;
printf(”%d”,strlen(str));
输出结果是5
也可以直接测试字符串常量的长度