程序员之家
程序员之家

C 语言标准库 - <ctype.h>

2024-11-11 16:02:35 404
ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节字符,也支持宽字符。

isascii()函数

函数名: isascii

头文件:<ctype.h>

函数原型:  int isascii(int ch);

功 能:  判断字符是否为ASCII码,即字符ASCII在0到127之间

参数: int ch  待检查的字符

返回值: ch不是ASCII  返回0,ch是ASCII    返回非0

示例:判断输入的字符是否为ASCII字符

#include<ctype.h>
#include<stdio.h>
int main()
{
   char ch;
   printf("input a character:");
   ch=getchar();
   if(isascii(ch))
   {
      printf("%c is ascii.",ch);
   }
   else
   {
      printf("%c is not ascii.",ch);
   }
   putchar('\n');
   return 0;
}

运行结果:

input a character:f
f is ascii.

isalnum()函数

函数名: isalnum

头文件:<ctype.h>

函数原型:  int isalnum(int ch);

功 能:  判断字符是否为字母或数字

参数: int ch  待检查的字符

返回值: ch不是字母或数字  返回0 ,ch是字母或数字    返回非0

程序示例:判断输入的字符是否为字母或数字

#include<ctype.h>
#include<stdio.h>
int main(){
   char ch;
   printf("input a character:");
   scanf("%c",&ch);
   if(isalnum(ch))
   {
      printf("%c is alnum.",ch);
   }
   else
   {
      printf("%c is not alnum.",ch);
   } 
   putchar('\n');
   return 0;  
}

运行结果:

input a character:f
f is alnum.

isalpha()函数

函数名: isalpha

头文件:<ctype.h>

函数原型:  int isalpha(int ch);

功 能:  判断字符是否为英文字母

参数: int ch  待检查的字符

返回值: ch不是英文字母  返回0 ,ch是英文字母    返回非0

