跳到主要内容

C++ isalpha() 判断字符是否为字母

isalpha() 函数用于检查给定字符是否为字母。它定义在 cctype 头文件中。

示例

#include <iostream>
#include <cctype>
using namespace std;

int main() {

// 检查 '7' 是否为字母
int result = isalpha('7');

cout << result;

return 0;
}

// 输出:0

isalpha() 语法

isalpha() 的语法是:

isalpha(int ch);

这里,ch 是我们想要检查的字符。

isalpha() 参数

isalpha() 函数接受以下参数:

  • ch - 要检查的字符,转换为 int 类型或 EOF

isalpha() 返回值

isalpha() 函数返回:

  • 如果 ch 是字母,则返回非零值
  • 如果 ch 不是字母,则返回零

isalpha() 原型

isalpha()cctype 头文件中定义的原型是:

int isalpha(int ch);

这里,ch 被检查是否为字母,这是根据当前安装的 C 语言区域设置分类的。默认情况下,以下字符被视为字母:

  • 大写字母: 'A''Z'
  • 小写字母: 'a''z'

isalpha() 未定义行为

如果出现以下情况,isalpha() 的行为是未定义的:

  • ch 的值无法表示为 unsigned char,或
  • ch 的值不等于 EOF

示例:C++ isalpha()

#include <cctype>
#include <iostream>
#include <cstring>

using namespace std;

int main() {
char str[] = "ad138kw+~!$%?';]qjj";
int count = 0, check;

// 循环计算 str 中字母的数量
for (int i = 0; i <= strlen(str); ++i) {

// 检查 str[i] 是否为字母
check = isalpha(str[i]);

// 如果 str[i] 是字母,则增加计数
if (check)
++count;
}

cout << "字母字符数量:" << count << endl;
cout << "非字母字符数量:" << strlen(str) - count;

return 0;
}

输出

字母字符数量:7
非字母字符数量:12

在这个程序中,我们使用了 for 循环和 isalpha() 函数来计算 str 中字母的数量。

程序中使用的变量和代码包括:

  • strlen(str) - 获取 str 字符串的长度
  • check - 使用 isalpha() 检查 str[i] 是否为字母
  • count - 存储 str 中字母的数量
  • strlen(str) - count - 计算 str 中非字母字符的数量