- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
*新编C语言程序设计教程
清华大学出版社周二强软件学院计算机科学与工程系配套视频:
博客:第6章数组6.3字符数组和字符串6.3.1字符数组6.3.2字符串6.3.3字符串输入输出6.3.4字符串相关程序示例6.4综合示例:求大数的阶乘6.3.1字符数组字符数组是元素类型为字符型的数组,既有一维字符数组,又有多维字符数组。数组具有的特征,字符数组也不例外。由于字符型的特殊性,在使用字符数组时需注意:虽然初始化数组时可以用各种形式的字符型字面量,但要考虑程序的可读性。如有charca[6]={C,72,\111,\x4e,\x41,\n};语句时,字符型数组ca的各元素为字符型与整型的区别与联系。例6-11输入由数字组成的一串字符,输出与这个数字串相对应的整数。如输入523回车(5,2,3),则输出523(五百二十三)。分析:用字符数组存储这个数字串;用循环获得输入,遇到回车符时结束。为了便于处理,可在这个数字串的末尾加一个空字符(null)作为结束标志。例6-11例6-110102前面指出,字符串就是用一对双撇号()括起来的一串字符型字面量。这样理解字符串不太确切。C语言规定,字符串必须以空字符\0结束。因此,字符串是用一对双撇号()括起来的以空字符\0结束的一串字符型字面量。作为结束标志的空字符\0显然不能出现在字符串的中间,因为在字符串中只要遇到空字符\0,就认为字符串已经结束。6.3.2字符串字符串为简便在书写时经常忽略字符串的结束标志\0,但在使用时系统会自动在字符串后面加上结束标志。如字符串China的实际长度(包括空字符\0)为6,有效长度是5。在C语言中常用字符数组存储字符串。存放在字符数组中的字符串分散成了一个个字符变量,因此很容易进行与字符串相关的操作,如查找某个字符是否包含在字符串等。C语言中,字符串可以用来初始化字符数组。如charc[]={China};或直接写成charc[]=China;。字符串上面的初始化语句与charc[]={C,h,i,n,a};并不等价,01而与charc[6]={C,h,i,n,a,\0};等价(最后一个空字符可以省略而自动赋值为\0)。02设c是一个长度为10的字符数组,则赋值语句c=China;并不正确,03用字符串直接给字符数组赋值的格式只能用于初始化语句。charc[]=China;04注意01020304用printf函数和scanf函数输入输出字符串时用格式符串“%s”。如有charc[]=China;,则语句printf(%s,c);的输出结果为China,在用printf函数输出字符串时需注意:(c[0]是一个字符变量与格式符串“%c”相对应)。与格式符串“%s”对应的变量为数组名c,而非数组元素c[0]字符串中的结束标志空字符\0并不输出。6.3.3字符串的输入输出注意:Now输出字符串时,遇到结束标志空字符\0时输出就结束了。字符串的输入如有charc[]=Iamready!;scanf(%s,c),则从键盘输入China并回车后,数组c的状态为一次输入多个字符串一次输入多个字符串时,空格符可用来分隔字符串如有charstr0[10],str1[10],str2[10];scanf(%s%s%s,str0,str1,str2);则输入Areyouready?回车时,各个数组的状态为scanf函数遇到空格符便认为一个字符串输入结束有时会带来不便,如无法通过scanf(%s,str);语句,把字符串Areyouready?输入到字符数组str中。010203040506标准函数库(stdio.h)中也为字符串提供了专用的输入输出函数:puts函数和gets函数。puts函数的使用形式为:puts(字符数组变量);其作用是将字符数组中存储的字符串输出到输出设备上。如有charstr[]=Henan\nChina;,则puts(str);的输出结果为:HenanChinaputs函数输出完字符串后会自动换行,也就是说puts(str);与printf(%s\n,str);等价。专用的输入输出函数gets函数的使用形式为:gets(字符数组变量);其作用是把输入设备输入的字符串存储到字符数组中。如有语句gets(str);,从键盘输入:Areyouready?回车则字符数组str中的字符串为Areyoure
文档评论(0)