C语言程序设计 (18).docx
课题
第6章利用数组处理批量数据
课时
2
教学目的
与
要求
6.3字符数组
教学重点
与
难点
字符数组的应用
教
学
过
程
主要内容及步骤
备注
导入新课第6章利用数组处理批量数据
新课讲授
6.3字符数组
6.3.1怎样定义字符数组
6.3.2字符数组的初始化
6.3.3怎样引用字符数组中的元素
6.3.4字符串和字符串结束标志
课堂小结
布置作业
授课效果分析总结
教案
课程名称:C语言程序设计授课人:***
6.3.1怎样定义字符数组
用来存放字符数据的数组是字符数组
字符数组中的一个元素存放一个字符
charc[10];
c[0]=’I’;c[1]=’’;
c[2]=’a’;c[3]=’m’;
c[4]=’’;c[5]=’h’;
c[6]=’a’;c[7]=’p’;
c[8]=’p’;c[9]=’y’;
定义字符数组的方法与定义数值型数组的方法类似
c[0]
c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]
I
?
a
m
h
a
p
p
y
6.3.2字符数组的初始化
charc[10]={’I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’};
c[0]
c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]
I
?
a
m
h
a
p
p
y
charc[10]={’c’,’’,’p’,’r’,’o’,’g’,’r’,’a’,’m’};
c[0]
c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]
c
?
p
r
o
g
r
a
m
\0
chardiamond[5][5]={{’’,’’,’*’},{’’,’*’,’’,’*’},
{’*’,’’,’’,’’,’*’},{’’,’*’,’’,’*’},{’’,’’,’*’}};
6.3.3怎样引用字符数组中的元素
例6.6输出一个已知的字符串。
解题思路:
定义一个字符数组,并用“初始化列表”对其赋以初值
用循环逐个输出此字符数组中的字符
#includestdio.h
intmain()
{charc[15]={I,,a,m,,a,,s,t,u,d,e,n,t,.};
inti;
for(i=0;i15;i++)
printf(%c,c[i]);
printf(\n);
return0;
}
例6.7输出一个菱形图。
解题思路:
定义一个字符型的二维数组,用“初始化列表”进行初始化
用嵌套的for循环输出字符数组中的所有元素。
#includestdio.h
intmain()
{chardiamond[][5]={{,,*},{,*,,*},{*,,,,*},
{,*,,*},{,,*}};
inti,j;
for(i=0;i5;i++)
{for(j=0;j5;j++)
printf(%c,diamond[i][j]);
printf(\n);
}
return0;
}
6.3.4字符串和字符串结束标志
’\0’代表ASCII码为0的字符
从ASCII码表可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做
用它作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志
charc[]={”Iamhappy”};
可写成
charc[]=”Iamhappy”;
相当于
charc[11]={”Iamhappy”};
charc[10]={”China”};
可写成
charc[10]=”China”;
从c[5]开始,元素值均为\0
C
h
i
n
a
\0
\0
\0
\0
\0
只显示
printf(”%s”,c);