镇楼图

Pixiv:にもし🌞

这一次来简单看一下ctype.h模块,使用得当也能大幅简化我们的代码,而且在PTA里或许能够用到这个模块(啊!不对,头文件,又写顺了)。

这个模块主要作用为判断与处理空终止字节字符串。另外有一个特殊的函数只有C++11才有,虽然只有一个但不能破坏原则,在写C++11的头文件时会补充。

在C语言不断发展这个头文件有了什么变化?

·在C++时改名为cctype

·在C++11时新增了isblank函数



一、处理类

①tolower(C)

作用:将C转换为小写字母;若不能转换,不作任何变化返回ch

参数:ch为整型

char str[] = "Test STRING\n";
char c;
for(int i = 0;str[i];i++){
    c = str[i];
 	putchar (tolower(c));
}
//当str到最后也就是'\0'的时候,'\0'对应的就是0,放在循环里也就是代表false

②toupper(ch)

作用:将C转换为大写字母;若不能转换,不作任何变化返回ch

参数:ch为整型

char str[] = "tEST string\n";
char c;
for(int i = 0;str[i];i++){
    c = str[i];
 	putchar (toupper(c));
}


二、判断类

①isalnum(int ch)

作用:判断字符是否为数字、大写字母、小写字母。若是,返回非零的值;否则,返回0

参数:ch为整型

int flag = isalnum('3');
printf("%d",flag);

②isalpha(int ch)

作用:判断字符是否为大写字母、小写字母。若是,返回非零的值;否则,返回0

参数:ch为整型

③isupper(int ch)

作用:判断字符是否为大写字母。若是,返回非零的值;否则,返回0

参数:ch为整型

④islower(int ch)

作用:判断字符是否为小写字母。若是,返回非零的值;否则,返回0

参数:ch为整型

⑤isdigit(int ch)

作用:判断字符是否为数字。若是,返回非零的值;否则,返回0

参数:ch为整型

⑥iscntrl(int ch)

作用:判断字符是否为控制字符。若是,返回非零的值;否则,返回0

参数:ch为整型

printf("%d",iscntrl('\n'));

⑦isgraph(int ch)

作用:判断字符是否为图形字符(数字、大写字母、小写字母、标点字符)。若是,返回非零的值;否则,返回0

参数:ch为整型

⑧isspace(int ch)

作用:判断字符是否为空白间隔符(空格' '、换页'\f'、换行'\n'、回车'\r'、水平制表'\t'、垂直制表'\v')。若是,返回非零的值;否则,返回0

参数:ch为整型

/*
值得一提的是C语言在处理你输入的代码时
会忽略空白间隔符
包括现在写的注释也会被处理成空格

⑨isprint(int ch)

作用:判断字符是否为可打印字符(数字、字母、标点符号、空格)。若是,返回非零的值;否则,返回0

参数:ch为整型

⑩ispunct(int ch)

作用:判断字符是否为标点符号。若是,返回非零的值;否则,返回0

参数:ch为整型




参考资料

https://fishc.com.cn

http://www.cplusplus.com/reference

https://www.icourse163.org/course/ZJU-200001

posted on 2021-03-13 14:56  摸鱼鱼的尛善  阅读(562)  评论(0编辑  收藏  举报