第9章文本信息处理与字符串.ppt_第1页
第9章文本信息处理与字符串.ppt_第2页
第9章文本信息处理与字符串.ppt_第3页
第9章文本信息处理与字符串.ppt_第4页
第9章文本信息处理与字符串.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 第9章文本信息处理与字符串 2020年2月23日 问题 输入一个以回车结束的字符串 少于10个字符 它由数字字符组成 将该字符串转换成整数后输出 课题引入 2020年2月23日 本章学习要点 什么是字符串 字符串结束符的作用是什么 如何实现字符串的存储和操作 包括字符串的输入和输出 怎样理解C语言将字符串作为一个特殊的一维字符数组 2020年2月23日 9 1字符类型及其变量 charch1 ch2 例如 ch1 a ch2 0 2020年2月23日 表9 1C的转义字符及其含义 2020年2月23日 9 2字符数组与字符串 1一维字符数组字符串的存储和运算可以用一维字符数组实现charstr 80 定义一个含有80个字符型元素的数组strchart 5 H a p p y 初始化数组t 输出数组t的所有元素for i 0 i 5 i putchar t i 2020年2月23日 chart 5 H a p p y chars 6 H a p p y 0 0代表字符 0 也就是ASCII码为0的字符chars 6 H a p p y 0 2020年2月23日 2字符串 字符串常量用一对双引号括起来的字符序列一个字符串结束符 0 Happy 6个字符 H a p p y 0 有效字符 字符串结束符 字符串的有效长度 有效字符的个数 2020年2月23日 3 字符串与一维字符数组 字符串 一个特殊的一维字符数组把字符串放入一维字符数组 存储 对字符串的操作 对字符数组的操作 1 字符串的存储 数组初始化 字符串可以存放在一维字符数组中chars 6 H a p p y 0 字符数组初始化 用字符串常量chars 6 Happy chars 6 Happy 数组长度 字符串的有效长度 1chart 5 Happy 能存入t吗 2020年2月23日 chars 80 Happy 第一个 0 前面的所有字符和 0 一起构成了字符串 Happy 0 之后的其他数组元素与该字符串无关 字符串由有效字符和字符串结束符 0 组成 2020年2月23日 2 字符数组的输入和输出 1 采用 c 格式符 逐个输入输出 例chars 6 Happy 若执行 printf c s 5 2 采用 s 格式符 整个字符串一次输入输出 printf s s 2020年2月23日 9 3常用字符串处理函数 1 gets字符串输入函数 调用形式 gets 字符数组 功能 从终端输入一个字符串数组 并且得到一个函数值 该函数的返回值是字符数组的起始地址 chars 6 gets s 2020年2月23日 2 puts字符串输出函数 调用形式 puts 字符串 功能 将一字符串 以 0 为结束符 输出到终端 chars 6 Happy printf s s 等价于puts s 2020年2月23日 3 strcmp字符串比较函数 调用形式 strcmp 字符串1 字符串2 功能 将两个字符串从左至右逐个进行比较 按ASCII码值大小比较 直到出现不同的字符或遇到 0 为止 比较的结果由函数值返回 函数值 0 字符串1 字符串2 函数值 0 字符串1 字符串2 函数值 0 字符串1 字符串2 2020年2月23日 调用形式 strcpy 字符数组1 字符串2 或 strcpy 字符数组1 字符串2 n 功能 将字符串2拷贝到字符数组1中去 例如 chars1 6 Happy s2 6 strcpy s2 s1 strcpy s2 s1 2 4 strcpy字符串拷贝函数 2020年2月23日 调用形式 strcat 字符数组1 字符数组2 功能 将字符数组2中字符串接到字符数组1中字符串的后面 结果放在字符数组1中 函数的返回值是字符数组1的地址 例如 chars1 20 Happy s2 6 time strcat s1 s2 5 strcat字符串连接函数 2020年2月23日 6 strlen字符串长度测试函数 调用形式 strlen 字符串 功能 测试字符串的长度 函数的返回值为字符串的实际长度 不包括 0 例如 chars1 20 Happy intlength length strlen s1 2020年2月23日 7 strlwr字符串转换函数 调用形式 strlwr 字符串 功能 将字符串中大写字母转换成小写字母 8 strupr字符串转换函数 调用形式 strupr 字符串 功能 将字符串中的小写字母转换成大写字母 2020年2月23日 例1 有三个字符串 要求找出其中最大者CHINA HOME ACHINESE 字符数组应用举例 include includevoidmain chars 20 charstr 3 20 inti for i 0 i0 strcpy s str 0 elsestrcpy s str 1 if strcmp str 2 s 0 strcpy s str 2 printf nthelargeststringis s n s 2020年2月23日 例2 输入一个由若干单词组成的文本行 最多80个字符 每个单词之间用若干个空格隔开 统计此文本行中单词的个数 includevoidmain charstr 80 c inti num 0 word 0 printf Inputatextline gets str for i 0 c str i 0 i if c word 0 elseif word 0 word 1 num printf nThenumberofwordsis d num 2020年2月23日 输入一个以回车结束的字符串 少于80个字符 统计其中数字字符的个数 分析 数组长度取上限80以 n 做为输入结束符 例3统计字符 includeintmain void intcount i charstr 80 printf Enterastring i 0 while str i getchar n i str i 0 输入结束符 字符串结束符 count 0 for i 0 str i 0 i if str i 0 count printf count d n count return0 Enterastring It s512 count 3 能省略str i 0 吗 2020年2月23日 例3输入一个以回车结束的字符串 少于10个字符 它由数字字符组成 将该字符串转换成整数后输出 includeintmain void inti n chars 10 printf Enterastring 输入字符串 i 0 while s i getchar n i s i 0 n 0 将字符串转换为整数 for i 0 s i 0 i if s i 0 n n 10 s i 0 elsebreak printf digit d n n return0 Enterastring 123digit 123 2020年2月23日 9 4有关字符串的基本操作 把字符串放入一维字符数组 存储 对字符串的操作 对字符数组的操作普通字符数组 数组元素的个数是确定的 一般用下标控制循环字符串 没有显式地给出有效字符的个数 只规定在字符串结束符 0 之前的字符都是字符串的有效字符 一般用结束符 0 来控制循环循环条件 s i 0 2020年2月23日 计算字符串的有效长度 并输出该字符串 分析 字符串的有效长度 有效字符的个数数组中第一个 0 前面的字符个数 1 计算字符串的有效长度 includeintmain void inti 0 len charstr 80 Happy 初始化 for i 0 str i 0 i len i printf len d n len for i 0 str i 0 i 输出字符串 putchar str i return0 len 5Happy 2020

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论