博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言的字符测试函数
阅读量:7069 次
发布时间:2019-06-28

本文共 7168 字,大约阅读时间需要 23 分钟。

isalnum, isalpha, isdigit, isxdigit, isblank, isspace, isascii, iscntrl, ispunct, isgraph, isprint, islower, isupper. 

这些都是宏定义, 非真正函数, 头文件都是ctype.h, 测试结果: 是返回1(TRUE), 否返回0(FALSE, NULL). 这些函数都是检查字符对应的ASCII值, 编程时这些函数的输入参数一般为一个字符, 否则测试结果没有意义.

isalnum: 测试字符是否为英文字母或数字

函数定义: int isalnum(int c);
说明: 相当于使用(isalpha(c) || isdigit(c))做测试.
isalpha: 测试字符是否为英文字母
函数定义: int isalpha(int c);
说明: 相当于使用(isupper(c) || islower(c))做测试.
isdigit: 测试字符是否为阿拉伯数字
函数定义: int isdigit(int c);
说明: 只有参数c为阿拉伯数字0到9才能返回真.
isxdigit: 测试字符是否为16进制数字
函数定义: int isxdigit(int c);
说明: 只有参数c为0123456789abcdefABCDEF才能返回真.

isblank: 测试字符是否为空格字符或定位字符

函数定义: int isblank(int c);
说明: 只有参数c是空格(space 32)或是定位符(tab 9)才能返回真.
isspace: 测试字符是否为空格字符
函数定义: int isspace(int c);
说明: 只有参数c是空格(' '), 定位符('\t'), CR('\r'), 换行('\n'), 垂直定位('\v')或翻页('\f')才能返回真.

isascii: 测试字符是否为ASCII码

函数定义: int isascii(int c);
说明: 测试字符是否为ASCII码, 也就是判断c对应的整数范围是否在0到127之间.
iscntrl: 测试字符是否为ASCII码的控制字符
函数定义: int iscntrl(int c);
说明: 测试字符是否为ASCII码的控制码, 也就是判断c对应的整数范围是否在0到31之间.
ispunct: 测试字符是否为标点符号或特殊字符
函数定义: int ispunct(int c);
说明: 只有参数c是非空格, 非数字, 非英文字母才能返回真.

isgraph: 测试字符是否为可打印字符

函数定义: int isgraph(int c);
说明: 若c所对应的ASCII码可打印, 且非空格字符则返回真.
isprint: 测试字符是否为可打印字符
函数定义: int isprint(int c);
说明: 若c所对应的ASCII码可打印, 包括空格字符则返回真.

islower: 测试字符是否为小写英文字母

函数定义: int islower(int c);
isupper: 测试字符是否为大写英文字母
函数定义: int isupper(int c);

 

ispunct(测试字符是否为标点符号或特殊符号)

 

  相关函数

 

  isspace,isdigit,isalpha

 

  表头文件

 

  #inlude<>

 

  定义函数

 

  int ispunct(int c)

 

  函数说明

 

  检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为

 

  非空格、非数字和非英文字母。

 

  返回值

 

  v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。

 

  附加说明

 

  此为宏定义,非真正函数。

 

  范例

 

  /*列出字符串str中的标点符号或特殊符号*/

 

  #include <ctype.h>

 

  main()

 

  {

 

  char str[]="123c@ #FDsP[e?";

 

  int i;

 

  for(i=0;str!=0;i++)

 

  if(ispunct(str)) printf("%c\n",str);

 

  }

 

  执行

 

  v

 

  @#[?

