- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
07数组2ppt课件
7.3 字符数组 字符数组:存放字符数据的数组,每一个元素存放一个字符,主要用于字符串的操作 字符数组的定义、初始化和引用 字符数组的定义方法与前面的一维数组的定义相类似 例如: char c[10]; 定义了一个字符数组c,包含10个元素。这10个元素分别 用c[0],c[1],c[2],…,c[9]表示 注意:字符型与整型可以通用,但有区别 char c[10]; /* 在内存中占10字节 */ int c[10]; /* 在内存中占20字节 */ 字符数组的初始化 1) 逐个元素初始化 char c[10] = {I, ,a,m, ,h,a,p,p,y}; 2) 数据少于数组长度,多余元素自动为“空” char c[13] = {I, ,a,m, ,h,a,p,p,y}; 3) 指定初值时,未指定数组长度,则长度等于初值个数 char c[ ] = {I, ,a,m, ,h,a,p,p,y}; 10个初值,因此,数组c的长度是10 字符数组的引用 可以像引用一维数值数组那样,用数组名以及数组下标来引用字符数组中的一个元素。引用一个元素,得到一个字符 [例7.6] 输出一个字符串 main () { char c[10]={I, ,a,m, ,a, ,b,o,y}; int i; for(i=0;i10;i++) printf(%c,c[i]); /*引用数组元素c[i],得到一个字符*/ printf(\n); } 输出结果: I am a boy 二维字符数组的定义、初始化和引用与一维基本相似 [7.7]输出一个菱形图 main() {char diamond[][5]={{ , ,*},{ ,* , ,*},{* , , , , *‘}, { ,* , ,*}, { , ,*}}; int i,j; for(i=0;i5;i++) {for(j=0;j5;j++) printf(%c, diamond[i][j]); printf(\n); } } 运行结果: * * * * * * * * 字符数组与字符串 字符串是字符串常量的简称,在C语言中,字符串实际上是通过字符数组来存放和处理的 例7.6就是用一个一维字符数组存放一个字符串“I am a boy”中的字符。 这个字符串的实际长度与数组长度相等。当然,也可以用字符数组下标符号来直接引用字符串中的单个字符。例如上例中的c[0]代表I,而c[3]代表m 有的时候,字符数组中实际存放的字符串的长度会小于定义字符数组的长度。这时,怎样才能知道字符串的实际长度?C语言是通过使用字符串结束符来解决的 一、字符串和字符串结束符 前面已经介绍过,字符串存放在内存中,系统会在字符串后面自动加一个\0作为结束符。例如字符串 “Program” 共有7个字符,但在内存中占8个字符空间,最后一个字符是\0 ‘\0’是ASCII码为0的字符,它不是一个可以显示的字符,而是一个 “空操作符” 。即它什么也不干,用来作为字符串结束的标志 为了容纳大小不同的字符串,一般情况下,定义字符数组的长度都会大于实际字符串的长度。有了字符串结束标志 \0 后,程序往往依靠检测 \0 的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串长度 例如: printf ("CHINA"); 字符串“CHINA”存放在内存中的情况是: C H I N A \0 (占6字节存储单元,不是5字节)输出时一个一个字符输出,直到遇到最后的 \0 字符,停止输出。 输出结果: CHINA 用字符串对字符数组进行初始化 在了解C语言处理字符串的方法后,对字符数组初始化又有了一种新的方法,即可以直接用字符串来初始化字符数组。 例如: char c[ ] = {I am happy}; 或: char c[ ] = I am happy; 数组c的大小由字符串的长度确定。字符串“I am happy”包含10个字符,再加上结束符(\0),字符数组c的实际长度为11。 这2条语句和下面的语句等价: char c[]={I, , a, m, , h, a, p, p, y, \0}; 用字符串来初始化字符数组更直观、方便,也符合人们的习惯 字符数组的输入输出 两种方法: 1、用“%c”格式符逐个
文档评论(0)