C 标准库的ctype.h头文件提供了一些函数,可用于测试和映射字符。
这些函数接受int作为参数,它的值必须是 EOF 或表示为一个无符号字符。
如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。
库函数
下面列出了头文件 ctype.h 中定义的函数:
实例
下面的实例演示了 isalnum() 函数的用法。
#include
#include
intmain()
{
intvar1='d';
intvar2='2';
intvar3='\t';
intvar4=' ';
if(isalnum(var1) )
{
printf("var1 = |%c| 是字母数字\n",var1);
}
else
{
printf("var1 = |%c| 不是字母数字\n",var1);
}
if(isalnum(var2) )
{
printf("var2 = |%c| 是字母数字\n",var2);
}
else
{
printf("var2 = |%c| 不是字母数字\n",var2);
}
if(isalnum(var3) )
{
printf("var3 = |%c| 是字母数字\n",var3);
}
else
{
printf("var3 = |%c| 不是字母数字\n",var3);
}
if(isalnum(var4) )
{
printf("var4 = |%c| 是字母数字\n",var4);
}
else
{
printf("var4 = |%c| 不是字母数字\n",var4);
}
return();
}
让我们编译并运行上面的程序,这将产生以下结果:
var1=|d|是字母数字
var2=|2|是字母数字
var3=||不是字母数字
var4=||不是字母数字
下面的实例演示了 isalpha() 函数的用法。
#include
#include
int main()
{
int var1 = 'd';
int var2 = '2';
int var3 = '\t';
int var4 = ' ';
if( isalpha(var1) )
{
printf("var1 = |%c| 是一个字母\n", var1 );
}
else
{
printf("var1 = |%c| 不是一个字母\n", var1 );
}
if( isalpha(var2) )
{
printf("var2 = |%c| 是一个字母\n", var2 );
}
else
{
printf("var2 = |%c| 不是一个字母\n", var2 );
}
if( isalpha(var3) )
{
printf("var3 = |%c| 是一个字母\n", var3 );
}
else
{
printf("var3 = |%c| 不是一个字母\n", var3 );
}
if( isalpha(var4) )
{
printf("var4 = |%c| 是一个字母\n", var4 );
}
else
{
printf("var4 = |%c| 不是一个字母\n", var4 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |d| 是一个字母
var2 = |2| 不是一个字母
var3 = | | 不是一个字母
var4 = | | 不是一个字母
下面的实例演示了 iscntrl() 函数的用法。
#include
#include
intmain()
{
inti=,j=;
charstr1[]="all \a about \t programming";
charstr2[]="w3cschool \n tutorials";
/* 输出字符串直到控制字符 \a */
while(!iscntrl(str1[i]) )
{
putchar(str1[i]);
i++;
}
/* 输出字符串直到控制字符 \n */
while(!iscntrl(str2[j]) )
{
putchar(str2[j]);
j++;
}
return();
}
让我们编译并运行上面的程序,这将产生以下结果:
allw3cschool
下面的实例演示了 isdigit() 函数的用法。
#include
#include
int main()
{
int var1 = 'h';
int var2 = '2';
if( isdigit(var1) )
{
printf("var1 = |%c| 是一个数字\n", var1 );
}
else
{
printf("var1 = |%c| 不是一个数字\n", var1 );
}
if( isdigit(var2) )
{
printf("var2 = |%c| 是一个数字\n", var2 );
}
else
{
printf("var2 = |%c| 不是一个数字\n", var2 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |h| 不是一个数字
var2 = |2| 是一个数字
下面的实例演示了 isgraph() 函数的用法。
#include
#include
int main()
{
int var1 = '3';
int var2 = 'm';
int var3 = ' ';
if( isgraph(var1) )
{
printf("var1 = |%c| 是可打印的\n", var1 );
}
else
{
printf("var1 = |%c| 是不可打印的\n", var1 );
}
if( isgraph(var2) )
{
printf("var2 = |%c| 是可打印的\n", var2 );
}
else
{
printf("var2 = |%c| 是不可打印的\n", var2 );
}
if( isgraph(var3) )
{
printf("var3 = |%c| 是可打印的\n", var3 );
}
else
{
printf("var3 = |%c| 是不可打印的\n", var3 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |3| 是可打印的
var2 = |m| 是可打印的
var3 = | | 是不可打印的
下面的实例演示了 islower() 函数的用法。
#include
#include
int main()
{
int var1 = 'Q';
int var2 = 'q';
int var3 = '3';
if( islower(var1) )
{
printf("var1 = |%c| 是小写字母\n", var1 );
}
else
{
printf("var1 = |%c| 不是小写字母\n", var1 );
}
if( islower(var2) )
{
printf("var2 = |%c| 是小写字母\n", var2 );
}
else
{
printf("var2 = |%c| 不是小写字母\n", var2 );
}
if( islower(var3) )
{
printf("var3 = |%c| 是小写字母\n", var3 );
}
else
{
printf("var3 = |%c| 不是小写字母\n", var3 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |Q| 不是小写字母
var2 = |q| 是小写字母
var3 = |3| 不是小写字母
下面的实例演示了 isprint() 函数的用法。
#include
#include
int main()
{
int var1 = 'k';
int var2 = '8';
int var3 = '\t';
int var4 = ' ';
if( isprint(var1) )
{
printf("var1 = |%c| 是可打印的\n", var1 );
}
else
{
printf("var1 = |%c| 是不可打印的\n", var1 );
}
if( isprint(var2) )
{
printf("var2 = |%c| 是可打印的\n", var2 );
}
else
{
printf("var2 = |%c| 是不可打印的\n", var2 );
}
if( isprint(var3) )
{
printf("var3 = |%c| 是可打印的\n", var3 );
}
else
{
printf("var3 = |%c| 是不可打印的\n", var3 );
}
if( isprint(var4) )
{
printf("var4 = |%c| 是可打印的\n", var4 );
}
else
{
printf("var4 = |%c| 是不可打印的\n", var4 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |k| 是可打印的
var2 = |8| 是可打印的
var3 = || 是不可打印的
var4 = | | 是可打印的
下面的实例演示了 ispunct() 函数的用法。
#include
#include
int main()
{
int var1 = 't';
int var2 = '1';
int var3 = '/';
int var4 = ' ';
if( ispunct(var1) )
{
printf("var1 = |%c| 是标点符号字符\n", var1 );
}
else
{
printf("var1 = |%c| 不是标点符号字符\n", var1 );
}
if( ispunct(var2) )
{
printf("var2 = |%c| 是标点符号字符\n", var2 );
}
else
{
printf("var2 = |%c| 不是标点符号字符\n", var2 );
}
if( ispunct(var3) )
{
printf("var3 = |%c| 是标点符号字符\n", var3 );
}
else
{
printf("var3 = |%c| 不是标点符号字符\n", var3 );
}
if( ispunct(var4) )
{
printf("var4 = |%c| 是标点符号字符\n", var4 );
}
else
{
printf("var4 = |%c| 不是标点符号字符\n", var4 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |t| 不是标点符号字符
var2 = |1| 不是标点符号字符
var3 = |/| 是标点符号字符
var4 = | | 不是标点符号字符
下面的实例演示了 isspace() 函数的用法。
#include
#include
int main()
{
int var1 = 't';
int var2 = '1';
int var3 = ' ';
if( isspace(var1) )
{
printf("var1 = |%c| 是空白字符\n", var1 );
}
else
{
printf("var1 = |%c| 不是空白字符\n", var1 );
}
if( isspace(var2) )
{
printf("var2 = |%c| 是空白字符\n", var2 );
}
else
{
printf("var2 = |%c| 不是空白字符\n", var2 );
}
if( isspace(var3) )
{
printf("var3 = |%c| 是空白字符\n", var3 );
}
else
{
printf("var3 = |%c| 不是空白字符\n", var3 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |t| 不是空白字符
var2 = |1| 不是空白字符
var3 = | | 是空白字符
下面的实例演示了 isupper() 函数的用法。
#include
#include
int main()
{
int var1 = 'M';
int var2 = 'm';
int var3 = '3';
if( isupper(var1) )
{
printf("var1 = |%c| 是大写字母\n", var1 );
}
else
{
printf("var1 = |%c| 不是大写字母\n", var1 );
}
if( isupper(var2) )
{
printf("var2 = |%c| 是大写字母\n", var2 );
}
else
{
printf("var2 = |%c| 不是大写字母\n", var2 );
}
if( isupper(var3) )
{
printf("var3 = |%c| 是大写字母\n", var3 );
}
else
{
printf("var3 = |%c| 不是大写字母\n", var3 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |M| 是大写字母
var2 = |m| 不是大写字母
var3 = |3| 不是大写字母
下面的实例演示了 isxdigit() 函数的用法。
#include
#include
int main()
{
char var1[] = "tuts";
char var2[] = "0xE";
if( isxdigit(var1[0]) )
{
printf("var1 = |%s| 是十六进制数字\n", var1 );
}
else
{
printf("var1 = |%s| 不是十六进制数字\n", var1 );
}
if( isxdigit(var2[0] ))
{
printf("var2 = |%s| 是十六进制数字\n", var2 );
}
else
{
printf("var2 = |%s| 不是十六进制数字\n", var2 );
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
var1 = |tuts| 不是十六进制数字
var2 = |0xE| 是十六进制数字
标准库还包含了两个转换函数,它们接受并返回一个 "int"
下面的实例演示了 tolower() 函数的用法。
#include
#include
int main()
{
int i = 0;
char c;
char str[] = "W3CSCHOOL TUTORIALS";
while( str[i] )
{
putchar(tolower(str[i]));
i++;
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
w3cschool tutorials
下面的实例演示了 toupper() 函数的用法。
#include
#include
int main()
{
int i = 0;
char c;
char str[] = "W3Cschool Tutorials";
while(str[i])
{
putchar (toupper(str[i]));
i++;
}
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
W3CSCHOOL TUTORIALS
字符类
最编程,懂编程,更懂世界!
领取专属 10元无门槛券
私享最新 技术干货