<ctype.h> C语言标准库

简介:

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


ctype.h的C标准库的头文件里提供的声明几个实用的函数測试和字符映射。

 yiibai.com

全部的功能都接受int作为參数,其值必须是EOF或为unsigned char表示。

全部函数返回的參数c非零(true),假设满足条件。

否则返回0。

库函数

下面是在头文件ctype.h中定义的函数:

S.N. 函数及说明
1 int isalnum(int c) yiibai.com 
该函数检查传递的字符是否是字母数字。
2 int isalpha(int c)
该函数是否传递的字符是字母。
3 int iscntrl(int c) 
该函数是否传递的字符是控制字符。
4 int isdigit(int c)
该函数是否传递的字符是十进制数字。
5 int isgraph(int c) 
该函数是否传递的字符的图形表示,使用的语言环境。
6 int islower(int c)
该函数检查传递的字符是否是小写字母。
7 int isprint(int c) yiibai.com 
该函数检查传递的字符是否是可打印的。

8 int ispunct(int c)
该函数检查传递的字符是否是标点符号。
9 int isspace(int c) 
该函数检查传递的字符是否是空白。
10 int isupper(int c)
该函数检查传递的字符是否是大写字母。
11 int isxdigit(int c) 
该函数检查传递的字符是否是十六进制数字。

该库还包括两个转换函数。也接受并返回一个“整数”

S.N. 函数及说明
1 int tolower(int c) 
这个函数转换大写字母为小写。

