📜  isupper() 和 islower() 及其在 C++ 中的应用(1)

📅  最后修改于: 2023-12-03 15:15:53.608000             🧑  作者: Mango

isupper() 和 islower() 及其在 C++ 中的应用

isupper()islower() 是 C++ 中 <cctype> 库中的两个函数。它们分别用来检查一个字符是否为大写字母和小写字母。

isupper()

isupper() 函数的声明如下:

int isupper(int c);

其中,c 参数是待检测字符的 ASCII 码值。如果 c 是大写字母,则返回非零值(通常是 1),否则返回零。

下面是一个使用 isupper() 函数的例子:

#include <iostream>
#include <cctype>

int main()
{
    char c = 'A';
    if (isupper(c)) {
        std::cout << c << " is an uppercase letter\n";
    } else {
        std::cout << c << " is not an uppercase letter\n";
    }
    return 0;
}

这个程序会输出:

A is an uppercase letter
islower()

islower() 函数的声明如下:

int islower(int c);

其中,c 参数是待检测字符的 ASCII 码值。如果 c 是小写字母,则返回非零值(通常是 1),否则返回零。

下面是一个使用 islower() 函数的例子:

#include <iostream>
#include <cctype>

int main()
{
    char c = 'a';
    if (islower(c)) {
        std::cout << c << " is a lowercase letter\n";
    } else {
        std::cout << c << " is not a lowercase letter\n";
    }
    return 0;
}

这个程序会输出:

a is a lowercase letter
应用

isupper()islower() 函数在 C++ 中的应用非常广泛。它们常常用于字符串的处理和判断。

例如,我们可以使用 isupper() 函数来统计一个字符串中大写字母的个数:

#include <iostream>
#include <cctype>
#include <string>

int count_uppercase_letters(const std::string& str)
{
    int count = 0;
    for (char c : str) {
        if (isupper(c)) {
            count++;
        }
    }
    return count;
}

int main()
{
    std::string str = "Hello, world!";
    std::cout << str << " contains " << count_uppercase_letters(str) << " uppercase letters\n";
    return 0;
}

这个程序会输出:

Hello, world! contains 1 uppercase letters

同样地,我们也可以使用 islower() 函数来统计一个字符串中小写字母的个数。

#include <iostream>
#include <cctype>
#include <string>

int count_lowercase_letters(const std::string& str)
{
    int count = 0;
    for (char c : str) {
        if (islower(c)) {
            count++;
        }
    }
    return count;
}

int main()
{
    std::string str = "Hello, world!";
    std::cout << str << " contains " << count_lowercase_letters(str) << " lowercase letters\n";
    return 0;
}

这个程序会输出:

Hello, world! contains 9 lowercase letters

总之,isupper()islower() 是 C++ 中很有用的函数,它们能够方便地帮助我们处理和判断字符串。