题目4:给定一个大写字母,要求用小写字母输出。
程序分析:要进行转换就需要在ASCII表中找到两者的内在联系,观察发现同一个字母小写的字母比大写的字母ACSCII大32。
#include<stdio.h>
int main(){
char x,y;
printf("请输入大写字母:");
scanf("%c",&x);
y=x+32;
printf("对应的小写字母:%c",y);
return 0;
}
结果展示:
扩展:
改变字符数据的输出形式可以使得以字符形式输出也可以以整数形式输出。
printf("对应的小写字母:%c",y);
printf("\n其整数形式为:%d",y);
结果展示:
分析:
虽然题目很简单只需要找到两者之间的逻辑,但这种思想可以用来写更深奥的问题,如文件加密或破译文件...
这类题目一定要注意两者之间的逻辑关联。
不同类型数据间的混合运算:
如题目中 'A'+32=a 就是把字符变量x的值('A'的ASCII代码)与整数32相加后将值赋给字符变量y;
如 10+'a'+i*f-d/3 , i(3)为整型变量,f(2.5)为float型变量,d(7.5)为double型变量。
运算次序从左往右:
1.进行10+'a'运算,'a'的ASCII码为97,相加为107;
2.进行i*f运算,将i与f转化为double型,运算结果为7.5;
3.进行+运算,将整数107转换为双精度数(double型)再相加,运算结果为114.5;
4.进行d/3运算,将3转换为double型,结果为2.5;
5.进行-运算,将114.5与2.5相减,结果为112.0(double型);