字符与字符串.pptx
《字符与字符串.pptx》由会员分享,可在线阅读,更多相关《字符与字符串.pptx(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、字符测试函数 在程序设计中经常需要对字符和字符串进行处理,C语言中内置了许多与字符和字符串操作相关的库函数,本章将分别介绍字符测试函数,字符串转换函数,字符串比较函数,字符串复制函数,字符串清理与填充函数,字符串查找函数以及字符串的连接与分割函数。所谓字符测试,是指对一个字符进行大小写、是否可以打印、是否可以显示、是否是数字等方面进行判断。C程序提供了丰富的字符测试函数,这些函数原型在头文件“ctype.h”中定义,使用这些函数之前需要包含此头文件。数字或字母测试函数isalnum:函数isalnum的作用,是检查参数c是否为英文字母或阿拉伯数字。若参数c是一个字母或数字,则返回真值,否则返回
2、为假。这个函数包含于头文件“ctype.h”中,使用方法如下所示。01int isalnum(int c)提示:参数c是一个字符变量。但在C程序中,字符变量等同于这个变量所对应的ASCII码的值,所以参数也可以是一个ASCII码值的整形数值。第1页/共47页字符测试函数第2页/共47页字符测试函数函数字母测试函数isalpha:函数isalpha可以测试一个字符是不是英文字母。这个函数的使用方法如下所示。01int isalpha(int c)函数的参数c是一个字母或是表示一个字母的ASCII码值。如果这个参数是一个英文字母,则返回真值,否则返回为假。这里所说的英文字母,指的是26个大写字母和
3、26个小写字母,而不包括其它的任何符号。下面的程序,是对一个字符数组中的每一个字符进行测试,如果是字母则输出结果。第3页/共47页字符测试函数函数第4页/共47页字符测试函数函数可打印字符测试函数isgraph:所谓可打印字符,指的是这个字符可以在屏幕上显示,或是可以在打印机中打印出这个字符。ASCII码中的有些字符,是用于格式控制或特殊作用,是不可以打印的。可打印字符包括字母、数字、标点符号、键盘上可打印符号等。函数isgraphis的作用是判断一个字符是否是可打印字符,使用方法可下所示。01int isgraph(int c)参数c是一个字符,或是表示一个字符的ASCII码值。如果参数是一
4、个可打印字符,则返回一个真值,则否返回为假。下面的代码,是使用这个函数判断字符可否打印的实例。第5页/共47页字符测试函数函数第6页/共47页字符测试函数函数测试大小写字母函数islower和isupper:函数lower用于测试一个字符是不是小写字符,isupper用于测试一个字符是不是大写字符。这两个函数的使用方法如下所示。01int islower(int c)02int isupper(int c)在函数islower中,参数c是一个字符,如果这个参数是一个小写字母,函数就返回真值,否则返回为假。函数isupper的用法与islower相似。下面是一个判断字符大小写的实例,判断一个字符
5、数组中有哪些小写字母与大写字母。第7页/共47页字符测试函数函数第8页/共47页字符测试函数函数测试是否是数字isxdigit:函数isxdigit可以测试一个字母是不是0到9之间的阿拉伯数字。这个函数的使用方法如下所示。01int isdigit(int c)这个函数的参数c是一个字符,或者是ASCII码表中的一个编号。函数对这个字符进行判断,如果是一个阿拉伯数字则返回一个真假,否则返回值为假。下面是一个isxdigit函数的使用实例,对判断一个字符数组中的字符,如果是数字则输出结果。程序的代码如下所示。第9页/共47页字符测试函数函数测试字符是否为符号函数ispunct:函数ispunct
6、可以测试一个字符是否为标点符号或特殊符号。这个函数的使用方法如下所示。01int ispunct(int c)函数的参数c是需要测试的字符,或是ASCII码表中用来表示这个字符的编号。函数对这个字符进行测试,如果是一个标点符号或特殊字符,则返回一个真值。否则返回值为假。下面是这个函数的使用实例,对一个字符数组中的特殊字符进行测试并输出。第10页/共47页字符测试函数函数其它字符测试函数:除了上面讲解的这些字符测试函数以外,还有空格测试、可否打印测试、控制字符测试等函数。这些函数的使用方法和上面这些函数的使用方法是相似的。如果需要对程序中的字符进行类型测试,需要在程序的最前面包含头文件ctype
7、.h。这些函数的功能与使用方法如表10.1所示。第11页/共47页字符串转换函数字符串转换函数所谓字符串的转换,指的是把字符串转换成整型、浮点型等数据类型,或者进行大小写转换。在C程序中,并没有字符串这一数据类型。这里所说的字串,实际上是一个字符数组。字符串通常是保存在一个字符数组中的,可以用这个数组的名称或这个数组的头指针定义一个字符串。可以用下面的方法来定义一个字符串。01char a50;02char b;可以用下面的方法对字符串进行赋值。01char a50=”asdfgh”;02char b=”ASDFG”;也可以真接定义一个指向定符的指针,对这个指针赋值为一个字符串,这种方法如下所
8、示。01char*a=”asdfg”;02char*b;03*b=”ASDFG”;但是下面这种方法,先定义一个数组,然后用另一个语句赋值为字符串,这种方法是错误的。01char a50;02a=”asdfg”;如果需要在数组定义以后,在后面的程序中进行赋值,可以用键盘输入的方法,代码如下所示。01char a50;02scanf(“%s”,a);第12页/共47页字符串转换函数字符串转换函数第13页/共47页字符串转换函数字符串转换函数字符串转换成浮点型函数atof:函数atof的作用是将一个字符串转换成一个浮点型变量。函数的使用方法如下所示。01double atof(char*nptr);
9、函数的参数*nptr是一个字符串,函数可以把字符串转换成一个浮点型数,然后返回。在处理字符串时,跳过前面的空格,遇上数字或正负符号才开始做转换,一直到字符串的结尾。如果字符串中有字母或其他其它符号,函数会去除这个字符和这个字符以后的内容。下面是这一个函数的使用实例,需要注意的是字符串中字母的处理情况。第14页/共47页字符串转换函数字符串转换函数第15页/共47页字符串转换函数字符串转换函数字符串转换成整型函数atoi:函数atoi的作用是将一个字符串转换成一个整型数,使用方法如下所示。01int atoi(char*nptr);参数nptr是一个字符串的指针。函数会扫描这个字符串,如果字符串
10、前面有空格则跳过空格。从每一个字符直到字符串结束,如果字符串中有其它字符,则去除这个字符与这个字符以后的内容。如果字符串中有小数点,则去除小数点以后的内容。下面是使用atoi函数将字符串转换成整型变量的实例。第16页/共47页字符串转换函数字符串转换函数第17页/共47页字符串转换函数字符串转换函数字符串转换成长整型函数atol:函数atol的作用是将一个字符串转换成长整型数,使用方法如下所示。01long atol(char*nptr);参数nprt字符串的指针,函数atol会把这个字符串转换成一个长整型数返回。对0和字母的处理方式与10.3.2小节中的atof函数是相同的。下面是使用函数a
11、tol将一个字符串转换成整型数的实例。第18页/共47页字符串转换函数字符串转换函数第19页/共47页字符串转换函数字符串转换函数将浮点型转换成字符串函数ecvt:函数ecvt可以将一个浮点型数转换成一个字符串,这个函数的使用方法如下所示。01char*ecvt(double number,int ndigits,int*decpt,int*sign)这个函数参数与返回值的作用如下所示。1.number:是一个double型的浮点数,函数需要对这个浮点数进行转换。2.ndigits:在浮点数中从左向右取的位数。3.decpt:是一个整型数的指针,显示浮点数中小数点在第几位。4.sign:是一个
12、整型数的指针。代表数值的正与负,如果为正则返回0,否则返回1。函数的返回值是一个指向字符串的指针。下面的代码,是使用函数ecvt将浮点型数转换成整型的实例。第20页/共47页字符串转换函数字符串转换函数第21页/共47页字符串转换函数字符串转换函数字母的大写小转换函数tolower和toupper:函数tolower可以把一个大写字母转换成小写字母,函数toupper可以把一个小写字母转换成大写字母。这两个函数的使用方法如下所示。01int tolower(int c)02int toupper(int c)参数c是需要进行转换的字母。函数tolower可以把一个大写字母转换成小写字母。如果这
13、个字母是小写字母或其它符号,则不进行转换直接返回。返回值是一个字符。下面的实例是用这两个函数进行大小写转换实例。第22页/共47页字符串转换函数字符串转换函数第23页/共47页字符串转换函数字符串转换函数其它字符串转换函数:除了上面的字符串转换函数以外,还有二进制转换、十六进制转换等函数。这些函数的使用方法和上面这些函数的使用方法是相似的。第24页/共47页字符串比较函数字符串比较函数字符串比较指的是比较两个字符串的大小、是否相同等操作。常用函数有bcmp、memcmp、strcmp、strncasecmp等。字符串比较函数bcmp:函数bcmp用来比较两个字符串的前n个字节是否相同。如果相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符 字符串
限制150内