2 int toupper(int c)
这个函数小写字母转换为大写。



 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
  函数原型: int isalpha(int ch);
  函数功能: 检查ch是否是字母.
  函数返回: 是字母返回非0 ,否则返回 0.
  參数说明:
  所属文件 <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1='*';
  char ch2='a';
  if(isalnum(ch1)!=0)
  printf("%c is the ASCII number or alphebet\n",ch1);
  else
  printf("%c is not the ASCII number nor alphebet\n",ch1);
  if(isalnum(ch2)!=0)
  printf("%c is the ASCII number or alphebet\n",ch2);
  else
  printf("%c is not the ASCII number nor alphebet\n",ch2);
  return 0;
  }
  @函数名称: iscntrl
  函数原型: int iscntrl(int ch);
  函数功能: 检查ch是否控制字符(其ASCII码在0和0x1F之间,数值为 0-31).
  函数返回: 是返回 1,否则返回 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 %c is %sa Control character\n",
  chars[i],(iscntrl(chars[i]))?"":"not");
  }
  return 0;
  }
  @函数名称: isdigit
  函数原型: int isdigit(int ch);
  函数功能: 检查ch是否是数字(0-9)
  函数返回: 是返回1,否则返回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);
  return 0;
  }
  @函数名称: isgraph
  函数原型: int isgraph(int ch);
  函数功能: 检查ch是否可显示字符(其ASCII码在ox21到ox7E之间),不包含空格
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1=' ';
  char ch2='a';
  if(isgraph(ch1)!=0)
  printf("%c is the ASCII printable character\n",ch1);
  else
  printf("%c is not the ASCII printable character\n",ch1);
  if(isgraph(ch2)!=0)
  printf("%c is the ASCII printable character\n",ch2);
  else
  printf("%c is not the ASCII printable character\n",ch2);
  return 0;
  }
  @函数名称: islower
  函数原型: int islower(int ch);
  函数功能: 检查ch是否小写字母(a-z)
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  char chars[]={'A','a','z','Z'};
  #define SIZE sizeof(chars)/sizeof(char)
  int main()
  {
  int i;
  for(i=0;i<SIZE;i++){
  printf("Char %c is %sa lowercase character\n",chars[i],(islower(chars[i]))?"":"not");
  }
  return 0;
  }
  @函数名称: tolower
  函数原型: int tolower(int ch);
  函数功能: 将ch字符转换为小写字母
  函数返回: 返回ch所代表的字符的小写字母
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <ctype.h>
  int main()
  {
  char x='a', y='b',z='A',w='*';
  printf("Character %c to lower is %c\n",x,tolower(x));
  printf("Character %c to lower is %c\n",y,tolower(y));
  printf("Character %c to lower is %c\n",z,tolower(z));
  printf("Character %c to lower is %c\n",w,tolower(w));
  return 0;
  }
  @函数名称: toupper
  函数原型: int toupper(int ch);
  函数功能: 将ch字符转换成大写字母
  函数返回: 与ch对应的大写字母
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <ctype.h>
  int main()
  {
  char x='a', y='b',z='A',w='*';
  printf("Character %c to upper is %c\n",x,toupper(x));
  printf("Character %c to upper is %c\n",y,toupper(y));
  printf("Character %c to upper is %c\n",z,toupper(z));
  printf("Character %c to upper is %c\n",w,toupper(w));
  return 0;
  }
  @函数名称: isalnum
  函数原型: int isalnum(int ch);
  函数功能: 检查ch是否是字母或数字
  函数返回: 是字母或数字返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1 ='*';
  char ch2 ='a';
  if(isalnum(ch1)!=0)
  printf("%c is the ASCII number or alphebet\n",ch1);
  else
  printf("%c is not the ASCII number nor alphebet\n",ch1);
  if(isalnum(ch2)!=0)
  printf("%c is the ASCII number or alphebet\n",ch2);
  else
  printf("%c is not the ASCII number nor alphebet\n",ch2);
  return 0;
  }
  @函数名称: isprint
  函数原型: int isprint(int ch);
  函数功能: 检查ch是否是可打印字符(包含空格),其ASCII码在ox20到ox7E之间
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1='\n';
  char ch2='a';
  if(isprint(ch1)!=0)
  printf("%c is the ASCII printable charcater\n",ch1);
  else
  printf("%c is not the ASCII printable charcater\n",ch1);
  if(isprint(ch2)!=0)
  printf("%c is the ASCII printable charcater\n",ch2);
  else
  printf("%c is not the ASCII printable charcater\n",ch2);
  return 0;
  }
  @函数名称: ispunct
  函数原型: int ispunct(int ch);
  函数功能: 检查ch是否是标点字符(不包含空格),即除字母,数字和空格以外的全部可打印字符
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include<ctype.h>
  int main()
  {
  char ch1=',';
  char ch2='a';
  if(ispunct(ch1)!=0)
  printf("%c is the ASCII punct\n",ch1);
  else
  printf("%c is not the ASCII punct\n",ch1);
  if(ispunct(ch2)!=0)
  printf("%c is the ASCII punct\n",ch2);
  else
  printf("%c is not the ASCII punct\n",ch2);
  return 0;
  }
  @函数名称: isspace
  函数原型: int isspace(int ch);
  函数功能: 检查ch是否是空格符和跳格符(控制字符)或换行符
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1=' ';
  char ch2='a';
  if(isspace(ch1)!=0)
  printf("%c is the space charcater\n",ch1);
  else
  printf("%c is not the space charcater\n",ch1);
  if(isspace(ch2)!=0)
  printf("%c is the space charcater\n",ch2);
  else
  printf("%c is not the space charcater\n",ch2);
  return 0;
  }
  @函数名称: isupper
  函数原型: int isupper(int ch);
  函数功能: 检查ch是否是大写字母(A-Z)
  函数返回: 是返回1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  char chars[]={'A','a','z','Z'};
  #define SIZE sizeof(chars)/sizeof(char)
  int main()
  {
  int i;
  for(i=0;i<SIZE;i++){
  printf("Char %c is %san uppercase character\n",
  chars[i],(isupper(chars[i]))?"":"not");
  }
  return 0;
  }
  @函数名称: isxdigit
  函数原型: int isxdigit(int ch);
  函数功能: 检查ch是否是一个16进制数学字符(即0-9,或A-F,或a-f)
  函数返回: 是返回 1,否则返回0
  參数说明:
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  int main()
  {
  char ch1='1';
  char ch2='a';
  if(isxdigit(ch1)!=0)
  printf("%c is the ASCII hexadecimal number\n",ch1);
  else
  printf("%c is not the ASCII hexadecimal number\n",ch1);
  if(isxdigit(ch2)!=0)
  printf("%c is the ASCII hexadecimal number\n",ch2);
  else
  printf("%c is not the ASCII hexadecimal number\n",ch2);
  return 0;
  }
  @函数名称: isascii
  函数原型: int isascii(int ch)
  函数功能: 測试參数是否是ASCII码0-127
  函数返回: 非零-是。0-不是
  參数说明: ch-被測參数
  所属文件: <ctype.h>
  #include <stdio.h>
  #include <ctype.h>
  char chars[]={'A',0x80,'Z'};
  #define SIZE sizeof(chars)/sizeof(char)
  int main()
  {
  int i;
  for(i=0;i<SIZE;i++)
  {
  printf("Char %c is %san ASCII character\n",
  chars[i],(isascii(chars[i]))?

"":"not");

  }
  return 0;

  }






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5135108.html,如需转载请自行联系原作者

相关文章
|
22小时前
|
程序员 编译器 C语言
C语言库函数 — 错误信息报告函数
C语言库函数 — 错误信息报告函数
20 0
|
22小时前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
33 0
|
22小时前
|
C语言
【C语言】库宏offsetof(结构体成员偏移量计算宏)
【C语言】库宏offsetof(结构体成员偏移量计算宏)
18 0
|
22小时前
|
安全 程序员 C语言
探索C语言库函数:字符串拷贝函数strcpy
探索C语言库函数:字符串拷贝函数strcpy
21 0
|
22小时前
|
C语言
模拟实现C语言中经典库函数,字符相关的函数与内存相关的函数
模拟实现C语言中经典库函数,字符相关的函数与内存相关的函数
模拟实现C语言中经典库函数,字符相关的函数与内存相关的函数
|
22小时前
|
C语言
C语言转义字符第二篇和strlen库函数的使用
C语言转义字符第二篇和strlen库函数的使用
|
22小时前
|
程序员 C语言
C语言什么是库函数 库函数怎么使用 为什么发明库函数
C语言什么是库函数 库函数怎么使用 为什么发明库函数
|
6月前
|
C语言
C语言常见库函数的模拟实现
C语言常见库函数的模拟实现
40 0
|
22小时前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
30 5
|
22小时前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
16 3

热门文章

最新文章