资料_电路哥课件c语言l13_字符串_第1页
资料_电路哥课件c语言l13_字符串_第2页
资料_电路哥课件c语言l13_字符串_第3页
资料_电路哥课件c语言l13_字符串_第4页
资料_电路哥课件c语言l13_字符串_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机程序设计基础第13讲字符串陈来军 清 华 大 学 电 机 系 2015.12.16主要内容CONTENTS计算机程序设计基础21. 字符串若干知识点2. 字符串输入输出及转换3. 例子:成语接龙4. 程序调试思路1. 字符串若干知识点 知识点1:字符串常量 字符串常量:一对双引号括起来的字符序列。 “Hello,World” C在每个字符串结尾处加上字符0 作为字符串结束标志 作用:传递参数时,不用指明字符串长度 举例 ”a” 包括两个字符:a, 0计算机程序设计基础31. 字符串若干知识点 知识点2:字符串存

2、储字符串采用字符数组来存储,以字符0作为结束标志。因此,字符串是一种特殊的字符数组。求字符串长度时不包括0.计算机程序设计基础41. 字符串若干知识点 例1程序输出是?sizeof(a)的结果是4, a是指向字符串常量的字符指针sizeof(*a2)的结果是1, *a2是第一个字符计算机程序设计基础51. 字符串若干知识点 例2char digit_to_hex_char(int digit)return 0123456789ABCDEFdigit;思考:程序的作用是?计算机程序设计基础61. 字符串若干知识点 知识点3:汉字字符 一个汉字,2个字符 汉字数目很多,需要用两个字节才能表示 从汉

3、字所占宽度也能看出计算机程序设计基础72. 字符串输入输出及转换 1. 相关函数scanf系列,以读到空格视为字符串结束gets系列,以读到回车符视为字符串结束计算机程序设计基础8作用函数字符串输入scanf, fscanf, gets, fgets字符串输出printf, fprintf, puts, fputs从字符串转换sscanf, atoi, atof转换为字符串sprintf2. 字符串输入输出及转换 2. 从字符串转换 sscanf函数计算机程序设计基础9fscanfsscanf作用类似将字符串转换成其他类型数据后输入用法类似fscanf( f1, “ %d,%d”, &k1,

4、&k2);sscanf( s1, “ %d,%d”, &k1,&k2);区别参数类型第一个参数是文件指针第一个参数是字符指针作用从文件读入从字符数组读入2. 字符串输入输出及转换 3. 更加简单的函数 atof, atoi系列 依赖 stdlib.h 作用: 将字符串转换为浮点数, 整数 使用举例:char temp100 = “123.4”;float fTemp = atof(temp);计算机程序设计基础102. 字符串输入输出及转换 例3:sscanf , fscanf 用法对比计算机程序设计基础112. 字符串输入输出及转换 例4: atof ,atoi 举例计算机程序设计基础122

5、. 字符串输入输出及转换 4. 转换为字符串 使用sprintf 函数计算机程序设计基础13fprintfsprintf作用类似将其他类型数据转换成字符串格式后输出用法类似fprintf( f1, “ %d,%d”, k1,k2);sprintf( s1, “ %d,%d”, k1,k2);区别参数类型第一个参数是文件指针第一个参数是字符指针作用输出到文件输出到字符数组2. 字符串输入输出及转换 例5:sprintf, fprintf 使用对比计算机程序设计基础142. 字符串输入输出及转换 5. 字符串操作1最常用计算机程序设计基础15作用函数备注字符串长度strlenString leng

6、th字符串拷贝strcpy,strncpyString copy字符串拼接strcat, strncatstring catenate字符串比较strcmp, strncmp stricmp,strnicmpString compare n,number, 指明比较字符个数i,指明不区分字母大小写case insensitive大小写转换strlwr, struprLower,upper2. 字符串输入输出及转换 例6:strlen计算机程序设计基础162. 字符串输入输出及转换 例7:strcat strcpy计算机程序设计基础172. 字符串输入输出及转换 例8:strncpy计算机程序设

7、计基础182. 字符串输入输出及转换 例9:strncat计算机程序设计基础192. 字符串输入输出及转换 例10:strncmpstrnicmp计算机程序设计基础202. 字符串输入输出及转换 6. 字符串操作2较常用计算机程序设计基础21作用函数备注字符串找子字符串strstr( const char *string, const char *strCharSet )找到 strCharSet 在string中的位置,返回为指针字符串中找指定字符strchr(const char *string, int c ), strrchr找到c在string中的位置, 返回为指针。r , righ

8、t,从右边找字符串中找指定字符集中的字符strcspn( const char *s1, const char *s2 );返回s1中第一个在s2中的字符的位置字符串中找不在指定字符集中的字符strspn (const char*s1,const char * s2)返回s1中第一个不在s2 中的字符位置字符串分解strtok2. 字符串输入输出及转换 例11:strtok计算机程序设计基础223. 例子:成语接龙示例: 一马当先 先发制人 人山人海数据如何存储?完成该任务,需要编写哪些函数?计算机程序设计基础233. 例子:成语接龙 数据如何存储? 成语接龙.txt 空格分开 思路一:存放成

9、语的数组,每格元素均为一个成语的字符数组,遍历查找成语的首个汉字; 思路二:所有成语,读入到一个大的字符数组中,对其进行查找、判断;计算机程序设计基础243. 例子:成语接龙 总的思路:步骤分解 第1步: 提示用户输入并读入成语 第2步:判读用户输入成语是否正确 看成语是否在成语库中 如果不在库中,打印信息,程序终止以该汉字开头的成语 如果找不到,打印信息,程序终止 第5步:输出成语,并返回第1步计算机程序设计基础253. 例子:成语接龙 总的思路:步骤分解 第1步: 提示用户输入并读入成语 void InputIdiom(char *input, int len); 第2步:判读用户输入成语

10、是否正确 如果不对,打印信息,程序终止 int IsBeginingWith(char *input, char *beginningWord) ; 第3步:找到成语结尾汉字 void GetEndingWord(char *input, char *endingWord, int len); 第4步:找到以该汉字开头的成语 如果找不到,打印信息,程序终止 intfindIdiom_BeginWithWord(char *chArray, char*searchingWord, char *idiom, int len);计算机程序设计基础263. 例子:成语接龙 Task 1.1 读入文本文件“成语接龙.txt”中的所有字符

温馨提示

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

评论

0/150

提交评论