C语言进阶:[6]字符类型的统计
操作方法
- 01
C语言的字符是整型类型,在处理八位字符时,有一些是需要我们记住的,并且其中有一些是有规律的。 十进制 十六进制 意义 0 0 \0空(NULL)通常表示字符串的结束,在指针中表示指针没有指向空间 7 7 \a响铃 8 8 \b退格键(backspace) 9 9 \t水平制表符 10 A \n换行符 13 D \r回车符 32 20 空格 其他的就是字符了,包括a-z,A-Z,0-9等等。大小写的规律是大写字符+32等于对应的大写字符。这个规律可以用于大小写转换。 c语言提供了几个处理字符的函数: isalnum测试字符是否为字符或数字 isalpha判断字符是否为字符 isdigit判断字符是否为数字 isspace判断字符为空白字符:空格 \t \n \r \v \f isupper判断为大写字符 islower判断为小写字符 好我们利用这些字符函数来进行一段字符串的统计,简单一点,统计大写字符个数,小写字符个数,数字字符个数和空白字符的个数。 代码如下: //统计变量 int upperCharCount,lowerCharCount,spaceCharCount,numCharCount; int count = 0;//字符串的个数 int i;//索引 char str[] = "1 My father was a self-taught mandolin player.2 He was one of the best string instrument players in our town. He could not read music, but if he heard a tune "; upperCharCount=lowerCharCount=spaceCharCount=numCharCount=0; count = strlen(str); for(i=0;i<count;i++) { if(isupper(str[i])) { upperCharCount++; continue;//如果是大写字符,记录,执行下一次循环 } if(islower(str[i])) { lowerCharCount++; continue; } if(isdigit(str[i])) { numCharCount++; continue; } if(isspace(str[i])) { spaceCharCount++; continue; } } //打印各种字符类型的个数 printf("大写字符个数:%d\n",upperCharCount); printf("小写字符个数:%d\n",lowerCharCount); printf("数字字符个数:%d\n",numCharCount); printf("空白字符个数:%d\n",spaceCharCount); return 0; 显示结果: 字符介绍到这里,希望对您有用。