#include<iostream>
int main() {
using namespace std;
char ch = 'M';
int i = ch;
cout << "The ASCII code for ch" << ch << " is " << i << endl;
cout << "Add one to the character code"<<endl;
ch = ch + 1;
i = i + 1;
cout << "The ASCII code for ch " << ch << " is " << i << endl;
}
结果:
The ASCII code for chM is 77
Add one to the character code
The ASCII code for ch N is 78
‘M’表示字符M的数值编码,因此将char变量ch初始化为‘M’(char ch = ‘M’)就是把ch设置成77.
然后程序将同样的值赋给int变量i,此时ch,i都是77.
接下来,cout把ch显示为M,而把i显示成77.这就是值的类型,将引导cout选择如何显示值(智能对象)
由于ch的值实际上是一个整数,可以对他进行整数操作。
自己乱试:
这里把ch初始化为数字53,打印出来发现,是数字5,所以说,53是5的ASCII码值,可以直接初始化字符的ASCII码值,不用加引号。
书上介绍的put()成员函数,是属于类ostream里面的,cout.put()的含义是:利用ostream类里面的cout对象来使用put()函数,‘.’被称为成员运算符。
cout.put()成员函数提供了另外一种显示字符的方法,可以代替<<运算符。同时它可以将int类型的整数,看作ASCII码,输出字符。总之,它显示的一定是字符。
#include<iostream>
int main() {
using namespace std;
char ch = 53;
int i = ch;
cout << "The ASCII code for ch " << ch << " is " << i << endl;
ch = ch + 1;
i = i + 1;
cout << "Displaying char ch using cout.put(ch): ";
cout.put(ch) << endl;
cout << i << endl;
cout.put(i);
}
结果:
The ASCII code for ch 5 is 53
Displaying char ch using cout.put(ch): 6
54
6