21xrx.com
2025-03-28 15:38:41 Friday
文章检索 我的文章 写文章
C++ 判断英文字母大小写:从键盘输入字符
2023-07-05 12:59:33 深夜i     11     0
C++ 判断 英文字母 大小写 键盘输入

在 C++ 中,要判断一个字符是否为英文字母的大小写,可以使用 ASCII 码值来判断。ASCII 是字符编码的标准,英文字母的 ASCII 码值分为两类:大写字母的 ASCII 码值范围是 65 到 90,小写字母的 ASCII 码值范围是 97 到 122。因此,当我们得到一个字符时,只需要判断它的 ASCII 码值是否在这个范围内,就可以确定它是大写字母、小写字母还是其他字符。

下面是一个从键盘输入字符,并判断其大小写的 C++ 程序:

#include <iostream>
using namespace std;
int main() {
  char ch;
  cout << "请输入一个字符:" << endl;
  cin >> ch;
  if (ch >= 65 && ch <= 90)
    cout << "您输入的是大写字母" << endl;
   else if (ch >= 97 && ch <= 122)
    cout << "您输入的是小写字母" << endl;
   else
    cout << "您输入的不是字母" << endl;
  
  return 0;
}

该程序首先提示用户输入一个字符,然后使用 `cin` 读入字符并存储在变量 `ch` 中。接下来,通过判断 `ch` 的 ASCII 码值范围,输出相应的判断结果。如果 `ch` 不在 ASCII 码值范围内,就认为它不是字母。

可以对该程序进行进一步改进,增加循环体以便多次输入字符进行判断。同时,可以考虑使用 `toupper` 和 `tolower` 函数来将一个字符转换成大写或小写,以减少代码冗余。例如:

#include <iostream>
#include <cctype>
using namespace std;
int main() {
  char ch;
  do {
    cout << "请输入一个字符(输入 0 结束):" << endl;
    cin >> ch;
    if (isalpha(ch)) {
      if (ch == toupper(ch))
        cout << "您输入的是大写字母" << endl;
       else
        cout << "您输入的是小写字母" << endl;
      
    } else if (ch != '0')
      cout << "您输入的不是字母" << endl;
    
  } while (ch != '0');
  return 0;
}

该程序使用了一个 do-while 循环体,直到用户输入 0 才退出循环。每次循环首先提示用户输入一个字符,然后判断该字符是否是字母。如果是字母,则使用 `isupper` 函数判断是否是大写字母,如果是则输出 "您输入的是大写字母",否则输出 "您输入的是小写字母"。如果不是字母,则输出 "您输入的不是字母"。注意,这里使用了 `toupper` 和 `tolower` 函数,可以直接将一个字符转换成大写或小写,不需要手动比较 ASCII 码值。

  
  

评论区

请求出错了