题目描述C语言每日一练
2022年6月13日
从键盘输入一个大写字母,要求改用小写字母输出
分析从键盘输入可以使用scanf或getchar等函数。
大写字母是一个字符,字符类型数据在C语言中是以ASCII码的形式存放在内存单元中,字符'a'的ASCII码为97,字符’A’的ASCII码为65。
C语言字符变量可以进行算术运算,在运算时会使用其对应的ASCII码参与运算,所以如果将'A'与32相加,就相当于65+32,等于97,正好对应字符'a'的ASCII码,即如果想将大写字母'A'转换为小写字母'a',只需使用A+32即可。
在ASCII码对照表中,英文字母是按照a~z和A~Z的顺序排列,所以其他字母进行大小写转换,同样需要使用+/-32。
代码实现#define _CRT_SECURE_NO_WARNINGS 1 //将大小写字母转换 #include运行结果int main(void) { char ch; printf("请输入一个字母:n"); scanf("%c", &ch); //检测字母是否符合要求 if (ch < 'A' || ch > 'z') { printf("错误,这不是一个字母n"); } //大小写转换 if (ch >= 'a' && ch <= 'z') { ch = ch - 'a' + 'A'; printf("对应大小写转换: n%c", ch); } else if (ch >= 'A' && ch <= 'Z') { ch = ch + 'a' - 'A'; printf("对应大小写转换: n%c", ch); } return 0; }



