在了解到整型和浮点型以后,再来介绍其余的一种经常使用的类型:字符类型
在我们日常生活中接触的字母,汉字,包括标点符号甚至空格和回车都属于字符类型
在C++中字符类型用char表示,在为char类型赋值时,需要将单独的字符用单引号包裹起来,如图:
#include <iostream>
using namespace std;
int main(){
char ch = 'r';
cout << ch << endl;
return 0;
}
此时,控制台会将字母r打印出来,这时不难理解但是,如果括号中包含的是数字嘞
#include <iostream>
using namespace std;
int main(){
char ch1 = '1';
cout << ch1 << endl;
char ch2 = '12';
cout << ch2 << endl;
return 0;
}
如图,当单引号内部只是一个数字时,输出无误,但是当数字为多个时却只输出最后一个数字。
对于这种情况主要是因为在引号内部的所有数据都会被编译器当作字符进行处理,char表示的是单个的字符类型,只能存储一个字符,所以当引号内有多个数字时便只会输出最后一个。也正是因为引号内的数字是被作为字符进行处理,所有将其相加减时会得到错误的答案。
对于字符类型,在计算机内部有较为独特的处理,在计算机内部会将每一个字符转换为对应的数字存储,再依据数字将对应的字符图形输出到控制台(黑窗口)上,对应关系如下:
由此表不难发现,大写字符‘A’对应的数字是65,小写字符‘a’对应的是97,其中间的差值为32,也就是说对计算机来说,不会将'A'作为字符‘A’进行处理,而是将其作为数字65进行处理,对于小写字符‘a’也是将其作为97进行处理
理解字符的处理方式以后,读者就可以想到,如果改变char变量中数据的对应数字大小即可改变对应的字符类型,如图:
#include <iostream>
using namespace std;
int main(){
char ch;
cout << "请输入任意一个大写字符:";
cin >> ch;
ch = ch + 32;
cout << "其对应的小写字符是:"<< ch << endl;
return 0;
}
读者若有兴趣可以自己再尝试设计一个类似的功能,将小写字符转化为大写字符,以帮助自己更好的理解字符类型的处理