0
点赞
收藏
分享

微信扫一扫

C语言再学习 -- ctype.h字符判断函数


参看:ctype.h 百度百科

ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节(Byte)字符,也支持宽字符。

    ctype.h里的函数概况


1  字符测试函数


1> 函数原型均为int isxxxx(int)


2> 参数为int, 任何 实参均被提升成整型


3> 只能正确处理处于[0, 127]之间的值


2 字符映射函数


1> 函数原型为int toxxxx(int)


2> 对参数进行检测, 若符合范围则转换, 否则不变


int tolower(int); 'A'~'Z' ==> 'a'~'z'


int  toupper(int); 'a'~'z' ==> 'A'~'Z'


主要函数简介


isalpha



函数名称: isalpha



函数原型: int isalpha(char ch);



函数功能: 检查ch是否是字母.



函数返回: 是字母返回非0(在vs2015中为2) ,否则返回 0.



参数说明:



所属文件 <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          int          main()        


          {        


                   char          ch1=         '*'         ;        


                   char          ch2=         'a'         ;        


                   if         (         isalpha         (ch1)!=0)        


                   printf         (         "%c is the ASCII alphabet\n"         ,ch1);        


                   else        


                   printf         (         "%c is not the ASCII alphabet\n"         ,ch1);        


                   if         (         isalnum         (ch2)!=0)        


                   printf         (         "%c is the ASCII alphabet\n"         ,ch2);        


                   else        


                   printf         (         "%c is not the ASCII alphabet\n"         ,ch2);        


                   return0;        


          }





iscntrl



函数名称:  iscntrl



函数原型: int iscntrl(int ch);



函数功能: 检查ch是否 控制字符(其ASCII码在0和0x1F之间,数值为 0-31).



函数返回: 是返回非0,否则返回 0.



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          char          chars[]={         'A'         ,0x09,         'Z'         };        


          #define SIZE sizeof(chars)/sizeof(char)        


          int          main()        


          {        


                   int          i;        


                   for         (i=0;i<SIZE;i++)        


                   {        


                   printf         (         "Char%cis%saControlcharacter\n"         ,        


                   chars[i],(         iscntrl         (chars[i]))?         ""         :         "not"         );        


                   }        


                   return          0;        


          }





isdigit



函数名称: isdigit



函数原型: int isdigit(char ch);



函数功能: 检查ch是否是数字(0-9)



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          int          main()        


          {        


          char          ch1=         '1'         ;        


          char          ch2=         'a'         ;        


          if         (         isdigit         (ch1)!=0)        


          printf         (         "%c is the ASCII number\n"         ,ch1);        


          else        


          printf         (         "%c is not the ASCII number\n"         ,ch1);        


          if         (         isdigit         (ch2)!=0)        


          printf         (         "%c is the ASCII number\n"         ,ch2);        


          else        


          printf         (         "%c is not the ASCII number\n"         ,ch2);        


          return0;        


          }



[1]  





isgraph



函数名称: isgraph



函数原型: int isgraph(int ch);



函数功能: 检查ch是否可显示 字符(其ASCII码在0x21到0x7E之间),不包括空格



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          int          main()        


          {        


          charch1=         ''         ;        


          charch2=         'a'         ;        


          if         (         isgraph         (ch1)!=0)        


          printf         (         "%cistheASCIIprintablecharacter\n"         ,ch1);        


          else        


          printf         (         "%cisnottheASCIIprintablecharacter\n"         ,ch1);        


          if         (         isgraph         (ch2)!=0)        


          printf         (         "%cistheASCIIprintablecharacter\n"         ,ch2);        


          else        


          printf         (         "%cisnottheASCIIprintablecharacter\n"         ,ch2);        


          return0;        


          }





islower



函数名称: islower



函数原型: int islower(int ch);



函数功能: 检查ch是否小写字母(a-z)



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          charchars[]={         'A'         ,         'a'         ,         'z'         ,         'Z'         };        


          #defineSIZEsizeof(chars)/sizeof(char)        


          int          main()        


          {        


          int          i;        


          for         (i=0;i<SIZE;i++){        


          printf         (         "Char%cis%salowercasecharacter\n"         ,chars[i],(         islower         (chars[i]))?         ""         :         "not"         );        


          }        


          return0;        


          }





isupper



函数名称:  isupper



函数原型: int isupper(int ch);



函数功能: 检查ch是否是大写字母(A-Z)



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          charchars[]={         'A'         ,         'a'         ,         'z'         ,         'Z'         };        


          #defineSIZEsizeof(chars)/sizeof(char)        


          int          main()        


          {        


          inti;        


          for         (i=0;i<SIZE;i++){        


          printf         (         "Char%cis%sanuppercasecharacter\n"         ,        


          chars[i],(         isupper         (chars[i]))?         ""         :         "not"         );        


          }        


          return0;        


          }





tolower



函数名称: tolower



函数原型: int tolower(int ch);



函数功能: 将ch 字符转换为小写字母



函数返回: 返回ch所代表的字符的小写字母



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<stdlib.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charx=         'a'         ,y=         'b'         ,z=         'A'         ,w=         '*'         ;        


          printf         (         "Character%ctoloweris%c\n"         ,x,         tolower         (x));        


          printf         (         "Character%ctoloweris%c\n"         ,y,         tolower         (y));        


          printf         (         "Character%ctoloweris%c\n"         ,z,         tolower         (z));        


          printf         (         "Character%ctoloweris%c\n"         ,w,         tolower         (w));        


          return0;        


          }





toupper



