当前位置:   article > 正文

【C语言】标准库ctype.h(判断和映射字符)

【C语言】标准库ctype.h(判断和映射字符)

【C语言】标准库ctype.h:判断和映射字符。

#include <ctype.h>

标准库ctype.h:

函数中的参数:都是无符号字符转换为int值进行传递。

判断函数中的返回:若满足判断条件,返回非零值。若不满足判断条件,返回0。

转换函数中的返回:若有对应的大写/小写字母,返回转换后的字符(转换为int值)。若没有,返回原字符(转换为int值)。

  1. // 部分函数举例
  2. #include <ctype.h>
  3. #include <stdio.h>
  4. // 函数声明
  5. char trans(char c);
  6. int main(void)
  7. {
  8. char s[] = "year:2024.\tGOOD LUCK!\n";
  9. int n = sizeof(s); // 获取字符串s的内存大小
  10. int c; // 将要被判断的字符,转为int值作为参数传递给函数
  11. char t[n]; // 字符串t,此处存储大小写转换后的字符串
  12. for(int i = 0; i < n; i++)
  13. {
  14. c = s[i];
  15. t[i] = c;
  16. if(isdigit(c)) // 判断字符是否是数字
  17. printf("index %d element:\"%c\" is digit\n", i, c);
  18. else if(isalpha(c)) // 判断字符是否是字母
  19. {
  20. printf("index %d element:\"%c\" is ", i, c);
  21. t[i] = trans(c); // 函数,大小写字母转换
  22. }
  23. else if(isspace(c)) // 判断字符是否是空白字符
  24. printf("index %d element:\"%c\" is space\n", i, c);
  25. else if(ispunct(c)) // 判断字符是否是标点符号
  26. printf("index %d element:\"%c\" is punctuation\n", i, c);
  27. }
  28. printf("End: t = %s", t);
  29. return 0;
  30. }
  31. char trans(char c)
  32. {
  33. if(islower(c)) // 判断字符是否是小写字母
  34. {
  35. printf("lowercase letter, convert to uppercase letter\n", c);
  36. return toupper(c); // 小写字母转为大写字母
  37. }
  38. else if(isupper(c)) // 判断字符是否是大写字母
  39. {
  40. printf("uppercase letter, convert to lowercase letter\n", c);
  41. return tolower(c); // 大写字母转为小写字母
  42. }
  43. }
  44. // 结果:
  45. index 0 element:"y" is lowercase letter, convert to uppercase letter
  46. index 1 element:"e" is lowercase letter, convert to uppercase letter
  47. index 2 element:"a" is lowercase letter, convert to uppercase letter
  48. index 3 element:"r" is lowercase letter, convert to uppercase letter
  49. index 4 element:":" is punctuation
  50. index 5 element:"2" is digit
  51. index 6 element:"0" is digit
  52. index 7 element:"2" is digit
  53. index 8 element:"4" is digit
  54. index 9 element:"." is punctuation
  55. index 10 element:" " is space
  56. index 11 element:"G" is uppercase letter, convert to lowercase letter
  57. index 12 element:"O" is uppercase letter, convert to lowercase letter
  58. index 13 element:"O" is uppercase letter, convert to lowercase letter
  59. index 14 element:"D" is uppercase letter, convert to lowercase letter
  60. index 15 element:" " is space
  61. index 16 element:"L" is uppercase letter, convert to lowercase letter
  62. index 17 element:"U" is uppercase letter, convert to lowercase letter
  63. index 18 element:"C" is uppercase letter, convert to lowercase letter
  64. index 19 element:"K" is uppercase letter, convert to lowercase letter
  65. index 20 element:"!" is punctuation
  66. index 21 element:"
  67. " is space
  68. End: t = YEAR:2024. good luck!

补充:

if...else if...else...:若执行语句只有单行,可以省略大括号{ };若执行语句超过一行,必须使用大括号{ }。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/426479
推荐阅读
相关标签
  

闽ICP备14008679号