已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章字符串,字符数组,字符串的存储字符指针字符串的访问和输入/输出字符串处理函数向函数传递字符串,字符串常量,字符串的存储,C语言没有提供字符串数据类型,字符串的存取要用字符型数组来实现。字符数组是用来存放字符数据的数组。字符型数组中存储的并不一定是字符串,仅当其最后一个元素是0时,才表示字符串。0也占一个字节,但不计入字符串的实际长度,只计入数组的长度。,字符数组的初始化,对字符数组初始化,最容易理解的方式是逐个字符赋给数组中各元素。如:charc10=I,a,m,h,a,p,p,y;,如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括弧中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理。,如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即0)。,如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。,charc=I,a,m,h,a,p,p,y;,当省略对数组长度的声明时,必须人为地在数组的初始化列表中添加0,才能将其作为字符串来使用。,对字符数组可以采用和其它数组一样的方式进行初始化可采用更为简单的方法初始化字符数组,即用字符串常量初始化字符数组,按上述方法初始化数组,可以不指定长度,编译系统会根据字符串中字符的个数来确定数组的大小,将一个字符串存放在一维字符数组中,将多个字符串存放在二维字符数组中。第一维的长度表示要存储的字符串的个数,可以省略,但是第二维长度不能省略,应按照最长的字符串长度设定数组第二维的长度。,二维字符数组,例:charweekday710=“Monday”,“Tuesday”,“Wednesday”,“Thursday”,“Friday”,“Saturday”,“Sunday”;或:charweekday10=“Monday”,“Tuesday”,“Wednesday”,“Thursday”,“Friday”,“Saturday”,“Sunday”;不能写成:charweekday=“Monday”,“Tuesday”,“Wednesday”,“Thursday”,“Friday”,“Saturday”,“Sunday”;,字符串的输入/输出,有3种方法可以实现字符数组的输入/输出逐个字符输入输出(%c)整个字符串一次输入输出(%s)使用字符串处理函数gets()/puts(),可以输出带空格的字符串,例:,逐个字符输入输出(%c),for(i=0;i10;i+)printf(%c,stri);,for(i=0;i10;i+)scanf(%c,字符串的长度与字符数组的大小通常并不完全一致,更常用是借助0识别字符串的结束,例:,整个字符串一次输入输出(%s),读入一个字符串,直到与空白字符(空格、回车、制表符)为止,地址,scanf函数读入字符遇到空格后结束读入字符操作,余下字符被留在了输入缓冲区,使用字符串处理函数gets()可以输入带空格的字符串,gets()以回车键键作为字符串的终止符,同时将回车符从输入缓冲区读走,但不作为字符串的一部分。而scanf()不读走回车符,回车符仍留在输入缓冲区中,要保证输入字符串的长度不超过数组的大小,可以使用限制输入字符串长度的的函数,即:fgets(数组名,sizeof(数组名),stdin);,puts()用于从括号内的参数给出的地址开始,依次输出存储单元中的字符,当遇到第一个结束符0时结束,并且自动输出一个换行符。不足:不能再输出中增加其它字符,字符指针,字符指针就是指向字符数据类型的指针每个字符串在内存中都占用一段连续的存储空间,并有唯一确定的首地址字符串常量本身代表的就是存放在它的常量区的首地址,是一个地址常量,字符串处理函数,strncpy(str1,strn,n);strncmp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云南单招错题集含答案职业技能高频错题解析
- 2026年山东单招财经商贸类基础薄弱生专用卷含答案基础题占80%
- 2026 年中职建筑工程施工(钢筋绑扎技能)试题及答案
- 2026 年中职家畜饲养工(家畜喂养)试题及答案
- 北京市2025中国地质科学院地质力学研究所社会在职人员招聘5人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 丽水市2025浙江丽水市松阳县机关事业单位选调笔试历年参考题库典型考点附带答案详解(3卷合一)
- 三河市2025河北廊坊三河市公开招聘事业单位工作人员50人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 2025陕西精益化工有限公司招聘(50人)笔试参考题库附带答案详解(3卷)
- 2025重庆市汽车运输集团招聘60人笔试参考题库附带答案详解(3卷)
- 2025贵州遵义红城环卫能源有限公司招聘专业技术人员5人笔试历年常考点试题专练附带答案详解
- 国开电大 可编程控制器应用实训 形考任务6答案
- 全科医生基层实践个人总结
- 批生产记录的培训
- 静脉输液工具的合理选择患者篇课件
- 真空冷冻干燥机操作手册
- MOOC 电子线路设计、测试与实验(一)-华中科技大学 中国大学慕课答案
- 医学装备管理与使用理论考核试题及答案
- 夹胶玻璃检验报告
- 黑龙江省哈尔滨市2023-2024学年高一上学期学业质量检测化学试卷(含答案解析)
- 佳能EOS2000D摄影机使用手册
- 九宫格数独(入门级-30题)
评论
0/150
提交评论