函数名称: toupper



函数原型: int toupper(int ch);



函数功能: 将ch 字符转换成大写字母



函数返回: 与ch相应的大写字母



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<stdlib.h>        


          #include<ctype.h>        


          int          main()        


          {        


          charx=         'a'         ,y=         'b'         ,z=         'A'         ,w=         '*'         ;        


          printf         (         "Character%ctoupperis%c\n"         ,x,         toupper         (x));        


          printf         (         "Character%ctoupperis%c\n"         ,y,         toupper         (y));        


          printf         (         "Character%ctoupperis%c\n"         ,z,         toupper         (z));        


          printf         (         "Character%ctoupperis%c\n"         ,w,         toupper         (w));        


          return0;        


          }





isalnum



函数名称: isalnum



函数原型: int isalnum(int ch);



函数功能: 检查ch是否是字母或数字



函数返回: 是字母或数字返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charch1=         '*'         ;        


          charch2=         'a'         ;        


          if         (         isalnum         (ch1)!=0)        


          printf         (         "%cistheASCIInumberoralphebet\n"         ,ch1);        


          else        


          printf         (         "%cisnottheASCIInumbernoralphebet\n"         ,ch1);        


          if         (         isalnum         (ch2)!=0)        


          printf         (         "%cistheASCIInumberoralphebet\n"         ,ch2);        


          else        


          printf         (         "%cisnottheASCIInumbernoralphebet\n"         ,ch2);        


          return0;        


          }





isprint



函数名称: isprint



函数原型: int isprint(int ch);



函数功能: 检查ch是否是可打印 字符(包括空格),其ASCII码在0x20到0x7E之间



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charch1=         '\n'         ;        


          charch2=         'a'         ;        


          if         (isprint(ch1)!=0)        


          printf         (         "%cistheASCIIprintablecharcater\n"         ,ch1);        


          else        


          printf         (         "%cisnottheASCIIprintablecharcater\n"         ,ch1);        


          if         (isprint(ch2)!=0)        


          printf         (         "%cistheASCIIprintablecharcater\n"         ,ch2);        


          else        


          printf         (         "%cisnottheASCIIprintablecharcater\n"         ,ch2);        


          return0;        


          }





ispunct



函数名称: ispunct



函数原型: int  ispunct(int ch);



函数功能: 检查ch是否是标点 字符(不包括空格),即除字母,数字和空格以外的所有可打印字符



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charch1=         ','         ;        


          charch2=         'a'         ;        


          if         (ispunct(ch1)!=0)        


          printf         (         "%cistheASCIIpunct\n"         ,ch1);        


          else        


          printf         (         "%cisnottheASCIIpunct\n"         ,ch1);        


          if         (ispunct(ch2)!=0)        


          printf         (         "%cistheASCIIpunct\n"         ,ch2);        


          else        


          printf         (         "%cisnottheASCIIpunct\n"         ,ch2);        


          return0;        


          }





isspace



函数名称: isspace



函数原型: int isspace(int ch);



函数功能: 检查ch是否是 空格符和跳格符( 控制字符)或换行符



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charch1=         ''         ;        


          charch2=         'a'         ;        


          if         (         isspace         (ch1)!=0)        


          printf         (         "%cisthespacecharcater\n"         ,ch1);        


          else        


          printf         (         "%cisnotthespacecharcater\n"         ,ch1);        


          if         (         isspace         (ch2)!=0)        


          printf         (         "%cisthespacecharcater\n"         ,ch2);        


          else        


          printf         (         "%cisnotthespacecharcater\n"         ,ch2);        


          return0;        


          }





isxdigit



函数名称: isxdigit



函数原型: int  isxdigit(int ch);



函数功能: 检查ch是否是一个16进制数学 字符(即0-9,或A-F,或a-f)



函数返回: 是返回非0,否则返回0



参数说明:



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          intmain()        


          {        


          charch1=         '1'         ;        


          charch2=         'a'         ;        


          if         (         isxdigit         (ch1)!=0)        


          printf         (         "%cistheASCIIhexadecimalnumber\n"         ,ch1);        


          else        


          printf         (         "%cisnottheASCIIhexadecimalnumber\n"         ,ch1);        


          if         (         isxdigit         (ch2)!=0)        


          printf         (         "%cistheASCIIhexadecimalnumber\n"         ,ch2);        


          else        


          printf         (         "%cisnottheASCIIhexadecimalnumber\n"         ,ch2);        


          return0;        


          }





isascii



函数名称:  isascii



函数原型: int isascii(int ch)



函数功能: 测试参数是否是ASCII码0-127



函数返回: 是返回非0,否则返回0



参数说明: ch-被测参数



所属文件: <ctype.h>

#include<stdio.h>        


          #include<ctype.h>        


          charchars[]={         'A'         ,0x80,         'Z'         };        


          #defineSIZEsizeof(chars)/sizeof(char)        


          intmain()        


          {        


          inti;        


          for         (i=0;i<SIZE;i++)        


          {        


          printf         (         "Char%cis%sanASCIIcharacter\n"         ,        


          chars[i],(isascii(chars[i]))?         ""         :         "not"         );        


          }        


          return0;        


          }



isblank



函数名称:  isblank



函数原型: int isblank(int ch)



函数功能: 测试参数是否是一个标准的空白字符(空格、水平制表符或者换行)或者任何其他本地化指定为空白符的字母



函数返回: 是返回非0,否则返回0



参数说明: ch-被测参数



所属文件: <ctype.h>


举报

相关推荐

0 条评论