c语言只用if语句进行大小写转换
时间: 2024-09-28 15:02:59 浏览: 20
C语言本身并不直接支持通过if语句进行字符的大写和小写转换,因为这涉及到ASCII码值的操作,而标准的C语言库函数如toupper() 和 tolower() 才能完成这样的转换。如果你想仅用if语句来模拟这个过程,你可以根据ASCII码值范围来判断字符是否为大写字母或小写字母,然后手动调整。
例如,你可以这样做:
```c
#include <stdio.h>
char to_upper_case(char c) {
if (c >= 'a' && c <= 'z') { // 如果是小写字母
c = c - ('a' - 'A'); // 将ASCII值加上对应的大写与小写的差值
}
return c;
}
char to_lower_case(char c) {
if (c >= 'A' && c <= 'Z') { // 如果是大写字母
c = c - ('A' - 'a'); // 将ASCII值减去对应的大写与小写的差值
}
return c;
}
int main() {
char input_char;
printf("Enter a character: ");
scanf("%c", &input_char);
if (isalpha(input_char)) { // 检查输入的是字母
char converted_char = to_upper_case(input_char); // 转换并打印结果
printf("Converted character: %c\n", converted_char);
// 可以选择是否再次转换回小写
if (converted_char >= 'A' && converted_char <= 'Z') {
converted_char = to_lower_case(converted_char);
printf("Lowercase result: %c\n", converted_char);
}
} else {
printf("Input is not an alphabet.\n");
}
return 0;
}
```