中等专业学校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',然后输出c1和c2数组中的数据。 程序如下: 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 三个字符串用空格隔开,分别赋给str1、str2、str3三个数组。 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小时内删除。
发表评论