资源描述:
《C语言谭浩强版数组课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.3字符数组字符数组:存放字符数据的数组,每一个元素存放一个字符,主要用于字符串的操作字符数组的定义、初始化和引用字符数组的定义方法与前面的一维数组的定义相类似例如:charc[10];定义了一个字符数组c,包含10个元素。这10个元素分别用c[0],c[1],c[2],…,c[9]表示注意:字符型与整型可以通用,但有区别charc[10];/*在内存中占10字节*/intc[10];/*在内存中占20字节*/字符数组的初始化1)逐个元素初始化charc[10]={'I','','a','m','','h','a','p','p','y'};2)数据少于数组长度,多余元素自动为“空”char
2、c[13]={'I','','a','m','','h','a','p','p','y'};3)指定初值时,未指定数组长度,则长度等于初值个数charc[]={'I','','a','m','','h','a','p','p','y'};10个初值,因此,数组c的长度是10Iamhappy c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]c[10]c[11]c[12]c[13]Iamhappyc[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]字符数组的引用可以像引用一维数值数组那样,用数组名以及数组下标来引用字符数组中
3、的一个元素。引用一个元素,得到一个字符[例7.6]输出一个字符串main(){charc[10]={'I','','a','m','','a','','b','o','y'};inti;for(i=0;i<10;i++)printf("%c",c[i]);/*引用数组元素c[i],得到一个字符*/printf("");}输出结果:Iamaboy二维字符数组的定义、初始化和引用与一维基本相似[7.7]输出一个菱形图main(){chardiamond[][5]={{'','','*'},{'','*','','*'},{'*','','','','*‘},{'','*','','*'},{'
4、','','*'}};inti,j;for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%c",diamond[i][j]);printf("");}}运行结果:********字符数组与字符串字符串是字符串常量的简称,在C语言中,字符串实际上是通过字符数组来存放和处理的例7.6就是用一个一维字符数组存放一个字符串“Iamaboy”中的字符。这个字符串的实际长度与数组长度相等。当然,也可以用字符数组下标符号来直接引用字符串中的单个字符。例如上例中的c[0]代表'I',而c[3]代表'm'有的时候,字符数组中实际存放的字符串的长度会小于定义字符数组的长度。这时,
5、怎样才能知道字符串的实际长度?C语言是通过使用字符串结束符来解决的一、字符串和字符串结束符前面已经介绍过,字符串存放在内存中,系统会在字符串后面自动加一个' '作为结束符。例如字符串“Program”共有7个字符,但在内存中占8个字符空间,最后一个字符是' '‘ ’是ASCII码为0的字符,它不是一个可以显示的字符,而是一个“空操作符”。即它什么也不干,用来作为字符串结束的标志为了容纳大小不同的字符串,一般情况下,定义字符数组的长度都会大于实际字符串的长度。有了字符串结束标志' '后,程序往往依靠检测' '的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串长度例如:prin
6、tf("CHINA");字符串“CHINA”存放在内存中的情况是:CHINA (占6字节存储单元,不是5字节)输出时一个一个字符输出,直到遇到最后的' '字符,停止输出。输出结果:CHINA用字符串对字符数组进行初始化在了解C语言处理字符串的方法后,对字符数组初始化又有了一种新的方法,即可以直接用字符串来初始化字符数组。例如:charc[]={"Iamhappy"};或:charc[]="Iamhappy";数组c的大小由字符串的长度确定。字符串“Iamhappy”包含10个字符,再加上结束符(' '),字符数组c的实际长度为11。这2条语句和下面的语句等价:charc[]={'I','
7、','a','m','','h','a','p','p','y',' '};用字符串来初始化字符数组更直观、方便,也符合人们的习惯Iamhappy c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]c[10]字符数组的输入输出两种方法:1、用“%c”格式符逐个输入输出如例7.62、用“%s”格式符按字符串输入输出,将整个字符串一次性输入或输出1)用“%s”格式字符