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

C++学习:大小写转换

islower/isupper函数

islower和isupper是C++标准库中的字符分类函数,用于检查一个字符是否为小写字母或大写字母。

islower和isupper函数需要包含头文件,也可用万能头文<bits/stdc++.h>包含。

函数返回值为bool类型。

char ch1 = 'A';
char ch2 = 'a';//使用islower函数判断字符是否为小写字母
if(islower(ch1)){cout << ch1 << 'is a lowercase letter.' << endl; 
}else{cout << ch1 << 'is not a lowercase letter.' << endl; 
}//使用isupper函数判断字符是否为小写字母
if(isupper(ch1)){cout << ch2 << 'is a uppercase letter.' << endl; 
}else{cout << ch2 << 'is not a uppercase letter.' << endl; 
}

tolower/toupper函数

tolower(char ch)可以将ch转换为小写字母,如果ch不是大写字母则不进行操作。toupper()同理。

char ch1 = 'A';
char ch2 = 'a';char lowercaseCh1 = tolower(ch1);
cout << "Lowercase of " << ch1 << "is" << lowercaseCh1 << endl;char uppercaseCh2 = toupper(ch2);
cout << "Uppercase of " << ch2 << "is" << uppercaseCh2 << endl;

Ascall码

char - 8bit - 2^8个 -256 个-其中有一位符号位-所以用到的是128个字符

char看成一个数字

'c' - 'a' + 'A' = 'C' c转变成C

在了解了ascii码后,我们可以通过直接对英文字母进行加减运算计算出其大小写的字符。

在ASCII码表中,大写字母的编码范围是65(A)到90(Z),而小写字母的编码范围是97(‘a’)到122(z)。根据这个规则,可以使用ASCII码表进行大小写转换。

Tips:在程序设计时,尤其是用到char类型时,一定要注意到底是“数字09”还是“字符09”

它们也可以通过ascii进行转换。

’6‘ - ’0‘ = 6

#include<bits/stdc++.h>
using namespace std;
//方法一
char convertedCh(char ch)
{if (islower(ch))ch = toupper(ch);else if (isupper(ch))ch = tolower(ch);return ch;
}int main(void) {string ch; getline(cin, ch);for (auto& i : ch)i = convertedCh(i);cout << ch << '\n';return 0;
}//方法二char convertedCh(char ch)
{if('a' <= ch&& ch <= 'z')ch = 'A' + ch - 'a';if('A' <= ch&& ch <= 'Z')ch = 'a' + ch - 'A';return ch;}

相关文章:

C++学习:大小写转换

islower/isupper函数 islower和isupper是C标准库中的字符分类函数&#xff0c;用于检查一个字符是否为小写字母或大写字母。 islower和isupper函数需要包含头文件&#xff0c;也可用万能头文<bits/stdc.h>包含。 函数返回值为bool类型。 char ch1 A; char ch2 a;//…...

【王道数据结构】【chapter5树与二叉树】【P159t16】

试设计判断两棵二叉树是否相似的算法。所谓二叉树T1和T2相似&#xff0c;指的是T1和T2都是空的二叉树或都只有一个根节点&#xff1b;或者T1的左子树和T2的左子树是相似的&#xff0c;且T1的右子树和T2的右子树是相似的 #include <iostream> #include <stack> #inc…...

代码随想录算法训练营第51天 | 139.单词拆分 多重背包理论基础

单词拆分 这道题最后是判断能否组成&#xff0c;很像回溯法的问题形式&#xff0c;和分割回文串那道题比较类似&#xff0c;所以是可以用回溯法解决的&#xff0c;但是回溯法需要使用记忆化递归来避免超时。 class Solution{ public:bool backtracking(const string s, const …...

weilai8游戏爬虫

#!/usr/bin/python # -*- coding: UTF-8 -*- #!/usr/bin/python # -*- coding: UTF-8 -*- import os,csv import re import random import time import requests from lxml import etreefrom urllib.parse import quote, unquotepage98 sess requests.Session()#创建一个sessi…...

【Java程序设计】【C00261】基于Springboot的休闲娱乐代理售票系统(有论文)

基于Springboot的休闲娱乐代理售票系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的休闲娱乐代理售票系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块&#xff1a;休闲娱乐代理…...

【Linux】学习-基础IO拓展篇

Linux基础IO拓展篇—详解文件系统 理解文件系统 在Linux基础IO篇中&#xff0c;我们站在用户的视角对文件进行了理解&#xff0c;主要是针对被打开的文件&#xff0c;那么有没有没有被打开的文件呢&#xff1f;当然有&#xff01;今天我们换个视角&#xff0c;来站在系统的角…...

