深 圳 职 业 技 术 学 院Shenzhen Polytechnic
计算机系乌云高娃 Wygw@21cn.com 第 32 页 共 83 页
第五单元(6):字符数组的编程实训
教学内容 字符数组编程实训课
教学目标
应知 巩固字符串的定义、引用、初始化
应会 掌握常用字符串的编程算法,熟悉字符串结束标志的使用
难点 编程思想的领会
教学方法
讨论启发式,老师提出问题,引导学生讨论,启发思路,必要时写出关键语句要求学生补全,或由学生上教师机演示,注意检查发现同学中的多种解法。
教学过程
1,不使用库函数,编程实现两个字符串的复制
要点
文件包含,变量定义
数据准备,输入源字符串
将源字符串中的字符,逐个赋值给目的字符串(使用字符串结束标志进行判断)
给目的字符串结尾加上字符串结束标志
输出目的字符串,查看结果是否与源字符串一致
2,不使用库函数,编程实现两个字符串的连接
文件包含,变量定义
数据准备,输入两个字符串
求出第一个字符串的有效字符长度(使用字符串结束标志进行判断)
将第二个字符串中的字符逐个赋值到第一个字符串从结束标志开始的字符单元中。
给第一个字符串结尾加上字符串结束标志
输出第一个字符串,查看结果是否是两个字符串的合并
深 圳 职 业 技 术 学 院Shenzhen Polytechnic
计算机系乌云高娃 Wygw@21cn.com 第 33 页 共 83 页
3,编写实现strlen函数功能的程序
学生容易出错的地方
在字符串复制或连接后,忘记给目的字符串加上字符串结束标志
问题与讨论
目的字符串不加结束标志,会发生什么情况?
用scanf(“%s”,…)和gets(…)输入字符串有什么区别?
小结(可由问题与讨论方式给出)
C语言没有字符串类型变量,字符串由字符数组或字符型指针表示
字符串可由scanf()函数和gets()函数输入,二者区别在于scanf函数以空格或回车作为输入结束,gets()函数以回车作为输入结束,所以输入字符串中如果包含空格,应用gets()函数。
字符串输出可用printf()和puts()
在字符串编程中,通常使用字符串结束标志作为字符串是否结束的判断
课后任务
自行编程实现比较两个字符串的大小,即实现库函数strcmp()的功能