已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章 字符串,字符数组,字符串的存储 字符指针 字符串的访问和输入/输出 字符串处理函数 向函数传递字符串,字符串常量,字符串的存储,C语言没有提供字符串数据类型,字符串的存取要用字符型数组来实现。 字符数组是用来存放字符数据的数组。 字符型数组中存储的并不一定是字符串,仅当其最后一个元素是0时,才表示字符串。 0也占一个字节,但不计入字符串的实际长度,只计入数组的长度。,字符数组的初始化,对字符数组初始化,最容易理解的方式是逐个字符赋给数组中各元素。 如:char c10= I, , a, m, , h, a, p, p, y;,如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。 如果花括弧中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理。,如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即0)。,如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。,char c =I, , a, m, , h, a, p, p, y;,当省略对数组长度的声明时,必须人为地在数组的初始化列表中添加0,才能将其作为字符串来使用。,对字符数组可以采用和其它数组一样的方式进行初始化 可采用更为简单的方法初始化字符数组,即用字符串常量初始化字符数组,按上述方法初始化数组,可以不指定长度,编译系统会根据字符串中字符的个数来确定数组的大小,将一个字符串存放在一维字符数组中,将多个字符串存放在二维字符数组中。 第一维的长度表示要存储的字符串的个数,可以省略,但是第二维长度不能省略,应按照最长的字符串长度设定数组第二维的长度。,二维字符数组,例:char weekday710=“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”; 或:char weekday 10=“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”; 不能写成:char weekday =“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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美妆产品置换合同范本
- 网吧门面出租合同范本
- 网约车解除合同协议书
- 绿化租赁养护合同范本
- 物业电梯广告合同协议
- 货物外箱采购合同范本
- 灯饰销售代理合同范本
- 租房合同范本模板模板
- 第八课《分享我的爱好》(教学设计)-北师大版心理健康二年级上册
- 物业服务合同租房协议
- JBT 1306-2024 电动单梁起重机(正式版)
- 三相交流异步牵引电机的检修与维护讲解
- 可穿戴设备与老年人健康监测的研究
- (外研版3起)英语四年级上册单词字帖书写练习(手写体)高清打印版
- 《解读药敏报告》课件
- 《数字经济学》 课件 专题8:数字经济的统计核算研究
- 历代女子发型演变课件
- 《服务营销》期末考试试题
- 排水管网清淤疏通方案(技术方案)
- 健身教练必备(国职初级实操健身动作)
- 古代游牧文化知到章节答案智慧树2023年西北大学
评论
0/150
提交评论