C++程序:检查字符是否为字母


在解决一些逻辑编程问题时,使用字符串或字符有时非常有用。字符串是字符的集合,字符是1字节数据类型,用于保存ASCII值中的符号。这些符号可以是英文字母、数字或特殊字符。在本文中,我们将学习如何使用C++来检查字符是否为英文字母。

检查isalpha()函数

要检查一个字符是否为字母,我们可以使用ctype.h头文件中的isalpha()函数。此函数接收一个字符作为输入,当它是字母时返回true,否则返回false。让我们来看下面的C++实现来了解此函数的用法。

示例

#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( isalpha( c ) ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'K' an alphabet? : " << solve( 'K' ) << endl; cout << "Is 'a' an alphabet? : " << solve( 'a' ) << endl; cout << "Is '!' an alphabet? : " << solve( '!' ) << endl; cout << "Is '5' an alphabet? : " << solve( '5' ) << endl; cout << "Is 'f' an alphabet? : " << solve( 'f' ) << endl; }

输出

Is 'K' an alphabet? : True
Is 'a' an alphabet? : True
Is '!' an alphabet? : False
Is '5' an alphabet? : False
Is 'f' an alphabet? : True

创建我们自己的检查函数

上述方法使用的是一个预定义函数,用于检查给定的字符是否为字母。但是,我们也可以通过定义一个带有范围条件的函数来实现相同的功能。算法如下:

算法

  • 读取输入字符c
  • 如果c的ASCII码在小写字母'a'和'z'之间,或者在大写字母'A'和'Z'之间,则
  • 否则
  • 返回false
  • 结束if

示例

#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'T' an alphabet? : " << solve( 'T' ) << endl; cout << "Is 'g' an alphabet? : " << solve( 'g' ) << endl; cout << "Is '?' an alphabet? : " <<solve( '?' ) << endl; cout << "Is '8' an alphabet? : " << solve( '8' ) << endl; cout << "Is 'p' an alphabet? : " << solve( 'p' ) << endl; }

输出

Is 'T' an alphabet? : True
Is 'g' an alphabet? : True
Is '?' an alphabet? : False
Is '8' an alphabet? : False
Is 'p' an alphabet? : True

结论

检查给定字符是否为字母,有几种不同的方法。我们讨论的第一个方法是使用ctype.h头文件中的isalpha函数。当字符为字母时,此函数返回true,否则返回false。在第二个方法中,我们编写了自己的检查函数。这是通过检查ASCII码是否在小写字母'a'到'z'或大写字母'A'到'Z'的给定范围内来实现的。如果是,则返回true,否则返回false。

更新于:2022年10月19日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.