C语言:将小写字母转换为大写字母
以下是一个简单的C语言程序,可以接收用户输入的小写字母,并将其转换为大写字母输出:

(图片来源网络,侵删)
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数的头文件
int main() {
char lowercase, uppercase;
printf("请输入一个小写字母: ");
scanf("%c", &lowercase);
// 检查输入是否为小写字母
if (lowercase >= 'a' && lowercase <= 'z') {
// 使用toupper函数转换为大写
uppercase = toupper(lowercase);
printf("转换后的大写字母是: %c\n", uppercase);
} else {
printf("输入的不是小写字母!\n");
}
return 0;
}
代码说明:
-
头文件:
stdio.h:用于输入输出函数ctype.h:包含字符处理函数,如toupper()
-
变量:
lowercase:存储用户输入的小写字母uppercase:存储转换后的大写字母
-
转换方法:
- 使用
toupper()函数将小写字母转换为大写字母 - 也可以手动转换:
uppercase = lowercase - 32;(因为ASCII码中小写字母比大写字母大32)
- 使用
-
输入验证:
(图片来源网络,侵删)检查输入是否在'a'到'z'之间,确保是小写字母
示例运行:
请输入一个小写字母: a
转换后的大写字母是: A
请输入一个小写字母: z
转换后的大写字母是: Z
请输入一个小写字母: 5
输入的不是小写字母!
扩展功能:
如果需要处理一串字符而不仅仅是单个字母,可以使用循环:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch;
printf("请输入一串字符(以#结束): ");
while ((ch = getchar()) != '#') {
if (islower(ch)) {
putchar(toupper(ch));
} else {
putchar(ch); // 非小写字母原样输出
}
}
return 0;
}
