ctype.h裏的函數(c語言)


/*
 * 主要測試該頭文件中的如下函數:
 * isalnum , isdigit , isalpha , isascii , iscntrl , ispunct
 * isgraphics , isprint , islower , isupper , isxdigit
 * 需要注意的是:這些均爲宏定義,非真正函數。
 * int isalnum (int c) 測試字符是否爲英文或數字,在標準c中相當於使用“isalpha(c) || isdigit(c)”
 * int isalpha (int c) 檢查參數c是否爲英文字母 ,在標準c中相當於使用“isupper(c)||islower(c)”
 * int isascii(int c)  檢查參數c是否爲ASCII碼字符,也就是判斷c的範圍是否在0到127之間。
 * int iscntrl(int c)  檢查參數c是否爲ASCII控制碼,也就是判斷c的範圍是否在0到30之間。
 * int isdigit(int c)  檢查參數c是否爲阿拉伯數字0到9。
 * int isgraph (int c) 檢查參數c是否爲可打印字符,若c所對映的ASCII碼可打印,且非空格字符則返回TRUE。
 * int islower(int c)  檢查參數c是否爲小寫英文字母。
 * int isprint(int c)  檢查參數c是否爲可打印字符,若c所對映的ASCII碼可打印,其中包含空格字符,則返回TRUE。
 * int isspace(int c)  檢查參數c是否爲空格字符,也就是判斷是否爲空格('')、定位字符('\t')、CR('\r')、換行('\n')、垂直定位字符('\v')或翻頁('\f')的情況。
 * int ispunct(int c)  檢查參數c是否爲標點符號或特殊符號。返回TRUE也就是代表參數c爲非空格、非數字和非英文字母。
 * int isupper(int c)  檢查參數c是否爲大寫英文字母。
 * int isxdigit (int c)檢查參數c是否爲16進制數字,只要c爲下列其中一個情況則返回TRUE。16進制數字:0123456789ABCDEF。
 
*/

ctype.h

  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 ASCIInumber or alphebet\n",ch1);

  else

  printf("%c is not the ASCIInumber nor alphebet\n",ch1);

  if(isalnum(ch2)!=0)

  printf("%c is the ASCIInumber or alphebet\n",ch2);

  else

  printf("%c is not the ASCIInumber 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 SIZEsizeof(chars)/sizeof(char)

  int main()

  {

  int i;

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

  printf("Char %c is %saControl 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 ASCIInumber\n",ch1);

  else

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

  if(isdigit(ch2)!=0)

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

  else

  printf("%c is not the ASCIInumber\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 ASCIIprintable character\n",ch1);

  else

  printf("%c is not the ASCIIprintable character\n",ch1);

  if(isgraph(ch2)!=0)

  printf("%c is the ASCIIprintable character\n",ch2);

  else

  printf("%c is not the ASCIIprintable 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 SIZEsizeof(chars)/sizeof(char)

  int main()

  {

  int i;

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

  printf("Char %c is %salowercasecharacter\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 tolower is %c\n",x,tolower(x));

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

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

  printf("Character %c tolower 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 toupper is %c\n",x,toupper(x));

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

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

  printf("Character %c toupper 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 ASCIInumber or alphebet\n",ch1);

  else

  printf("%c is not the ASCIInumber nor alphebet\n",ch1);

  if(isalnum(ch2)!=0)

  printf("%c is the ASCIInumber or alphebet\n",ch2);

  else

  printf("%c is not the ASCIInumber 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 ASCIIprintable charcater\n",ch1);

  else

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

  if(isprint(ch2)!=0)

  printf("%c is the ASCIIprintable charcater\n",ch2);

  else

  printf("%c is not the ASCIIprintable 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 ASCIIpunct\n",ch1);

  else

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

  if(ispunct(ch2)!=0)

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

  else

  printf("%c is not the ASCIIpunct\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 spacecharcater\n",ch1);

  else

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

  if(isspace(ch2)!=0)

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

  else

  printf("%c is not the spacecharcater\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 SIZEsizeof(chars)/sizeof(char)

  int main()

  {

  int i;

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

  printf("Char %c is %sanuppercase 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 ASCIIhexadecimal number\n",ch1);

  else

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

  if(isxdigit(ch2)!=0)

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

  else

  printf("%c is not the ASCIIhexadecimal 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 SIZEsizeof(chars)/sizeof(char)

  int main()

  {

  int i;

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

  {

  printf("Char %c is %sanASCII character\n",

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

  }

  return 0;

  }










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章