1.1islower 和 isupper 函数
islower和isupper是c++标准库中的字符分类函数,用于检查一个字符是否为小写字母或大写字母.
islower和isupper函数需要包含头文件<cctype>,也可用万能头包含.
函数返回值为bool类型
char ch1='A';
char ch2='b';
//使用islower函数判断字符是否为小写字母
if(islower(ch1) ){
cout << ch1 << "is a lowercase letter." << endl;
} else {
cout << ch1 << "is not a lowercase letter." << endl;
}
//使用isupper 函数判断字符是否为大写字母
if(issupper(ch2)){
cout << ch2 << "is an uppercase letter." << endl;
} else {
cout << ch2 << "is not an uppercase letter." << endl;
}
1.2 tolower 和 toupper函数
tolower(char ch)可以将ch转换为小写字母,如果ch不是大写字母则不进行操作
toupper()同理.
char ch1='A';
char ch2='b';
//使用tolower函数将字符转换为小写字母
char lowercaseCh1 = tolower(ch1);
cout << "Lowercase of" << ch1 << " is " << lowercaseCh1 << endl;
//使用 toupper 函数将字符转换为大写字母
char uppercaseCh2 = toupper(ch2);
cout << "Uppercase of " << ch2 << " is " << uppercaseCh2 << endl;
1.3 ascii码
在ascii码表中 ,大写字母的编码范围是65('A')到90('Z'),而小写字母的编码范围是97('a')到122('z').根据这个规则,可以使用ascii码表进行大小写转换.
char ch='A';
char convertedCh;
if(ch>='A' && ch <= 'Z'){
//大写字母转换为小写字母
convertedCh = ch + 32;
} else if (ch >= 'a' && ch <= 'z') {
//小写字母转换为大写字母
convertedCh = ch -32;
cout << "Converted character: " << convertedCh
} else {
cout << "Incalid character!" << endl;
}
1.4例题
将输入的字符串 大写的转换成小写 小写的就转换成大写
1.4.1 用函数
#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()
{
string s;getline(cin,s);
for(auto &i:s) i = covertedCh(i);
cout << s << '\n';
return 0;
}
1.4.2用ascii
#include <bits/stdc++.h>
using namespace std;
char convertedCh(char ch)
{
if('a' <= ch && ch <= 'z') ch= ch- 'a' + 'A';
else if('A' <= ch && ch <= 'Z') ch=ch-'A'+'a';
return ch;
}
int main()
{
string s; getline(cin,s);
for(auto &i:s) i = cnovertedCh(i);
cout << s << '\n';
return 0;
}