中等专业学校2022-2023-2教案    编号:
备课组别
计算机
课程名称
C语言
所在
年级
教师
授课教师
授课系部
授课班级
授课
日期
课题
字符数组定义和引用
教学
目标
1、掌握字符数组的定义和引用
2、了解字符串和字符数组的区别
3、结合循环应用数组
重点
对比一位数组、二维数组和字符数组概念和引用异同
难点
字符数组与字符串的区别
教法
讲授法、案例教学法、讨论法
教学设备
黑板  计算机  网络机房
教学
环节
教学活动内容及组织过程
个案补充
c语言字符串转换数组学
一、新课导入
在学习了一二维数组的基础上,再接触类型不同的字符数组,比较他们的不同用法
二、内容设计
1、字符数组与字符串
字符数组:可以存放若干个字符,也可以存放字符串。
字符串:字符串的末尾必须有’\0’字符,它的ASCII码值为0
例如:
char s[10];
s数组是一维字符数组,它可以存放10个字符或一个长度不大于9的字符串。
char a[3][5];
a数组是一个二维的字符数组,可以存放15个字符或3个长度不大于4的字符串。
注意:字符串只能存放在字符数组中。
2、字符数组的初始化
1.用字符常量赋初值
例如:
char c[5]={'C','h', 'i', 'n', 'a' };
char c[6]={'C','h', 'i', 'n', 'a' , '\0'};
2.用字符串常量赋初值
例如:
char str[10]= {"a string"}; char str[10]= "a string";
char a[3][10]={"basic","pascal","c"};
3.初始化时长度的省略
例如:char s1[ ]= "Good morning!";
char s2[ ]={ 's', 't', 'r', 'i', 'n', 'g'};
char s3[7]={ 's', 't', 'r', 'i', 'n', 'g'};
思考:哪个数组存放的是字符串
3、字符数组的引用
可以为数组元素赋值,也可以输入/输出元素的值
【例】对字符数组c1 '0''9',对字符数组c2 'A''Z',然后输出c1c2数组中的数据。
程序如下:
main( )
{ char c1[10],c2[26];  int i;
  for (i=0; i<10; i++)
  c1[i]=i+48;             
  for (i=0; i<26; i++)
  c2[i]=i+'A';             
  for (i=0; i<10; i++)
  printf("%c ",c1[i]);
  printf("\n");
  for (i=0; i<26; i++)
  printf("%c ",c2[i]);
  printf("\n");
}
对字符数组的整体引用
⑴ 输出字符串
例如:char c[ ]= "China";
printf("%s",c);
输出结果为:China
再例如:
char c[ ]="pascal\0basic";
printf("%s",c);
输出结果为:pascal
输入字符串
例如:
char c[10];
scanf("%s",c)
输入:beijing
注意:不可以为数组整体赋值,例如:
char c[10];  c="beijing"
因为c是数组首地址,是常量!
再例如:
char str1[10],str2[10],str3[10];
scanf( "%s%s%s",str1,str2,str3);
输入:
pascal  basic  c
三个字符串用空格隔开,分别赋给str1str2str3三个数组。
4、字符数组应用举例
【例】从标准输入设备上输入一个字符串,分别统计其中每个数字、空格、字母及其他字符出现的次数。
思路:用gets( )函数读字符串,然后判断每一个字符是否是数字、空格、大小写字母或其他字符,用循环实现。
{ char s[80]; int i,sp=0,oth=0,lett=0; 
int dig[10]={0};
  gets(s);
  for (i=0; s[i]!='\0'; i++)
if (s[i]>='0'&&s[i]<='9')     
dig[s[i]- '0' ]++;
else if (s[i]==' ')     
sp++;
    else if (s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z' )
  lett++;
  else oth++;
  for (i=0; i<10; i++)
  printf("%d:%d  ",i,dig[i]);
  printf("\nspace:%dletter:%d  other:%d\n",sp,lett,oth);
}
三、小结
四、作业
字符数组定义和引用
一、字符数组与字符串
二、字符数组的初始化
三、字符数组的引用
四、应用举例分析程序
教 后 札 记

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。