admin 管理员组

文章数量: 887021


2023年12月18日发(作者:dubbo作者作品)

中等专业学校2022-2023-2教案

编号:

备课组别

授课教师

课题

计算机

课程名称

授课系部

C语言

所在

年级

授课班级

字符数组定义和引用

主备

教师

授课

日期

1、掌握字符数组的定义和引用

教学

2、了解字符串和字符数组的区别

目标

3、结合循环应用数组

重点 对比一位数组、二维数组和字符数组概念和引用异同

难点 字符数组与字符串的区别

教法 讲授法、案例教学法、讨论法

教学黑板 计算机 网络机房

设备

教学

环节

一、新课导入

在学习了一二维数组的基础上,再接触类型不同的字符数组,比较他们的不同用法

二、内容设计

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[ ]="pascal0basic";

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:%dn",sp,lett,oth);

}

三、小结

四、作业

字符数组定义和引用

一、

二、

三、

四、

字符数组与字符串

字符数组的初始化

字符数组的引用

应用举例分析程序

教 后 札 记


本文标签: 数组 字符 字符串 存放 授课