第14讲 字符数组.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文档。上传文档
查看更多
第14讲 字符数组

第14讲 字符数组 3.将字符串存于字符数组的方法 2. 在scanf函数和printf函数中用格式说明符%s,进行字符串整体的输入输出。 3.调用gets和puts函数,从终端进行“字符串行”的输入和输出。 字符串输出函数puts * 1. 字符串及其结束标志 C语言没有字符串变量,用字符数组处理字符串。 字符串结束标志:‘\0’ 例如,若在程序中用到了 字符串 “hello”,该字符串共有 5个字符,但其在内存要占用6个字节,而字符串长度为5。 h e l l o \0 104 101 108 108 111 0 内存存放字符ASCII码 6.3.3 字符串 2. 字符串常量在内存中也占用一串连续的存储空间。 (1) 通过赋值运算将字符逐个赋给各元素后,人为加入‘\0’。 如:char c[6]; 或:c[0]=‘h;c[1]=‘e;c[2]=‘l;c[3]=‘l; c[4]=‘o;c[5]=‘\0; 则将字符串“hello”存入了字符数组c中。 (2) 通过给字符数组输入字符并在最后加入‘\0’。 如: char c[6]; int i; for(i=0;i5;i++) scanf(“%c”,c[i]); c[i]=‘\0’; /* 或c[5]=‘\0’; */ 直接从键盘上输入:hello↙,也可将字符串“hello”存入了字符数组c中。 (3) 赋初值时通过逐个字符赋给数组中的各元素的方式。 如: char c[6]={ ‘h’,‘e’,‘l’,‘l’,‘o’,‘\0’}; 或 char c[6]={ ‘h’,‘e’,‘l’,‘l’,‘o’}; /* 自动补上‘\0’ */ (4) 赋初值时直接赋字符串 如: char c[6]={“hello”}; 或 char c[6]=“hello”; 或 char c[]=“hello”; 虽然可将字符串存放于字符数组中处理,但字符数组与字符串有区别。字符数组可存放字符串,也可存放不是字符串的其它字符。 字符串都有一个结束标志字符‘\0’ ,若要将字符串存放于字符数组中,则在定义数组时,数组的大小要比所赋的字符串的字符个数至少多1。 1.在scanf函数和printf函数中用格式说明符%c,进行 逐个字符的输入输出。 例 用%c输入输出字符串 main() { char str[5]; int i; for(i=0;i5;i++) scanf(“%c”, str[i]); for(i=0;i5;i++) printf(“%c”, str[i]); } 6.3.4 字符数组的输入和输出 例 用%s输入输出字符串 main() { char str[5]; scanf(“%s”, str); printf(“%s”, str); } 注意:用字符数组名,不要加; 输入串的长度数组元素个数; 遇空格或回车结束; 自动加‘\0’。 用字符数组名, 输出时遇‘\0’结束 例 main( ) { char a[5]={‘H’,’e’,’l’,’l’,’o’}; printf(“%s”,a); } 例 main( ) { char a[ ]=“Hello”; printf(“%s”,a); } 结果:Hello#-=* h e l l o 0 2 3 1 4 结果:Hello 用“%s”输出时,遇‘\0’结束 注意:字符串与字符数组的区别 main() { char a[]={h,e,l,\0,l,o,\0}; printf(%s,a); } 例 输出:hel h e l \0 l o \0 若数组中有多个‘\0’, 在用%s输出时,遇第一个结束! 若数组中有多个‘\0’, 在用%s输出时,遇第一个结束! main() { int i; char a[5]; scanf(%s,a); for(i=0;i5;i++) printf(%c,,a[i]); printf(“%s\n,a); } 运行情况: (1)若输入 hel , 正常 (2)若输入 hell , 正常 (3)若输入 hello , 用%s 输出时,可能会出现问题!

文档评论(0)

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

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

1亿VIP精品文档

相关文档