C语言程序设计课件第9章.ppt
《C语言程序设计课件第9章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件第9章.ppt(18页珍藏版)》请在三一办公上搜索。
1、2023/7/1,1,高级语言程序设计,第九章 字符串,主讲:计算机学院 朱立华,2023/7/1,3,内容提要,本章介绍字符串的存储与处理的相关知识,掌握以下内容:字符串常量在内存中的存储方式,所占字节数字符串如何利用字符数组和字符指针进行赋值、输入和输出专门用于处理字符串的几个常用函数的原型及实现字符串的应用很广泛,掌握以下两种应用并能举一反三解决其他相关问题:读入字符串并执行相应的类型转换判断回文,2023/7/1,4,字符串的定义与存储,哪里需要字符串?文本处理的对象是字符串,描述对象的某一特征的数据也常常是字符串(如:姓名、学号、地址、车牌等)C语言中不提供专门的字符串类型,借助于字
2、符数组和字符指针存储和处理字符串什么是字符串:字符串是0个或多个有效字符序列 串长:字符串中的有效字符个数在源程序中,字符串字面值常量以双引号(不计入串长)为定界符存储空间大小:在所存的字符串后面自动加字符0作为结束标志,因此存储空间大小=串长+1,指系统允许使用的字符,包括字母、数字字符、专用字符和转义字符,2023/7/1,5,字符串的定义与存储,字符串常量存储在const字符数组中,例如:china BASICa 区别以下两组:(1)空串(长度为0)与空格串(长度为1)(2)字符常量a与字符串常量a 如果串中含有双引号字符,则双引号要用转义字符,2023/7/1,6,字符串的赋值,C语言
3、没有专门的字符串类型,字符串的操作是用一维字符数组和一级字符指针来实现的。字符串字面值常量可以用来给字符数组或字符指针作初始化:char s18=“china”;/将“china”的每一个字符(包括串结束符)逐一赋值给数组s1的各元素 char s2=3.1416;/相当于char s27=3.1416;char*ps=structure;/系统首先创建const字符型数组存储structure,然后将存储空间的起始地址赋给字符指针变量ps,ps,2023/7/1,7,字符串的赋值,字符串字面值常量只能给字符指针赋值却不能给字符数组赋值:例:char s18;s1=china;char*ps;
4、ps=structure;串指针:字符串均有0字符作为结束标志,故只要知道串的第一个字符的地址,就可以找到字符串。上例中的串指针常量s1和串指针变量ps都可代表字符串再论一维字符数组名的3种含义,例:char s18=china;(1)代表第一个数组元素的地址,例:printf(%cn,*s1);(2)代表整个数组空间,例:printf(%dn,sizeof(s1);(3)代表字符串,例:printf(%sn,s1);,错误,字符数组名s1是指针常量,不能被赋值,正确,将串常量structure存储空间的起始地址赋给字符指针变量ps,2023/7/1,8,字符串的输入/输出,字符串的输入和输出
5、有3种基本方法:例如有定义:char a10,b10,c10;char i;方法(1):利用格式控制字符%c用循环逐字符处理,例:for(i=0;i10;i+)scanf(“%c”,/输出字符串,并自动换行,逐字符输入,逐字符输出,数组名已是地址,不能再加取地址符&,函数原型char*gets(char*ps);可读入带空格的字符串,存入指针参量指向的字符数组,并将换行符n转为串结束符0,函数返回值是串指针ps。,函数原型int puts(const char*ps);在显示器上输出字符串ps,串结束符被译为换行,函数返回值是换行符的代码10,函数执行失败时的函数返回值是-1。,2023/7/
6、1,9,字符串的输入/输出,注意:用字符指针也可操作字符串,但是必须保证每一种操作时指针都是有确定地址的,避免使用野指针例:char*ps;gets(ps);字符串的输入和输出几种方法的比较与分析:方法(1)比较麻烦,一般很少使用输入:scanf(“%s”,a);与gets(a);相比,前者读入串时以空白符(空格、Tab、回车),故无法读入含空格的串;后者可以读入含空格的串输出:printf(“%s”,a);与puts(a);相比,前者一次可以输出若干个字符串;后者一次只能输出一个串并自动换行,危险!此时的ps是“野”指针,2023/7/1,10,字符串处理函数的原型,以下是字符串处理函数原型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件
链接地址:https://www.31ppt.com/p-5379249.html