资源描述:
《C语言教案-第十周.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第十节数组——字符数组1:通过对本节课的学习,能够了解、掌握字符数组定义、初始化、引用、字符串结束标志和在程序中使用。1.1学习目的:1.掌握字符数组定义、初始化、引用2.掌握字符串结束标志3.能够实现字符数组的应用1.2学习内容:1.字符数组定义、初始化、引用2.字符串结束标志、字符数组的应用1.3学习重点:字符串结束标志、字符数组的应用1.4教学方法:讲授法、课件演示1.5学习方法:听课、做笔记、课后作业1.6学习时间第十六周2:回顾上一节:[10分钟]1.二维数组定义、初始化及引用3:课程知识点讲解:具体知识点1:字符数组的定义[10分钟]引例:【案例6.1
2、5】输出字符串“Iamhappy”中的所有字符。编程分析:用字符数组存放字符串的每个字符,循环语句逐个输出字符。程序如下:main(){charc[10];inti;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';for(i=0;i<10;i++)printf("%c",c[i]);printf("");}程序运行结果:Iamhappy程序说明:(1)字符数组与前面学过的数组一样都必须先定义后使用,定义的方法也与前面介绍的类似,形式如
3、下:char数组名[常量表达式]如:charc[10];则定义c为字符数组,包含10个元素。(2)字符数组赋值方法与一般的数组是一样的。c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]Iamhappy需要说明的是,由于字符型与整型是互相通用的,故字符数组的处理基本上与整型数组相同,只不过每个元素的值都是小于整数255而已。具体知识点2:字符数组的初始化[10分钟]对字符数组初始化,最容易理解的方式是逐个字符赋给数组中各元素。如:charc[10]={'I','','a','m','','h','a','p','p','y'};把10
4、个字符分别赋给c[0]到c[9]10个元素。如果花括弧中提供的初值个数(即字符个数)大于数组长度,则作语法错误处理。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即' ').如:charc[10]={'c','','p','r','o','g','r','a','m'};赋值后数组状态如图6.11所示。c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]cprogram 图6.11如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。如:ch
5、arc[]={'I','','a','m','','h','a','p','p','y'};数组c的长度自动定为10。用这种方式可以不必去数字符的个数,尤其在赋初值的字符个数较多时,比较方便。案例讲解【案例6.16】输出字符串"welcome"。程序如下:main( ){inti;charstr[]={'w','e','l','c','o','m','e'};for(i=0;i<7;i++)printf("%c",str[i]);}程序运行结果:welcome【案例6.17】输出一个钻石图形。main(){chardiamond[][5]={'','','*'},
6、{'','*','','*'},{'*','','','','*'},{'','*','','*'},{'','','*'}};inti,j;for(i=0;i<5;i++){for(j=0;j<5;i++)printf("%c",diamond[i][j]);printf("");}}程序运行结果:********具体知识点3:字符串和字符串结束标志[15分钟]在C语言中,将字符串作为字符数组来处理。这个字符串的实际长度与数组长度相等。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符' '代表。如果有一个字符串,其第10个字符为' '
7、,则此字符串的有效字符为9个。也就是说,在遇到字符' '时,表示字符串结束,由它前面的字符组成字符串。系统对字符串常量也自动加一个' '作为结束符。例如“Cprogram”共有9个字符,但内存中占10个字节,最后一个字节放' ',字符串作为一维数组来存放。说明:' '代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不干。用它来作字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志。具体知识点4:字符串的输入输出及字符串处理函数[15分钟]1、逐个字符输入输
8、出,用格式