C语言 第10章 字符串.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言 第10章 字符串

; 本章要点; 主要内容;;对字符数组初始化,最容易理解的方式是逐个字符 赋给数组中各元素。如: char c[10]={I, ,a,m, ,a, ,b,o,y};;如果初值个数小于数组长度,则只将这些字符赋给数 组中前面那些元素,其余的元素自动定为空字符 (即′\0′)。例如: ;如果提供的初值个数与预定的数组长度相同,在定义 时可以省略数组长度,系统会自动根据初值个数确定 数组长度。例如: ; char diamond[5][5]={{′ ′,′ ′,*′},{′ ′,′*′,′ ′,′*′},{′*′,′ ′,′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′ ′,′ ′,′*′}};§ 10.3字符数组的引用;例10.2 输出一个钻石图形 ;§ 10.4字符串和字符串结束标志;可以用字符串常量来使字符数组初始化。 例如 char c[]={″I am happy″}; 也可以省略花括弧,直接写成 char c[]=“I am happy″; 它与下面的数组初始化等价 char c[] ={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′,′\0′};需要说明的是:字符数组并不要求它的最后一个字符为′\0′,甚至可以不包含′\0′。 例如:char c[5]={′C′,′h′,′i′,′n′,′a′};这样写完全是合法的。但是由于系统对字符串常量自动加一个′\0′。因此,人们为了使处理方法一致,在字符数组中也常人为地加上一个′\0′。如:char c[6]={′C′,′h′,′i′,′n′,′a′,′\0′};这样做,这样做是为了便于引用字符数组中的字符串。;定义了以下的字符数组∶ char c[]={”Pascal program”}; 现在,想用一个新的字符串代替原有的字符串”Pascal program” ,从键盘向字符数组输入∶Hello 如果不加′\0′的话,字符数组中的字符如下∶ Hellol program;例子: #includestdio.h void carray(char *,int n); main() { char a[4]={I, ,a,m}; char b[4]={I,\0,a,m}; carray(a,4); printf(\n); carray(b,4); printf(\n); };§ 10.5字符数组的输入输出 ;char c[]={″China″}; printf(″%s″,c); ;用“%s”格式符输出??符串时,printf函数中的输出项是字符数组名,而不是数组元素名。如:写成下面这样是不对的:printf(″%s″,c[0]); 如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。 输出字符不包括结束符′\0′。 如:char c[10]={″China″}; /* 字符串长度为5,连’\0’共占6个字节 */ printf(″%s″,c);只输出字符串的有效字符“China”,而不是输出10个字符。这就是用字符串结束标志的好处。;例子: #includestdio.h main() { char a[]={China}; char b[]=China; char c[]={C,h,i,n,a};//没有字符串结束标志 char c1[]={C,h,i,n,a,\0};//有字符串结束标志 char d[]={C,h,\0,i,\0,n,a}; printf(a=%s\n,a); printf(b=%s\n,b); printf(c=%s\n,c); printf(c1=%s\n,c1); printf(d=%s\n,d); };(4)如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。 可以用scanf函数输入一个字符串。 例如 scanf(″%s″,c); scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度。例如,定义 char c[6]; 从键盘输入: China↙系统自动在China后面加一个′\0′结束符。 ;如果利用一个scanf函数输入多个字符串,则在输入时以空格分隔。例如: char strl[5],str2[5],str3[5]; scanf(″%s%s%s″,str1,str2,str3); 输入数据: How are you?  数组中未被赋值的元素的值自动置′\0′。;若改为 char str[13]; scanf(″%s″,str); 如果输入以下12个字符 How are you?  大家思考一下str[

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档