算法详解(力扣141——环形链表系列)

博主ID&#xff1a;代码小豪 文章目录 环形链表环形链表的性质分析快慢指针法指针的追及相遇问题 环形链表&#xff08;2&#xff09; 环形链表 先来看看环形链表的原题&#xff1a; 中间的部分叙述有点繁杂&#xff0c;简单来概括就是&#xff0c;假如有一个节点&#xff0c…...

浅谈路由器交换结构

一、路由器技术概述 路由器&#xff08;Router&#xff09;是连接两个或多个网络的硬件设备&#xff0c;在网络间起网关的作用&#xff0c;是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议&#xff0c;例如某个局域网使用的以太网协议…...

Linux第51步_移植ST公司的linux内核第3步_添加修改设备树

1、设备树文件的路径 1)、创建linux中的设备树头文件 在“my_linux/linux-5.4.31/arch/arm/boot/dts/”目录中&#xff0c;以“stm32mp15xx-edx.dtsi”为蓝本&#xff0c;复制一份&#xff0c;并命名为 “stm32mp157d-atk.dtsi”&#xff0c;这就是我们开发板的设备树头文件。…...

【PyTorch】PyTorch中张量(Tensor)统计操作

PyTorch深度学习总结 第五章 PyTorch中张量(Tensor)统计操作 文章目录 PyTorch深度学习总结前言一、最值查找二、特殊值查询 前言 上文介绍了PyTorch中张量(Tensor)的计算操作&#xff0c;本文将介绍张量的统计操作。 一、最值查找 函数描述torch.max()找出张量中的最大值to…...

安卓游戏开发框架应用场景以及优劣分析

一、引言 在移动游戏开发领域&#xff0c;选择合适的开发框架是项目成功的关键因素之一。特别是对于安卓平台&#xff0c;由于其开放性和庞大的用户基础&#xff0c;不同的游戏开发框架应运而生&#xff0c;旨在帮助开发者高效地构建游戏应用。以下是一些流行的安卓游戏开发框架…...

单片机学习笔记---LCD1602

LCD1602介绍 LCD1602&#xff08;Liquid Crystal Display&#xff09;液晶显示屏是一种字符型液晶显示模块&#xff0c;可以显示ASCII码的标准字符和其它的一些内置特殊字符&#xff08;比如日文的片假名&#xff09;&#xff0c;还可以有8个自定义字符 显示容量&#xff1a;…...

django中实现适配器模式

在Django中实现适配器模式&#xff08;Adapter Pattern&#xff09;涉及到创建一个适配器类&#xff0c;它允许不兼容的接口之间进行交互。适配器模式通常用于将一个类的接口转换为另一个客户端期望的接口。 一&#xff1a;实现例子 下面是一个简单的例子&#xff0c;演示如何…...

题记(42)--EXCEL排序

目录 一、题目内容 二、输入描述 三、输出描述 四、输入输出示例 五、完整C语言代码 一、题目内容 Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例&#xff0c;首先输出1行“Case i:”&#xff0c;其中 i 是测试用例的编号&#…...

【学网攻】 第(28)节 -- OSPF虚链路

系列文章目录 目录 系列文章目录 文章目录 前言 一、什么是OSPF虚链路&#xff1f; 二、实验 1.引入 实验目标 实验背景 技术原理 实验步骤 实验设备 实验拓扑图 实验配置 扩展 实验拓扑图 实验配置 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻…...

百面嵌入式专栏(面试题)驱动开发面试题汇总1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux驱动程序的功能是什么? 对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数? 答案:kmalloc()、kzalloc()、vm…...

Starknet 的 JavaScript 库:Starknet.js、get-starknet和starknet-react

文章目录 Starknet 的 JavaScript 库Starknet.jsget-starknetstarknet-reactStarknet 的 JavaScript 库Starknet.js 官方:https://www.starknetjs.com/ Starknet.js 是一个与 Starknet 交互的 JavaScript 库,通常以脚本或去中心化形式进行交互应用程序。 Starknet.js 的灵感…...

debian11 安装 k8s,containerd ,阿里云镜像(已成功)

1. 环境准备 系统要求&#xff1a;至少 2GB RAM&#xff08;建议 4GB 或更多&#xff09;&#xff0c;网络连接。 节点准备&#xff1a;至少 3 台机器&#xff0c;1 台作为 Master 节点&#xff0c;2 台作为 Worker 节点。 安装sudo apt update apt install sudo设置主机名&a…...

Spring Task定时任务

目录 1、介绍 2、cron表达式 2.1、在线生成器 2.2、通配符 3、代码示例 3.1、使用步骤 3.2、 代码开发 3.3、测试 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff0c;擅长web应用开发…...

