- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * 6.3 字符数组与字符串 字符数组: 可以存放若干个字符,也可以存放字符串。 6.3.1 基本概念 C h i n a \0 字符串: 字符串的末尾必须有’\0’字符,它的ASCII码值为0。 C h i n a 不是字符串 是字符串 * * 再例如: char a[3][5]; a数组是一个二维的字符数组,可以存放15个字符或3个长度不大于4的字符串。 6.3.2 字符数组的定义 例如: char s[10]; s数组是一维字符数组,它可以存放10个字符或一个长度不大于9的字符串。 注意:字符串只能存放在字符数组中。 * * 6.3.3 字符数组的初始化 C h i n a 1.用字符常量赋初值 例如:char c[5]={C,h, i, n, a }; 再例如: char c[6]={C,h, i, n, a , \0}; C h i n a \0 是字符串 不是字符串 * * 6.3.3 字符数组的初始化(续) 再例如: char a[3][10]={basic,pascal,c}; a s t r i n g \0 \0 2.用字符串常量赋初值 例如: char str[10]= {a string}; 或char str[10]= a string; b a s i c \0 \0 \0 \0 \0 p a s c a l \0 \0 \0 \0 c \0 \0 \0 \0 \0 \0 \0 \0 \0 是字符串吗? * * 6.3.3 字符数组的初始化(续) 例如:char s3[7]={ s, t, r, i, n, g}; G o o d m o r n i n g ! \0 3.初始化时长度的省略 例如:char s1[ ]= Good morning!; s1[0] s1[13] 例如:char s2[ ]={ s, t, r, i, n, g}; s t r i n g s t r i n g \0 思考:哪个数组存放的是字符串 ? * * 6.3.4 字符数组的引用 【例】对字符数组c1赋 0~9,对字符数组c2赋 A~Z,然后输出c1和c2数组中的数据。 1.对字符数组元素的引用 可以为数组元素赋值,也可以输入/输出元素的值。 * * 程序如下: main( ) { char c1[10],c2[26]; int i; for (i=0; i10; i++) c1[i]=i+48; for (i=0; i26; i++) c2[i]=i+A; for (i=0; i10; i++) printf(%c ,c1[i]); printf(\n); for (i=0; i26; i++) printf(%c ,c2[i]); printf(\n); } * * 2.对字符数组的整体引用 ⑴ 输出字符串 例如: char c[ ]= China; printf(%s,c); 输出结果为: China C是数组首地址 输出时遇 \0 为止 再例如: char c[ ]=pascal\0basic; printf(%s,c); 输出结果为: pascal * * 2.对字符数组的整体引用(续) ⑵ 输入字符串 例如: char c[10]; scanf(%s,c); 输入: beijing? b e i j i n g \0 三个字符串用空格隔开,分别赋给str1、str2、str3三个数组。 再例如: char str1[10], str2[10], str3[10]; scanf( %s%s%s, str1, str2, str3); 输入: pascal basic c? 注意:不可以为数组整体赋值,例如: char c[10]; c=beijing ; 因为c是数组首地址,是常量! ? 注意:“%s” 遇空格、Tab和回车结束输入。 * * 6.3.5 字符串处理函数 说明: ① 程序中如果调用下面介绍的8个字符串处理函数,在程序的开始应该写: #include stdio.h 或 #include string.h 预处理命令,否则在VC++6.0中编译会出现警告信息。 ② 在字符串处理函数中,凡是用数组名或字符串首地址作参数的地方,都可以用指针变量作参数。指针变量的概念在第8章介绍。 * * 1.字符串输出函数puts( ) 调用格式:puts(str) 功能:输出一个字符串,输出后自动换行。 说明:str可以是字符数组名或字符串常量。 例如: char str1[ ]= China; char str2[ ]= Beiji
原创力文档


文档评论(0)