程序示例:判断输入的字符是否为英文字母

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch); 

   if(isalpha(ch)){ 
      printf("%c is alpha.",ch); 
   }else{ 
      printf("%c is not alpha.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:f
f is alpha.

iscntrl()函数

函数名: iscntrl

头文件:<ctype.h>

函数原型:  int iscntrl(int ch);

功 能:  判断字符是否为控制字符

参数: int ch  待检查的字符

返回值: ch不是控制字符  返回0 , ch是控制字符    返回非0

程序示例:判断输入的字符是否是控制字符

#include<ctype.h> 
#include<stdio.h> 
#include<conio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   ch=getche();
 
   if(iscntrl(ch)){ 
      printf("\n%c %d is control character.",ch,ch); 
   }else{ 
      printf("\n%c %d is not control character.",ch,ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:
 26 is control character.

isdigit()函数

函数名: isdigit

头文件:<ctype.h>

函数原型:  int isdigit(int ch);

功 能:  判断字符是否为十进制数字

参数: int ch  待检查的字符

返回值: ch不是十进制数字  返回0 , ch是十进制数字    返回非0

程序示例: 判断输入的字符是否为十进制数字

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(isdigit(ch)){ 
      printf("%c is digit.",ch); 
   }else{ 
      printf("%c is not digit.",ch); 
   } 
 
   putchar('\n');    
   return 0;  
}

运行结果:

input a character:5
5 is digit.

isgraph()函数

函数名: isgraph

头文件:<ctype.h>

函数原型:  int isgraph(int ch);

功 能:  判断字符是否除空格外的可打印字符

参数: int ch  待检查的字符

返回值: ch不是除了空格外的可打印字符  返回0 , ch是除了空格外的可打印字符    返回非0

程序示例:判断输入的字符是否为除了空格外的可打印字符

#include<ctype.h>
#include<stdio.h>
int main(){
    char ch;
    printf("input a character:");
    scanf("%c",&ch);
    if(isgraph(ch)){
        printf("%c is graph.",ch);
    }else{
        printf("%c is not graph.",ch);
    }  
    putchar('\n');     
    return 0; 
}

运行结果:

input a character:g
g is graph.

islower()函数

函数名: islower

头文件:<ctype.h>

函数原型:  int islower(int ch);

功 能:  判断字符是否为小写英文字母

参数: int ch  待检查的字符

返回值: ch不是小写英文字母  返回0 ,  ch是小写英文字母    返回非0

程序示例:判断输入的字符是否为小写英文字母

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(islower(ch)){ 
      printf("%c is lower alpha.",ch); 
   }else{ 
      printf("%c is not lower alpha.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:g
g is lower alpha.

isprint()函数

函数名: isprint

头文件:<ctype.h>

函数原型:  int isprint(int ch);

功 能:  判断字符是否为可打印字符(含空格)

参数: int ch  待检查的字符

返回值: ch不是可打印字符  返回0 , ch是可打印字符(含空格)   返回非0

程序示例: 判断输入的字符是否为可打印字符(含空格)

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(isprint(ch)){ 
      printf("%c is print character.",ch); 
   }else{ 
      printf("%c is not print character.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:g
g is print character.

ispunct()函数

函数名: ispunct

头文件:<ctype.h>

函数原型:  int ispunct(int ch);

功 能:  判断字符是否为标点符号

参数: int ch  待检查的字符

返回值: ch不是标点符号  返回0 , ch是标点符号    返回非0

程序示例: 判断输入的字符是否为标点符号

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(ispunct(ch)){ 
      printf("%c is punct.",ch); 
   }else{ 
      printf("%c is not punct.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:,
, is punct.

isspace()函数

函数名: isspace

头文件:<ctype.h>

函数原型:  int isspace(int ch);

功 能:  判断字符是否为空白字符

参数: int ch  待检查的字符

返回值: ch不是空白字符  返回0 , ch是空白字符    返回非0

程序示例: 判断输入的字符是否为标点符号

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(isspace(ch)){ 
      printf("%c is space.",ch);
    }else{ 
      printf("%c is not space.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character: 
  is space.

isxdigit()函数

函数名: isxdigit

头文件:<ctype.h>

函数原型:  int isxdigit(int ch);

功 能:  判断字符是否为十六进制数字(0-9)(a-f)(A-F)

参数: int ch  待检查的字符

返回值: ch不是十六进制数字  返回0 , ch是十六进制数字    返回非0

程序示例: 判断输入的字符是否为十六进制数字

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(isxdigit(ch)){ 
      printf("%c is hex digit.",ch); 
   }else{ 
      printf("%c is not hex digit.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character: 
  is space.

isupper()函数

函数名: isupper

头文件:<ctype.h>

函数原型:  int isupper(int ch);

功 能:  判断字符是否为大写英文字母

参数: int ch  待检查的字符

返回值: ch不是大写英文字母  返回0 ,ch是大写英文字母    返回非0

程序示例: 判断输入的字符是否为大写英文字母

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch; 
   printf("input a character:"); 
   scanf("%c",&ch);
 
   if(isupper(ch)){ 
      printf("%c is upper.",ch); 
   }else{ 
      printf("%c is not uppper.",ch); 
   } 
 
   putchar('\n');    
   return 0;   
}

运行结果:

input a character:G 
G is upper.

toascii()函数

函数名: toascii

头文件:<ctype.h>

函数原型:  int toascii(int ch);

功 能: 把一个字符转换为ASCII,其实就是把八位二进制的最高变成0  

参数: int ch  待转换的字符

返回值:  返回转换后的字符

程序示例: 把一个非ASCII字符转换为ASCII字符

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   int ch1,ch2; 
   ch1='a'+128; 
   ch2=toascii(ch1); 
   printf("transform %c  to %c.\n",ch1,ch2);       
   return 0;   
}

运行结果:

transform ? to a.

tolower()函数

函数名: tolower

头文件:<ctype.h>

函数原型:  int tolower(int ch);

功 能: 把大写字母转换为小写字母,不是大写字母的不变

参数: int ch  待转换的字符

返回值:  返回转换后的字符

程序示例: 把大写字母转换为小写字母

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
   char ch1,ch2; 
   printf("input a character:"); 
   scanf("%c",&ch1); 
   ch2=tolower(ch1); 
   printf("transform %c to %c.\n",ch1,ch2); 
   return 0;   
}

运行结果:

input a character:G
transform G to g.

toupper()函数

函数名: toupper

头文件:<ctype.h>

函数原型:  int touppper(int ch);

功 能: 把小写字母转换为大写字母,不是小写字母的不变

参数: int ch  待转换的字符

返回值:  返回转换后的字符

程序示例: 把小写字母转换为大写字母

#include<ctype.h> 
#include<stdio.h>
 
int main(){ 
    char ch1,ch2; 
    printf("input a character:"); 
    scanf("%c",&ch1); 
    ch2=toupper(ch1); 
    printf("transform %c to %c.\n",ch1,ch2); 
    return 0; 
}

运行结果:

input a character:g
transform g to G.

手机扫码阅读本文


本文来自互联网,本网站转载的目的在于传递更多信息以供访问者学习参考,所属内容只代表原作者的个人观点,不代表本网站的立场和价值判断,版权归原作者所有。如有侵犯您的版权,请联系我们,我们收到后会尽快核实并第一时间改正。


手机扫码阅读本文

C语言程序设计入门教程:C Primer Plus第6版中文版+习题解答(套装2册)【图】
C语言程序设计入门教程:C Primer Plus第6版中文版+习题解答(套装2册)

C语言入门经典教程,畅销30余年的C语言程序设计书籍,近百万程序员的启蒙教材,技术大牛案头常备的工具书,被誉为C语言百科全书

极致C语言(Extreme C)【图】
极致C语言(Extreme C)

用C语言强大的底层语言能力编写高效的系统

C语言趣味编程100例【图】
C语言趣味编程100例

100个C语言趣味编程题,50小时C语言学习视频,赠送758个编程实例源文件,培养编程兴趣,拓宽编程思维,提高编程能力,增强求职竞争力

B202411118895