内容正文:
课程单元教案
本课编号
14
本课课时
2学时
内容提要
项目五 数组应用
任务4 字符数组
教学目的
1、掌握字符数组的定义、初始化和引用的方法;
2、掌握字符数组的输入与输出;
3、熟练使用字符数组解决问题。
知识能力
结构
1、 掌握字符数组的用法;
2、 学会字符数组的输入和输出。
教学重点
难点
重点:字符数组的定义、初始化和引用;
难点:字符数组初始化、字符数组的输入输出。
教学手段
方法
教学方法:项目任务驱动教学法、提问式、启发式
教学手段:课堂讲授法、操作演示法、多媒体教学
思考题与
习题
1、什么是字符数组。
2、输入一个字符串,将字符串转置并输出。
教学内容进程设计
项目导入:综合实践5学生多门成绩存储与处理设计
项目描述:利用数组来存储和处理学生的多门课成绩。
问题导入:如果数组中存放的不是数值而是字符,该如何处理?
根据课前预习及搜集的资料,对字符数组的概念有一个初步的了解,以方便进行下面知识内容的学习。
任务4 字符数组
4.1 字符数组定义与初始化
1.定义
用来存放字符数据的数组称为字符数组。
一般形式:char 数组名[常量表达式];
例如:char ch[5];
说明:该代码表示定义一个字符数组ch,在内存中占据连续5个字节的存储单元,每个存储单元分别存放一个字符。
2.初始化
(1) 定义数组时,给数组各元素赋初值,这种情况下数组长度可省略。
例如:ch[5]={‘h’,‘a’,‘p’,‘p’,‘y’};
或:ch[ ]={‘h’,‘a’,‘p’,‘p’,‘y’};
存储空间如图所示:
(2)定义数组时,给部分元素赋初值。此时数组长度必须指明,没被赋值的元素系统自动赋予初始值‘\0’。
例如:ch[5]={‘h’,‘a’,‘p’,‘p’};
(3)给数组赋值为一个字符串。
例如:ch[ ]=“happy”;
3.引用
格式:字符数组名[下标];
例如:char c[ ]=“China”;
printf(“%c”,c[3]); /*单个元素的引用*/
printf(“%s”,c); /*整体引用*/
4.2 字符数组输入与输出
1.格式化输入与输出
例如:char c[11];
scanf(“%s”,c);
注意:用函数scanf输入(格式字符%s)无法输入空格。
如输入:hello world,则存储空间如图:
例如:char c[11]=“hello”;
printf(“%s”,c);
注意:用函数printf输出(格式字符%s),遇'\0'结束。
存储空间如图:
2.字符串输入与输出函数
(1) puts(字符数组名)
功能:将以‘\0’结束的字符序列输出到终端,使用puts函数输出的字符串中可以包含转义字符。
(2)gets(字符数组名)
功能:从终端输入一个字符串到字符数组。本函数得到一个函数值,即为该字符数组首地址。
例:输入及输出字符串。
main(){
char a[20];
printf("请输入一个字符串:");
gets(a);
printf(“输入的字符串为:");
puts(a);}
随堂实训练习:
1、 输入一行字符,统计字母、数字、空格和其它字符的个数。
2、 输入一个字符串,将字符串转置并输出。
教学小结
(1)理解字符数组的概念;
(2)掌握字符数组如何定义、初始化,以及如何引用数组元素;
(3)能将字符数组输入和输出。
学科网(北京)股份有限公司
$$