资源描述
《C语言程序设计》教案 第3单元 第3次课
《C语言程序设计》教学设计 日期: 年 月 日
教学内容
利用字符数组处理多个字符或字符串
教学学时
2
授课教师
班级
地点
周次
星期
节次
教学
目标
素质目标
知识目标
能力目标
(1)基本职业素养:遵守工作时间,使用实践设备时注意用电安全,实践设备使用完毕后要断电并放于指定位置,程序设计要注重工程规范,养成良好的工作习惯。
(2)团结协作素养:小组内成员互查程序代码书写规范性、准确性和完整性,取长补短,具有责任意识、团队意识与协作精神。
(3)自主学习素养:能根据任务要求,查找相关资料解决实际问题;能自主完成练习,培养自主学习的意识与一丝不苟、实事求是的工作作风。
(4)思政和劳动素养:具有一定的辩证唯物主义运用能力、安全意识、劳动意识、创新意识、创新能力和强烈的爱国主义精神。
(1)掌握字符数组的定义、初始化和引用方法
(2)掌握字符数组的输入、输出方法
(3)掌握字符串处理函数的应用方法
能用字符数组解决实际问题
教学重点
(1)字符数组的定义、初始化和引用方法
(2)字符数组的输入、输出方法
(3)字符串处理函数的应用方法
教学难点
(1)字符数组的输入、输出方法
(2)字符串处理函数的应用方法
能力训练任务
任务1:掌握字符数组的定义、初始化和引用方法
任务2:掌握字符数组的输入、输出方法
任务3:掌握字符串处理函数的应用方法
教学材料
(1)教材:朱琨《C语言程序设计》,机械工业出版社, 978-7-111-66954-8,2021
(2)教学资源:电子教案、教学课件、微课视频、在线开放课程
(3)仪器与设备:电脑(装有VC++开发环境)
教学进度设计
步骤
教学内容及目标
思政元素
教师活动
学生活动
时间
一、复习与导入
复习:一维数组、二维数组的定义、初始化和引用方法。
导入:若存放多个字符型数据,如何实现?一维或二维字符型数组——字符数组。
知识迁移
引导启发、布置学习任务
思考、明确学习任务
5min
二、实施任务1:掌握字符数组的定义、初始化和引用方法
1、定义字符数组的方法
char 数组名[常量表达式];
2、字符数组的初始化
(1)逐个字符赋值法
(2)字符串常量赋值法
3、字符数组元素的引用
数组名[下标]
知识迁移,
集中、有序管理
引导学生对比一维数组学习字符数组,利用字符数组管理多个字符或字符串;巡回指导
对比学习,分析、编写和运行教材例题程序
25min
三、实施任务2:掌握字符数组的输入、输出方法
1、用格式符“%c”逐个字符输入、输出
2、用格式符“%s”对整个字符串一次输入、输出
善于问题
引导学生编写、运行教材例题程序,巡回指导
编写、运行教材例题程序
25min
四、实施任务3:掌握字符串处理函数的应用方法
1、输出函数——puts函数
2、输入函数——gets函数
3、连接函数——strcat函数
4、复制函数——strcpy函数
5、比较大小函数——strcmp函数
6、长度测试函数——strlen函数
7、转换函数——strlwr、strupr函数
创新意识
讲解,引导学生用字符数组实现字符串处理功能
听讲,理解,思考;先自行实现字符串处理函数,后参考例题程序
30min
五、总结
概括基本内容,归纳重点内容
自主学习
引导学生归纳总结,然后布置课后任务
思考,记录,整理场地
5min
作业
通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插到上述任务中);总结本单元所学内容。
课后
体会
1.对比一维数组学习字符数组的定义方法、初始化方法和引用方法,同时注意字符数组的特殊性,初始化方法除了单个元素(字符)赋值法,更常用的是字符串赋值法。相应地,字符数组的输出方法除了可以用%c格式符输出单个字符,还可以用%s输出多个字符(字符串),其根本原因要给学生讲透彻,即数组名代表数组的首地址(起始地址)。
2.可引导学生课下编程,使用常用的字符串处理函数,以验证所学的相关函数功能及应用方法,并且可引导基础较好的学生自行实现字符串处理函数。
5
利用字符数组处理多个字符或字符串
教学详案
步骤一:复习与导入(时间:5分钟)
复习:一维数组、二维数组的定义、初始化和引用方法。
导入:若存放多个字符型数据,如何实现?一维或二维字符型数组——字符数组。 用来存放字符型数据的数组是字符数组,字符数组中的每个元素存放一个字符。在嵌入式网络通信软件设计中,可用字符数组存放待发送或待接收的数据。
步骤二:任务1:掌握字符数组的定义、初始化和引用方法(时间:25分钟)
1、定义字符数组的方法
例如: char c[10];
系统为数组c分配连续的10字节内存空间,存储10个字符型数据。数组名c代表该数组的首地址。
2、字符数组的初始化
(1)逐个字符赋值法
1)对全部元素赋初值:char c[5]={'a','b','c','d','e'};
或 char c[ ]={'a','b','c','d','e'};
结果:c[0]= 'a',c[1]= 'b',c[2]= 'c',c[3]= 'd',c[4]= 'e'。
2)对部分元素赋初值:char c[6]={ 'a', 'b', 'c', 'd', 'e'};
最后1个元素由系统自动赋空字符 '\0'。
(2)字符串常量赋值法(将字符串常量赋给字符数组:用数组处理字符串)
char c[ ]={"abcde"}; 或: char c[ ]="abcde";
字符串常量"abcde"在内存中占6字节,数组c的长度是6。
【引导思考】①char c[ ]={'a','b','c','d','e'}; 和 ②char c[ ]="abcde"; 有何区别?
注意:在定义字符数组之后,不能一次性对整个数组的所有元素赋值,而只能对数组的每个元素逐个赋值。例如:char c[5]; //定义数组
c[5]={'a','b','c','d','e'}; //错误
c[5]="abcd"; //错误
3、字符数组元素的引用
可以引用字符数组中的一个元素而得到一个字符。
【例3.8】 字符数组元素的引用:输出字符数组元素的值。
步骤三:任务2:掌握字符数组的输入、输出方法(时间:25分钟)
1、用格式符“%c”逐个字符输入、输出
【例3.9】字符数组逐个字符的输入、输出。
系统将输入的空格、换行符作为有效字符赋给数组元素:
2、用格式符“%s”对整个字符串一次输入、输出
【例3.10】字符串的格式化输入、输出 。
说明:用“%s”输入、输出字符串时,scanf、printf 中的地址项、输出项都是字符数组名(首地址);用scanf输入字符串时,若输入空格或换行,系统则认为是字符串结束符 '\0'。
【发现问题】如何将含有空格的字符串送给一个字符数组呢?
【例3.11】多个字符串的格式化输入、输出(可用空格、换行符或Tab符作分隔)。
步骤四:任务3:掌握字符串处理函数的应用方法(时间:30分钟)
C语言提供了若干个字符串处理函数。其中,字符串输入、输出函数,在使用前应包含头文件“stdio.h”;而其他字符串处理函数,在使用前应包含头文件“string.h”。
1、输出函数——puts函数::puts(字符串或字符数组名)
将字符串或字符数组中存放的字符串输出到显示终端,并换行。
2、输入函数——gets函数::gets(字符数组名)
从键盘输入一个字符串(可含空格)到字符数组中,换行符作为结束符。
例:
3、连接函数——strcat函数:strcat(字符数组名1,字符串或字符数组名2)
将字符串或字符数组2中的字符串连接到字符数组1中字符串的后面,结果放在字符数组1中。说明:字符数组1必须足够大,能够容纳连接后的新字符串;连接时将原字符串1最后的'\0'取消,只在新字符串最后保留'\0'。
例:
4、复制函数——strcpy函数: strcpy(字符数组名1,字符串或字符数组名2)
将字符串或字符数组2中的字符串复制到字符数组1中 。
说明:(1)字符数组1的长度必须能够容纳被复制的字符串 。
(2)字符数组在定义后,只能用strcpy函数将一个字符串常量或字符数组复制到另一个字符数组中。只能将一个字符赋给一个字符变量或字符数组元素。
例: char c[6]; char d[6]= "abcde";
若要实现将字符串常量"abcde"赋给字符数组c,则:
5、比较大小函数——strcmp函数:
strcmp(字符数组名1或字符串1,字符数组名2或字符串2)
比较规则:对两个字符串自左至右逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。若字符串1=字符串2,则函数值为0;字符串1>字符串2,则函数值为正整数1;字符串1<字符串2,则函数值为负整数-1。
【引导思考】程序执行结果?
6、长度测试函数——strlen函数: strlen(字符串或字符数组名)
测试字符串的实际长度(不包括'\0'在内)。例如:
7、转换函数(大写转换为小写): strlwr(字符数组名)
8、转换函数(小写转换为大写): strupr(字符数组名)
例:
【课后学习检验、学以致用】
(1)教材单元练习第2、5、6、7、8、9、11、14题。
(2)教材单元练习第17、18题。
(3)教材例1.12:用字符数组实现字符串处理功能。
步骤五:概括基本内容,归纳重点内容(时间:5分钟)
1、引导学生概括本次课的基本内容,归纳重点内容(字符数组的定义、初始化、输入和输出;常用的字符串处理函数)。
2、作业布置:通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题,学以致用;总结本单元所学内容。
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索