当前位置: 首页 > news >正文

【蓝桥】大小写转换

1、islower()和isupper()

1.1 islower()函数

定义:用于判断一个字符是否为小写字母(即 ‘a’ 到 ‘z’)

1.2 isupper()函数

定义:用于判断一个字符是否为大写字母(即 ‘A’ 到 ‘Z’)

1.3 基础用法

#include <iostream>
#include <cctype> // 包含islower和isupper函数

void checkChar(char ch) {
    if(islower(ch)) {
        std::cout << "The character '" << ch << "' is a lowercase letter.\n";
    } else if(isupper(ch)) {
        std::cout << "The character '" << ch << "' is an uppercase letter.\n";
    } else {
        std::cout << "The character '" << ch << "' is not a letter.\n";
    }
}

int main() {
    checkChar('a'); // 小写字母
    checkChar('Z'); // 大写字母
    checkChar('3'); // 非字母字符
    
    return 0;
}

注意:

  1. 这些函数期望的是整数类型的参数,但实际上通常传递的是字符类型(如 char)。这是因为这些函数可以处理ASCII码值范围内的所有整数,但只有当传入的值代表一个有效的字符时才有意义
  2. 对于非ASCII字符集的支持,考虑使用宽字符及其对应的函数(例如iswlower()iswupper()),它们定义在<cwctype>头文件中

2、tolower()和toupper()

2.1 tolower()函数

定义:用于将一个大写字母转换为其对应的小写形式。如果传入的字符不是大写字母,则该函数返回原始字符

2.2 toupper()函数

定义:用于将一个小写字母转换为其对应的大写形式。如果传入的字符不是小写字母,则该函数返回原始字符

2.3 基础用法

#include <iostream>
#include <cctype> // 包含tolower和toupper函数

void convertChar(char ch) {
    if(isalpha(ch)) { // 检查是否为字母字符
        std::cout << "Original: " << ch << "\n";
        std::cout << "To Lowercase: " << static_cast<char>(tolower(ch)) << "\n";
        std::cout << "To Uppercase: " << static_cast<char>(toupper(ch)) << "\n";
    } else {
        std::cout << "Character '" << ch << "' is not an alphabetic character.\n";
    }
}

int main() {
    convertChar('a'); // 小写字母
    std::cout << "-----\n";
    convertChar('Z'); // 大写字母
    std::cout << "-----\n";
    convertChar('3'); // 非字母字符
    
    return 0;
}

注意:

  1. 这些函数期望的是整数类型的参数,但实际上通常传递的是字符类型(如char)。这是因为这些函数可以处理ASCII码值范围内的所有整数,但只有当传入的值代表一个有效的字符时才有意义
  2. 如果需要处理非ASCII字符集(例如宽字符),应考虑使用相应的宽字符函数,比如towlower()towupper(),它们定义在<cwctype>头文件中

微语录:在每一个看似平凡的日子里,都藏着不平凡的机会。关键在于我们是否准备好去发现并抓住它们。

相关文章:

  • [含文档+PPT+源码等]精品基于Python实现的微信小程序的在线医疗咨询系统
  • 我们应该如何优化UI(基于UGUI)
  • 爬虫:PhantomJS的详细使用和实战案例
  • 【电力——tarjan割点,求连通块】
  • Leetcode132:分割回文串 II
  • 【领域】百度OCR识别
  • 请AI帮我们进行JAVA ORM 框架的选型, Hibernate, Mybatis, Bee,如何选择
  • 类和对象进一步了解c++
  • ​SMPP 协议在短信网关中的应用与迁移指南​附上文档地址(另外有个包内的方法,我使用的版本是又问题的,文章已经附上解决方式)
  • cellphonedb v5受配体多组比较气泡图(原创函数)
  • Ubuntu系统中测试硬盘速度
  • java作业
  • [转盘寿司]
  • ES批量查询
  • 网络分层 DNS CDN简单概念梳理
  • vcpkg 与 CMake 集成的步骤
  • 从零搭建微服务项目Pro(第1-3章——Quartz定时任务模块整合)
  • Perl 调用 DeepSeek API 脚本
  • 云原生监控篇——全链路可观测性与AIOps实战
  • 安装即是高级版!专业版软件,
  • 厦门做企业网站找谁/百度seo排名优化教程
  • 网站建设设计报价/网推团队
  • 阎良做网站/衡水seo优化
  • 做网站上的在线支付怎么做/免费外链网站
  • 做动态网站学php_asp+还是jsp好?/实时新闻
  • 求网站开发客户/google关键词推广