哈喽,脸皮厚不更新的我来啦。今天呢我们有一位新成员加入,暂且叫他小F吧,充当我们的画外音。
小F,打个招呼~
你就是为了凑字数找的我,就不说就不说。
让你来学习的,不是来摆架子的,不说的话就别来了。
(强制消音)
今天我们来到字符串这个内容。
我们以前讲过变量,但是现有的变量只有数字,但是很多情况我们要用到字符和字符串来解决问题,行了他来啦~
#include <iostream>
using namespace std;
int main()
{
char a = 'a';//单引号
cout << a << endl;
cin >> a;
cout << a;
return 0;
}
可以看到,char类型此处就是一个字符。
但是细心的人可能会发现,在第四章里有个东西。
快说是什么!
看来小F不怎么细心,那么我来放给你看
对哦,为什么char明明是数字类型,这里怎么有字符呢?
很好,char实际上是数字类型,根据ASCII编码,输出输入的是数字对应的字符,接下来给小F放一个表格。
居然懒得打字······
有问题吗,话那么多!
(强制消音)
而C++里,可以运用强制转换来转换字符和对应的数字(ASCII编码)
就这样:
int a;
char b;
cout << int(b) << endl;
cout << char(a) << endl;
简简单单~
(小F努力想说话)
什么事?小F
既然char的本质是数字,可不可以加减运算呢?
不错,会自己思考了
当然可以加减运算啦,而且因为字符也是一个char类型,所以也可以加减运算。
比如:
char a = 'a';
cout << a + 1 << endl;
输出
b
就是ASCII转换一下的数字做加减,可以理解为char内部其实是数字,都可以运算,转换,只不过转换形式不同。
那么猜一下:
char a = '0' + '1';
cout << a << endl;
结果会怎么样呢?
肯定是01!
恭喜小F,成功做出来了,下次做对就好了。
1?
还错······
实际上,这是一个数字,所以结果输出是a的数字形式+b的数字形式
输出应该是
a
接下来运用这些知识,我们可以巧妙完成字母大小写转换。
char a;
cin >> a;
a = a - 'a' + 'A';//小写转大写
输入的
c
输出
C
同理,大写转小写只需要变一下:
a = a - 'A' + 'a';
当然,前提条件是输入的是小写(大写),否则就只是ASCII数字运算,结果会出乎你的意料。
行了,就将这些,拜拜。
拜拜。