- 9
- 0
- 约6.31千字
- 约 18页
- 2016-08-21 发布于重庆
- 举报
第13章字符串及字符串操作
第13章 字符串及字符串操作 在各种编程语言中,字符串的地位都十分重要,C语言中并没有提供“字符串”这个特定类型,而是以特殊字符数组的形式来存储和处理字符串,这种字符数组必须以空字符’\0’结尾,因此,也将这种特定字符数组称为C风格字符串,本章讨论字符串和字符串的一些处理函数。 13.1 C风格字符串 C风格字符串是字符数组的一种特例,这个“特”字体现在“以’\0’(空字符,null character)结尾”,如何声明创建一个C风格字符串时,如何使用C风格字符串,这是本节要解决的问题。 13.1.1 C风格字符串的声明 首先想到的方法是声明一个字符数组,而后对其中元素初始化,不过要保证最后一个元素是空字符’\0’,即: char str[]={‘I’,’ ’,’L’,’o’,’v’,’e’,’ ’,’C’,’H’,’I’,’N’,’’A,’\0’}; 还记得么?如果在数组声明时没有指定第1维的大小,编译器将根据初始化表达式执行决定数组的大小,对C风格字符串来说,这是种不错的方法,免得一个个字符去数。 上述声明方式看上去很麻烦,要一个字母一个字母地用单引号包裹起来,还要记着最末尾的空字符’\0’,实际上,在C语言中,还提供了另一种声明C风格字符串的方法――使用字符串常量,如: char str[]=”I Love CHINA”; 13.1.2 C风格字符串内存中的表示 上面声明的str中,C风格字符串共有12个有效字符,但却占据了13个内存空间,编写一段代码来验证这个结论,见示例。 代码? C风格字符串占据的内存字节数SizeOfStr ----------------------------------------------文件名:SizeOfStr.c------------------------------------------------------ #include stdio.h /*使用printf要包含的头文件*/ #include conio.h void main(void) /*主函数*/ { char sz[]=I Love CHINA; /*声明一个C风格字符串*/ printf(sz在内存中的大小为:%d,sizeof(sz)); /*输出sz占据的内存字节数*/ getch(); /*等待,按任意键继续*/ } 输出结果为: sz在内存中的大小为:13 13.2 字符数组的输入输出 请注意:本节的标题没有写“C风格字符串的输入输出”,而是说“字符数组的输入输出”,实际上,C语言允许对字符数组进行整体的输入输出和元素访问,并不会检查其末尾是否为空元素,在本节学习中,读者应细心体会字符数组和C风格字符串在输入输出等方面的不同。 13.2.1 字符数组可以进行整体输入输出 普通数组不能进行整体输入输出,必须以元素为单位进行,而字符数组是个例外,来看一个例子,见示例: 代码? 字符串的整体输入输出StrInputOutput ------------------------------------------文件名:StrInputOutput.c-------------------------------------------------- #include stdio.h /*使用printf要包含的头文件*/ #include conio.h void main(void) /*主函数*/ { char sz[]=I Love CHINA; /*声明一个C风格字符串*/ printf(%s\n,sz); /*对字符串进行整体输出*/ printf(请重新输入一个字符串,不多于12个字符\n); /*提示用户重新输入一个字符串*/ scanf(%s,sz); /*读取新的输入*/ printf(修改后的字符串为:%s\n,sz); /*整体输出新的字符串*/ getch(); /*等待,按任意键继续*/ } 输出结果为: I Love CHINA 请重新输入一个字符串,不多于12个字符 Hello World (键盘输入) 修改后的字符串为:Hello 13.2.2 使用gets函数读入整行输入 在接收输入时,空格和随后的字符都被舍弃掉了,那有没有一种方法能将空格和随后的字符一块读入呢?有,C语言提供了gets函数,见示例: 代码? 使用gets函数读取一整行到字符数组中FunctionGets ------------------------------------------文件名:FunctionGet
您可能关注的文档
- 第12章多媒体的使用.ppt
- 第12章数据转换.ppt
- 第12章用户界面.ppt
- 第12章神奇的表单.pptx
- 第12章虚拟设备软件.ppt
- 第12章计算机网络技术及综合布线.ppt
- 第12章计算机软件故障维修方法B.pptx
- 第12讲SenchaTouch的表单组件.ppt
- 第12课智能ABC输入法.doc
- 第132W章食物及药物(成分组合及标签)规例一.doc
- 2026吉林白山市靖宇县招聘城市社区工作者专职岗位人员备考题库必考题.docx
- 2026吉林辽源市事业单位硕博人才专项招聘170人参考题库附答案.docx
- 2026年一级造价工程师《土建+安装 案例》题库100道附参考答案【预热题】.docx
- 2026吉林大学附属中学招聘教师6人备考题库必考题.docx
- 2026年一级造价工程师《土建+安装 案例》题库100道附参考答案【模拟题】.docx
- 2026年《职业能力倾向测验》题库200道附答案【完整版】.docx
- 2026年一级造价工程师《土建+安装 案例》题库100道含完整答案【网校专用】.docx
- 2026吉林辽源市事业单位硕博人才专项招聘170人备考题库附答案.docx
- 2026南昌市昌南学校招聘派遣制初中体育教师1人备考题库附答案.docx
- 2026四川德阳市什邡市人民医院招聘临床护士、药房药师、康复技师4人备考题库附答案.docx
最近下载
- 非物质文化遗产保护与传承中的社区教育模式研究教学研究课题报告.docx
- 东风雪铁龙世嘉车载智云音乐系统(ICC)投放资料之一:推介手册.pdf VIP
- 2025年海兰褐蛋鸡各阶段饲养管理 .pdf VIP
- 人教版九年级上册化学1至7单元综合测试卷(含答案).pdf VIP
- 骨科、麻醉科加速康复围手术期患者慢性病管理专家共识(2025年版) .pdf
- 人教版九年级化学上册:一至六单元测试卷.docx VIP
- 安徽省宿州市十三校2026届化学高一第一学期期末教学质量检测试题含解析.doc
- 一年级语文上册识生字测试题.doc VIP
- 输血安全护理ppt完整课件.pptx VIP
- 高一数学培优复数及其运算-讲义(学生版).pdf VIP
原创力文档

文档评论(0)