C语言入门经典(第四版)6-符串和文本的应用

上传人:nbwa****ajie 文档编号:37680257 上传时间:2018-04-20 格式:PDF 页数:5 大小:11.12KB
返回 下载 相关 举报
C语言入门经典(第四版)6-符串和文本的应用_第1页
第1页 / 共5页
C语言入门经典(第四版)6-符串和文本的应用_第2页
第2页 / 共5页
C语言入门经典(第四版)6-符串和文本的应用_第3页
第3页 / 共5页
C语言入门经典(第四版)6-符串和文本的应用_第4页
第4页 / 共5页
C语言入门经典(第四版)6-符串和文本的应用_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言入门经典(第四版)6-符串和文本的应用》由会员分享,可在线阅读,更多相关《C语言入门经典(第四版)6-符串和文本的应用(5页珍藏版)》请在金锄头文库上搜索。

1、 本文由y j r y j q w d m s 贡献本文由泽五令贡献p p t 文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。C入门经典(第4版) 入门经典( 第06章 字符串和文本的应用 06章上一章介绍数组时,说明了如何使用数值数组方便地完成许多编程工作. 本章将 探讨如何使用字符数组,以扩展数组知识.我们经常需要将文本字符串 用作一个实体, 不过C 用作一个实体,不过C语言没有提供字符串数据类型,这与其他编程语言不同. C 语言使用c h a r 类型的数组元素存储字符串 . 语言使用c h a r 类型的数组元素存储字符串C入门经典(第4版) 入门经典

2、(6.1 什么是字符串字符串常量的例子非常常见.字符串常量是放在一对双引号中的一串字 符或符 号.一对双引号之间的任何内容都会被编译器视为字符串,包括特殊 字符和嵌入的空格 .每次使用p r i n t f ()显示信息时,就将该信息定义成字符串常 字符和嵌入的空格.每次 使用p r i n t f ()显示信息时,就将该信息定义成字符串常 量了 .C入门经典(第4版) 入门经典( 6.2 处理字符串和文本的方法与其他编程语言不同,C 与其他编程语言不同,C语言对变量存储字符串的语法没 有特殊的规定, 而且C 而且C根本就没有字符串变量,也没有处理字符串的特殊运算符 .但这不成问 题,因为我们

3、可以使用前面介绍的工具处理字符串 .C入门经典(第4版) 入门经典( 6.3 计算机绘图系统的硬件组成上例中的代码说明了确定字符串长度的机制,但还没有编写过代码.如 后面所述 ,标准库中的s t r l e n ()函数可以确定字符串的长度.知道了如何确定字 后面所述,标准 库中的s t r l e n ()函数可以确定字符串的长度.知道了如何确定字 符串的长度后,该如何 使用它? 符串的长度后,该如何使用它? 连接字符串 字符串数组C入门经典(第4版) 入门经典( 6.3.1 连接字符串把一个字符串连接到另一个字符串的尾部是很常见的需求.例如,把两 个或多个 字符串合成为一条信息.在程序中,

4、将错误信息定义为几个基本的文 本字符串,然后给 它们添加另一个字符串,使之变成针对某个错误的信息 连 接字符串.C入门经典(第4版) 入门经典( 6.3.2 字符串数组可以使用c h a r 类型的二维数组存储字符串,数组的每一行都用来存储一个 可以使 用c h a r 类型的二维数组存储字符串,数组的每一行都用来存储一个 字符串.这样,就可 以存储一整串字符串,通过一个变量名来引用它们 .C入门经典(第4版) 入门经典( 6.4 字符串数组前面的例子很费力地把字符串从一个变量复制到另一个变量中,下面看 看字符串 标准函数库如何执行这个操作.我们只需了解使用这些库函数时,会 发生什么 . 使用

5、 库函数复制字符串 使用库函数确定字符串的长度 使用库函数连接字符串 比较字符串搜索字符串C入门经典(第4版) 入门经典( 6.4.1 使用库函数复制字符串首先,看看如何把字符串从一个数组复制到另一个数组中,它使用了字 符串的赋 值操作.前面使用了一个精心创建的w h i l e 循环来完成这个工作.还 符串的赋值操作.前 面使用了一个精心创建的w h i l e 循环来完成这个工作.还 可以使用如下语句: s t r c p y ( s t r i n g l , s t r i n g 2);C入门经典(第4版) 入门经典(6.4.2 使用库函数确定字符串的长度要确定字符串的长度,可以使用

6、s t r l e n ()函数,它会把字符串的长度返回 要确定 字符串的长度,可以使用s t r l e n ()函数,它会把字符串的长度返回 为一个s i z e _t 类型的 整数.要确定程序6.3中字符串的长度,可以编写: 为一个s i z e _t 类型的整数.要确定程 序6.3中字符串的长度,可以编写: w h i l e (s t r 2c o u n t 2) c o u n t 2+; 代码有点长,可 以简化如下: c o u n t 2 = s t r l e n (s t r 2);C入门经典(第4版) 入门经典( 6.4.3 使用库函数连接字符串程序6.3使用如下相当复

7、杂的代码,将第二个字符串复制到第一个字符串 程序6.p a g e 13使用如下相当复杂的代码,将第二个字符串复制到第一个字符串 的末尾: c o u n t 2 = 0; w h i l e (s t r 2c o u n t 2) s t r 1c o u n t 1+ = s t r 2c o u n t 2+; s t r 1c o u n t 1 = 0; 这里字符串库也做了一些简化.使用一个函数可以把一个字符串连接到 另一个 字符串上 .C入门经典(第4版) 入门经典( 6.4.4 比较字符串字符串库提供的函数还可以比较字符串,确定一个字符串是大于还是小 于另一个 字符串.字符串使

8、用“大于“和“小于“这样的术语听起来有点奇怪, 但是其结果相当简单 .两个字符串的比较是基于它们的字符码,如图6 但是其结果相当简单.两个字符串的比 较是基于它们的字符码,如图6-2所示, 图中的字符码显示为十六进制数 .C入门经典(第4版) 入门经典( 6.4.5 搜索字符串头文件声明了几个字符串搜索函数,但是在探讨它们之前,先 头文件声明了几个 字符串搜索函数,但是在探讨它们之前,先 了解下一章的主题指针,这里需要这些 基础知识,以理解如何使用字符串 了解下一章的主题指针,这里需要这些基础知识 ,以理解如何使用字符串 搜索函数 .C入门经典(第4版) 入门经典( 6. 5 分析和转换字符串

9、( 如果需要检查字符串内部的内容,可以使用在头文件(详见 第3 如果需要检查字符串内部的内容,可以使用在头文件(详见第3 章)中声 明的标准库函数.这些都是非常灵活的分析函数,可以测试有什么样 的字符.它们还独 立于计算机上的字符码 . 转换字符串 将字符串转换为数值C入门经典(第4版) 入门经典( 6.5.1 转换字符串t o u p p e r () 标准库还包含两个转换函数.函数t o u p p e r ()将 小写字母转换成 标准库还包含两个转换函数.函数t o u p p e r ()将小写字母转 换成 大写,函数t o l o w e r ()将大写字母转换成小写.这两个函数都返

10、回转换后的字符, 大写,函数t o l o w e r ()将大写字母转换成小写.这两个函数都返回转换后的字符, 如果字 母的大小写形式是正确的,就返回原来的字符.因此,以下这些语句可 以一个字符串转 换成大写: f o r (i n t i = 0 ; (b u f f e r i = t o u p p e r (b u f f e r i ) != 0 ; i +) ; C入门经典(第4版) 入门经典( 6.5.2 将字符串转换为数值头文件声明了一些能将字符串转换成数值的函数.表6 头文件声明了一些能将字 符串转换成数值的函数.表6-2中的每 个函数都需要一个指针参数,指向一个字符串或

11、包含字符串的字符数组,该字 符串代表一个数值 .C入门经典(第4版) 入门经典( 6.6 使用宽字符串w c h a r _t 使用宽字符串与使用前面的字符串一样简单.宽字符串存储在w c h a r _t 类使用宽字符串与使用前面的字符串一样简单.宽字符串存储在w c h a r _t 类 型的数组中 ,宽字符串常量只需在其前面加上L 型的数组中,宽字符串常量只需在其前面加上L修饰 符.因此,可以用如下方 式声明和初始化宽字符串: w c h a r _t p r o v e r b = L“A n o d i s a s g o o d a s a w i n k t o a b l i

12、n d h o r s e .“; h o r s e .“;.C入门经典(第4版) 入门经典( 6.7 设计一个程序本章就要结束了.剩下的就是利用前面所学的知识完成一个较大的程序. 本章就 要结束了.剩下的就是利用前面所学的知识完成一个较大的程序 问题 分析 解决方案C入门经典(第4版) 入门经典( 6.7.1 问题开发一个程序,从键盘上读取任意长度的一段文本,确定该文本中每个 单词的出 现频率(忽略大小写) 单词的出现频率(忽略大小写).该段文本的长度不完全是任意的 ,因为我们要 给程序中的数组大小指定一个限制,但可以使该数组存储任意大小的文本.C入门经典(第4版) 入门经典( 6.7.2

13、 分析要从键盘上读取一段文本,需要读取任意长度的输入行,把它们合并为 一个最终 包含整个段落的字符串.我们不希望截断输入行,所以f g e t s ()似乎是 一个最终包含整 个段落的字符串.我们不希望截断输入行,所以f g e t s ()似乎是 输入操作的首选函数.如 果在代码的开头定义一个符号,指定存储该段落的数 组大小,则只要改变该符号的定义 ,就可以改变程序的容量 .p a g e 2C入门经典(第4版) 入门经典( 6.7 解决方案本节列出解决问题的步骤.程序包含一系列相互独立的步骤.现在,实 现该程序的 方法受到目前已掌握的知识的限制,在学到第9 现该程序的方法受到目前已掌握的知

14、识 的限制,在学到第9章时,可以更高效 地完成这个程序 .C入门经典(第4版) 入门经典( 6.8 小结本章应用前几章所学的技术处理字符串的一般问题.字符串的问题和数 值数据类 型不同,或许稍微困难一些. 本章主要用数组处理字符串,也提到了指针.这些方法在处 理字符串时 更有弹性,下一章将介绍许多其他的方法 .11本文由泽五令贡献p p t 文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。C入门经典(第4版) 入门经典( 第06章 字符串和文本的应用 06章上一章介绍数组时,说明了如何使用数值数组方便地完成许多编程工作. 本章将 探讨如何使用字符数组,以扩展数组

15、知识.我们经常需要将文本字符串 用作一个实体, 不过C 用作一个实体,不过C语言没有提供字符串数据类型,这与其他编程语言不同. C 语言使用c h a r 类型的数组元素存储字符串 . 语言使用c h a r 类型的数组元素存储字符串C入门经典(第4版) 入门经典(6.1 什么是字符串字符串常量的例子非常常见.字符串常量是放在一对双引号中的一串字 符或符 号.一对双引号之间的任何内容都会被编译器视为字符串,包括特殊 字符和嵌入的空格 .每次使用p r i n t f ()显示信息时,就将该信息定义成字符串常 字符和嵌入的空格.每次 使用p r i n t f ()显示信息时,就将该信息定义成字

16、符串常 量了 .C入门经典(第4版) 入门经典( 6.2 处理字符串和文本的方法与其他编程语言不同,C 与其他编程语言不同,C语言对变量存储字符串的语法没 有特殊的规定, 而且C 而且C根本就没有字符串变量,也没有处理字符串的特殊运算符 .但这不成问 题,因为我们可以使用前面介绍的工具处理字符串 .C入门经典(第4版) 入门经典( 6.3 计算机绘图系统的硬件组成上例中的代码说明了确定字符串长度的机制,但还没有编写过代码.如 后面所述 ,标准库中的s t r l e n ()函数可以确定字符串的长度.知道了如何确定字 后面所述,标准 库中的s t r l e n ()函数可以确定字符串的长度.知道了如何确定字 符串的长度后,该如何 使用它? 符串的长度后,该如何使用它? 连接字符串 字符串数组C入门经典(第4版) 入门经典( 6.3.1 连接字符串把一个字符串连接到另一个字符串的尾部是很常见的需求.例如,把两 个或多个 字符串合成为一条信息.在程序中,将错误信息

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号