isupper
原型:extern int isupper(int c);    用法:#include 
功能:判断字符c是否为大写英文字母 说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。 举例: // isupper.c #include
#include
main() { int c; clrscr(); // clear screen c='a'; printf("%c:%s\n",c,isupper(c)?"yes":"no"); c='A'; printf("%c:%s\n",c,isupper(c)?"yes":"no"); c='7'; printf("%c:%s\n",c,isupper(c)?"yes":"no"); getchar(); return 0; }
islower
原型:extern int islower(int c);    用法:#include 
功能:判断字符c是否为小写英文字母 说明:当c为小写英文字母(a-z)时,返回非零值,否则返回零。 举例: // islower.c #include
#include
main() { int c; clrscr(); // clear screen c='a'; printf("%c:%s\n",c,islower(c)?"yes":"no"); c='A'; printf("%c:%s\n",c,islower(c)?"yes":"no"); c='7'; printf("%c:%s\n",c,islower(c)?"yes":"no"); getchar(); return 0; }

 

isalpha
原型:extern int isalpha(int c);    用法:#include 
功能:判断字符c是否为英文字母 说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。 举例: // isalpha.c #include
#include
#include
main() { int c; clrscr(); // clear screen printf("Press a key"); for(;;) { c=getchar(); clrscr(); printf("%c: %s letter",c,isalpha(c)?"is":"not"); } return 0; // just to avoid warnings by compiler }
isdigit
原型:extern int isdigit(int c);    用法:#include 
功能:判断字符c是否为数字 说明:当c为数字0-9时,返回非零值,否则返回零。 举例: // isdigit.c #include
#include
main() { int c; clrscr(); // clear screen c='a'; printf("%c:%s\n",c,isdigit(c)?"yes":"no"); c='9'; printf("%c:%s\n",c,isdigit(c)?"yes":"no"); c='*'; printf("%c:%s\n",c,isdigit(c)?"yes":"no"); getchar(); return 0; }
isprint
原型:extern int isprint(int c);    用法:#include 
功能:判断字符c是否为可打印字符(含空格) 说明:当c为可打印字符(0x20-0x7e)时,返回非零值,否则返回零。 举例: // isprint.c #include
#include
main() { int c; clrscr(); // clear screen c='a'; printf("%c:%s\n",c,isprint(c)?"yes":"no"); c=' '; printf("%c:%s\n",c,isprint(c)?"yes":"no"); c=0x7f; printf("%c:%s\n",c,isprint(c)?"yes":"no"); getchar(); return 0; }
isgraph
原型:extern int isgraph(int c);    用法:#include 
功能:判断字符c是否为除空格外的可打印字符 说明:当c为可打印字符(0x21-0x7e)时,返回非零值,否则返回零。 举例: // isgraph.c #include
#include
main() { int c; clrscr(); // clear screen c='a'; printf("%c:%s\n",c,isgraph(c)?"yes":"no"); c=' '; // 0x20 printf("%c:%s\n",c,isgraph(c)?"yes":"no"); c=0x7f; printf("%c:%s\n",c,isgraph(c)?"yes":"no"); getchar(); return 0; }
ispunct
原型:extern int ispunct(int c);    用法:#include 
功能:判断字符c是否为标点符号 说明:当c为标点符号时,返回非零值,否则返回零。    标点符号指那些既不是字母数字,也不是空格的可打印字符。 举例: // ispunct.c #include
#include
#include
main() { char s[]="Hello, Rain!"; int i; clrscr(); // clear screen printf("%s\n",s); for(i=0;i

toupper

  原型:extern int toupper(int c);
 
  用法:#include <ctype.h>
 
  功能:将字符c转换为大写英文字母
 
  说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。
 
  举例:
 
  // toupper.c
 
  #include <ctype.h>
 
  main()
 
  {
 
  char *s="Hello, World!";
 
  int i;
 
  //clrscr(); // clear screen
 
  printf("%s\n",s);
 
  for(i=0;i<strlen(s);i++)
 
  {
 
  putchar(toupper(s[i]
));
 
  }
 
  getchar();
 
  return 0;
 
  }

tolower

  函数名: tolower 
 
  功 能: 把字符转换成小写字母,非字母字符不做出处理
 
  用 法: int tolower(int c); 
 
  程序例: 
 
  #include 
 
  #include 
 
  #include 
 
  int main(void) 
 
  { 
 
  int length, i; 
 
  char *string = "THIS IS A STRING"; 
 
  length = strlen(string); 
 
  for (i=0; i < length; ++i)
 
  string[i] = tolower(string[i]); 
 
  } 
 
  printf("%s\n",string); 
 
  return 0; 
 
  }

转载于:https://www.cnblogs.com/pengyingh/articles/2362026.html

你可能感兴趣的文章
XML和Schema命名空间详解
查看>>
npm ERR! Unexpected end of JSON input while parsing near '...inimist":"^1.2.0"}
查看>>
Mybatis Generator逆向工程的使用
查看>>
设计模式(八)_门面模式
查看>>
BFS - 水题
查看>>
软件面试常见题目(转帖)
查看>>
[LeetCode] NO. 387 First Unique Character in a String
查看>>
理解管理信息系统
查看>>
UVA 11991 - Easy Problem from Rujia Liu?
查看>>
CF1101E Polycarp's New Job
查看>>
3d角色模型 制作 全过程 。3d max 。3d role model making process.3d Max
查看>>
开学第一周
查看>>
Pandas学习笔记,groupby的一些用法
查看>>
浅谈C#中的延迟加载“.NET研究”(1)——善用委托
查看>>
VS“.NET研究”2010测试功能之旅:编码的UI测试(1)
查看>>
接口库设计总结
查看>>
redis查看数据
查看>>
DFS ( 深度优先/回溯算法 ) 一
查看>>
Enum一点使用总结
查看>>
eclipse +VISUALSVN SERVER 创建版本控制器,防止误操作(可视化操作,简单方便,不需要修改配置文件)...
查看>>