思路分析
这个案例需要清楚字母ACSLL码值的规律。
1.通过查找ASCLL码表可以知道小写字母'a'的ASCLL码值为97,其他小写字母ACSSLL值按字母表顺序累加1;大写字母'A'的ASCLL码值为65,其他大写字母ACSSLL码值按字母表顺序累加1。所以我们可以得出一个规律:
字母大小写ACSLL码值相差32。
我们可以使用这个规律来给字母进行大小写转换。
2.字符串用‘\0’来判断有没有结束,是一个重要的知识点,案例会使用。
3.案例会使用string.h头文件里面的知识点,这样会比较简单。
gets(字符串名)函数:从键盘中输入一个字符串,空格也可以输入。
puts(字符串名)函数:整体打印输出一个字符串。
以"HELLO world"字符串为例进行字母大小写互相转换。
案例代码如下
#include <stdio.h>
#include <string.h>
void main(){
char str1[20];//定义一个字符串数组
int i;//定义一个变量
gets(str1);//从键盘中输入一个字符串
for(i=0;str1[i]!='\0';i++){//str1[i]!='\0'判断字符串是否结束
if(str1[i]>='A'&&str1[i]<='Z'){
str1[i]+=32;
}//字母大写变小写
else if(str1[i]>='a'&&str1[i]<='z'){
str1[i]-=32;
}//字母小写变大写
}
puts(str1);//整体打印输出字母大小写互相转换后的字符串
}
案例代码运行结果如下