函式概況
1> 函式原型均為int isxxxx(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
函式原型: 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);elseprintf("%c is not the ASCII number\n",ch1);if(isdigit(ch2)!=0)printf("%c is the ASCII number\n",ch2);elseprintf("%c is not the ASCII number\n",ch2);return0;}
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);elseprintf("%cisnottheASCIIprintablecharacter\n",ch1);if(isgraph(ch2)!=0)printf("%cistheASCIIprintablecharacter\n",ch2);elseprintf("%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
函式原型: 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所代表的字元的小寫字母
參數說明:
所屬檔案: <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相應的大寫字母
參數說明:
所屬檔案: <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);elseprintf("%cisnottheASCIInumbernoralphebet\n",ch1);if(isalnum(ch2)!=0)printf("%cistheASCIInumberoralphebet\n",ch2);elseprintf("%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);elseprintf("%cisnottheASCIIprintablecharcater\n",ch1);if(isprint(ch2)!=0)printf("%cistheASCIIprintablecharcater\n",ch2);elseprintf("%cisnottheASCIIprintablecharcater\n",ch2);return0;}
ispunct
函式名稱: ispunct
函式功能: 檢查ch是否是標點
字元(不包括空格),即除字母,數字和空格以外的所有可列印字元
函式返回: 是返回非0,否則返回0
參數說明:
所屬檔案: <ctype.h>
#include<stdio.h>#include<ctype.h>intmain(){charch1=',';charch2='a';if(ispunct(ch1)!=0)printf("%cistheASCIIpunct\n",ch1);elseprintf("%cisnottheASCIIpunct\n",ch1);if(ispunct(ch2)!=0)printf("%cistheASCIIpunct\n",ch2);elseprintf("%cisnottheASCIIpunct\n",ch2);return0;}
isspace
函式名稱: isspace
函式原型: int isspace(int ch);
函式返回: 是返回非0,否則返回0
參數說明:
所屬檔案: <ctype.h>
#include<stdio.h>#include<ctype.h>intmain(){charch1='';charch2='a';if(isspace(ch1)!=0)printf("%cisthespacecharcater\n",ch1);elseprintf("%cisnotthespacecharcater\n",ch1);if(isspace(ch2)!=0)printf("%cisthespacecharcater\n",ch2);elseprintf("%cisnotthespacecharcater\n",ch2);return0;}
isxdigit
函式名稱: isxdigit
函式功能: 檢查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);elseprintf("%cisnottheASCIIhexadecimalnumber\n",ch1);if(isxdigit(ch2)!=0)printf("%cistheASCIIhexadecimalnumber\n",ch2);elseprintf("%cisnottheASCIIhexadecimalnumber\n",ch2);return0;}
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;}