包含一些用于字符处理的函数原型和宏定义。这个头文件提供了一组函数,用于检查和转换字符。
isalnum
函数原型:int isalnum(int ch);
功能: 判断字符是否为字母或数字
参数: int ch 待检查的字符
返回值: 如果 ch 不是字母或数字,返回 0;如果 ch 是字母或数字,返回非0值
-
判断输入的字符是否为字母或数字
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isalnum(ch)) { printf("%c 是字母或数字.", ch); } else { printf("%c 不是字母或数字.", ch); } putchar('\n'); return 0; }
isalpha
函数原型: int isalpha(int ch);
功 能: 判断字符是否为英文字母
参数: int ch 待检查的字符
返回值: 如果 ch 不是英文字母,返回 0;如果 ch 是英文字母,返回非0值
-
判断输入的字符是否为英文字母
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isalpha(ch)) { printf("%c 是字母.", ch); } else { printf("%c 不是字母.", ch); } putchar('\n'); return 0; }
iscntrl
函数原型: int iscntrl(int ch);
功 能: 判断字符是否为控制字符
参数: int ch 待检查的字符
返回值: 如果 ch 不是控制字符,返回 0;如果 ch 是控制字符,返回非0值
-
判断输入的字符是否是控制字符
#include <ctype.h> #include <stdio.h> #include <conio.h> int main() { char ch; printf("输入一个字符:"); ch = getche(); if (iscntrl(ch)) { printf("\n%c %d 是控制字符.", ch, ch); } else { printf("\n%c %d 不是控制字符.", ch, ch); } putchar('\n'); return 0; }
isdigit
函数原型: int isdigit(int ch);
功 能: 判断字符是否为十进制数字
参数: int ch 待检查的字符
返回值: 如果 ch 不是十进制数字,返回 0;如果 ch 是十进制数字,返回非0值
-
判断输入的字符是否为十进制数字
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isdigit(ch)) { printf("%c 是数字.", ch); } else { printf("%c 不是数字.", ch); } putchar('\n'); return 0; }
islower
函数原型:int islower(int ch);
功能:判断字符是否为小写英文字母
参数:int ch 待检查的字符
返回值:ch不是小写英文字母 返回0,ch是小写英文字母 返回非0
-
判断输入的字符是否为小写英文字母
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (islower(ch)) { printf("%c 是小写字母.", ch); } else { printf("%c 不是小写字母.", ch); } putchar('\n'); return 0; }
isupper
函数原型:int isupper(int ch);
功能:判断字符是否为大写英文字母
参数:int ch 待检查的字符
返回值:ch不是大写英文字母 返回0,ch是大写英文字母 返回非0
-
判断输入的字符是否为大写英文字母
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isupper(ch)) { printf("%c 是大写字母.", ch); } else { printf("%c 不是大写字母.", ch); } putchar('\n'); return 0; }
isspace
函数原型:int isspace(int ch);
功能:判断字符是否为空白字符
参数:int ch 待检查的字符
返回值:ch不是空白字符 返回0,ch是空白字符 返回非0
-
判断输入的字符是否为空白字符
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isspace(ch)) { printf("%c 是空白字符.", ch); } else { printf("%c 不是空白字符.", ch); } putchar('\n'); return 0; }
isxdigit
函数原型: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("输入一个字符:"); scanf("%c", &ch); if (isxdigit(ch)) { printf("%c 是十六进制数.", ch); } else { printf("%c 不是十六进制数.", ch); } putchar('\n'); return 0; }
toupper
函数原型:int touppper(int ch);
功能:把小写字母转换为大写字母,不是小写字母的不变
参数:int ch - 待转换的字符
返回值:返回转换后的字符
-
将文件1中的内容全部大写复制进文件2中
while ((ch = getc(fp1)) != EOF){ // 核心代码! putc(toupper(ch), fp2); }
tolower
函数原型:int tolower(int ch);
功能:把大写字母转换为小写字母,不是大写字母的不变
参数:int ch - 待转换的字符
返回值:返回转换后的字符
-
将文件1中的内容全部小写复制进文件2中
while ((ch = getc(fp1)) != EOF){ // 核心代码! putc(tolower(ch), fp2); }
toascii
函数原型: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("变 %c 为 %c.\n", ch1, ch2); return 0; }
ispunct
函数原型:int ispunct(int ch);
功能:判断字符是否为标点符号
参数:int ch - 待检查的字符
返回值:如果ch不是标点符号返回0,如果ch是标点符号则返回非0
-
判断输入的字符是否为标点符号
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (ispunct(ch)) { printf("%c 是标点符号.", ch); } else { printf("%c 不是标点符号.", ch); } putchar('\n'); return 0; }
isprint
函数原型:int isprint(int ch);
功能:判断字符是否为可打印字符(含空格)
参数:int ch - 待检查的字符
返回值:如果ch不是可打印字符返回0,如果ch是可打印字符(含空格)则返回非0
-
判断输入的字符是否为可打印字符(含空格)
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isprint(ch)) { printf("%c 是可打印字符.", ch); } else { printf("%c 不是可打印字符.", ch); } putchar('\n'); return 0; }
isgraph
函数原型:int isgraph(int ch);
功能:判断字符是否除空格外的可打印字符
参数:int ch - 待检查的字符
返回值:如果ch不是除空格外的可打印字符返回0,如果ch是除空格外的可打印字符则返回非0
-
判断输入的字符是否为除空格外的可打印字符
#include <ctype.h> #include <stdio.h> int main() { char ch; printf("输入一个字符:"); scanf("%c", &ch); if (isgraph(ch)) { printf("%c 是除空格外的可打印字符.", ch); } else { printf("%c 不是除空格外的可打印字符.", ch); } putchar('\n'); return 0; }
isascii
函数原型: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("输入一个字符:"); ch = getchar(); if (isascii(ch)) { printf("%c 是ASCII码.", ch); } else { printf("%c 不是ASCII码.", ch); } putchar('\n'); return 0; }