21xrx.com
2024-11-05 12:16:05 Tuesday
登录
文章检索 我的文章 写文章
C++ 判断英文字母大小写:从键盘输入字符
2023-07-05 12:59:33 深夜i     --     --
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 码值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复