【设计模式】23中设计模式笔记

设计模式分类 模板方法模式 核心就是设计一个部分抽象类。 这个类具有少量具体的方法&#xff0c;和大量抽象的方法&#xff0c;具体的方法是为外界提供服务的点&#xff0c;具体方法中定义了抽象方法的执行序列 装饰器模式 现在有一个对象A&#xff0c;希望A的a方法被修饰 …...

从LED闪烁到任务调度:手把手教你用英飞凌AURIX的STM系统定时器构建简单时间片

从LED闪烁到任务调度&#xff1a;基于英飞凌AURIX的STM系统定时器构建轻量级时间片框架 在嵌入式开发中&#xff0c;系统定时器&#xff08;STM&#xff09;常被简化为"高级延时工具"&#xff0c;但它的潜力远不止于此。当开发者面对需要同时处理LED状态控制、按键扫…...

C# + OpenCVSharp实战:搞定工业零件旋转角度匹配(附完整源码)

C# OpenCVSharp工业视觉实战&#xff1a;高精度旋转零件匹配的工程化实现 在自动化生产线中&#xff0c;零件定位的准确性直接关系到装配质量和生产效率。当数以千计的金属零件以随机角度通过传送带时&#xff0c;传统的人工检测或固定角度的模板匹配方法往往束手无策。某汽车…...

2009-2024年日本人口统计数据

本数据集为日本多层级行政区划的人口统计数据&#xff0c;涵盖都道府县、城市以及政令指定都市的市区三级空间单元&#xff0c;记录了人口规模、结构及动态变化等核心指标。数据可用于人口演变分析、区域发展研究及空间计量模型构建。基于此数据集&#xff0c;可系统开展以下研…...

实战剖析:利用Fluxion构建WiFi钓鱼热点与密码捕获

1. 环境准备与工具安装 在开始使用Fluxion进行WiFi安全测试之前&#xff0c;我们需要确保具备合适的硬件和软件环境。首先&#xff0c;你需要一台支持监听模式的无线网卡&#xff0c;这是进行任何无线安全测试的基础硬件。我推荐使用RTL8812AU芯片的网卡&#xff0c;实测下来兼…...

【免费下载】 MobaXterm 汉化版资源文件下载

MobaXterm 汉化版资源文件下载 资源文件介绍 文件名: MobaXterm_CHS.zip 文件类型: 压缩包 文件描述: 该资源文件为 MobaXterm 的汉化版本&#xff0c;提供了增强型终端、X 服务器和 Unix 命令集&#xff08;GNU/Cygwin&#xff09;工具箱的功能。 MobaXterm 简介 MobaXterm 又…...

国产多模态大模型:产业协同全景与实战指南

国产多模态大模型&#xff1a;产业协同全景与实战指南 引言 在人工智能浪潮席卷全球的背景下&#xff0c;国产多模态大模型正从技术探索迈向广泛的产业协同应用。与只能处理文本或图像的单一模态模型相比&#xff0c;多模态大模型能同时理解、关联和生成文本、图像、音频、视频…...

从 JetBrains 全家桶用户视角,聊聊 DataGrip 那些被低估的『协同』技巧:共享查询、布局同步与团队规范

从 JetBrains 全家桶用户视角&#xff0c;聊聊 DataGrip 那些被低估的『协同』技巧&#xff1a;共享查询、布局同步与团队规范 在团队开发环境中&#xff0c;数据库操作往往被视为个人技能而非团队资产。当开发者频繁切换于 IntelliJ IDEA、PyCharm 和 DataGrip 之间时&#xf…...

Watchify常见问题解决方案:解决监视失败的7个实用技巧

Watchify常见问题解决方案&#xff1a;解决监视失败的7个实用技巧 【免费下载链接】watchify watch mode for browserify builds 项目地址: https://gitcode.com/gh_mirrors/wa/watchify Watchify作为Browserify的监视模式工具&#xff0c;能在文件变化时自动重新构建&a…...

(最新版)GitGitHub实操图文详解教程(06)—git status命令

版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 1. 应用场景 git status 是 Git 中最常用的命令之一,用于查看当前仓库的状态。它能够告诉你: 当前所在分支 哪些文件被修改但未暂存 哪些文件已暂存但尚未提交 哪些文件未被 Git 跟踪 对于初学…...

langchain4j笔记-09

RAG 1. easy rag Test void test03() {// 1. 创建模型// 2. 加载文档List<Document> documents ClassPathDocumentLoader.loadDocuments("excel");//List<Document> documents FileSystemDocumentLoader.loadDocuments("/home/langchain4j/docum…...