ASCII码(ASCII code)就是用来储存字母和符号的字符编码,他区分大小写。例如A的ASCII码是65,B是66,而小写的a是97,b是98。

在我们声明变量类型后,例如int 或者 char,我们的编译器就会记住他,然后通过cin和cout进行转换、储存、显示。

例如,我们输入int a=97; cout <<a; 则显示出来的是97

如果我们输入

char a;
	cin >> a; //注:假如这时我们在运行程序的时候输入字母a
	cout << a;



则显示出来的是a。

如果我们输入:



char a;
	cin >> a;	//假如这时在运行程序的时候输入字母a。
	int b = a;	//变量b被声明为整数,而非字母。由于a在储存时被储存为97,因此b被赋值为储存值97。
	cout << a << endl;	//显示字母a(因为声明的整型char)
	cout << b << endl;	//显示整数b(因为声明的整型为int)



这个时候,显示的结果为a 和 97。

 

上代码:

#include <iostream>
using namespace std;

int main()
{
	char a;	//声明变量a为char,即可以为字母和整数
	cout << "Please type a word like a: ";	//告诉你,输入一个字母,比如字母a。
	cin >> a;	//将你输入的储存为变量a。如果你输入的大于一个,则只储存第一个
	int i = a;	//声明变量b为int,即只能为整数
	cout << "You have type the " << a << " .Is that right?" << endl;	//告诉你,你输入的是变量a(如果你输入的是字母,则显示字母,输入数字则显示数字)
	cout << "The ASCII code for " << a << " is " << i << endl;	//告诉你,你输入的字母(或数字)的ASCII码为多少,比如a就是97
	cout << endl;	//空一行
	cout << "Now I will give you another word and this word is the next word of the word you typed:" << ++a << endl;	//显示你输入字母的下一个字母,++a是a+1,准确的说,是你输入字母/数字的ASCII码加一后所代表的字母/数字
	i = a;	//整数变量i再次等于变量a,需要注意的是,这个变量a是之前变量a+1后的a。以下同
	cout << "And the ASCII code for " << a << " is " << i << endl;	//显示整型char变量a和其的ASCII code
	system("pause");
	return 0;

}



这个的关键就在于,使用char的时候,他是以ASCII码的形式储存的,而非是以int的整数形式储存的。例如,ASCII码的1,其值是49,而不是1。而这个时候,变量+1也是其ASCII码值+1。因此

char a = 'a';
	a=a + 1;
	cout << a << endl;

所显示的是b。

再另外,需要注意的是,如果要直接赋值给char a,而且要赋值的是一个字母,则需要用单引号将其包括起来,如char a = 'a';  。如果要赋值的是一个字符串,则用双引号,也要给变量加中括号。上代码:


#include <iostream>
using namespace std;

int main()
{
	char a[10];	//将变量a变为一个字符串,后面的[10]是字符串的长度。如果输入的超过这个长度,虽然能显示出来,但是会出错,总之还是不要了。
	char b[10] = "aaaa";	//假如b后面不加[10],且括号里面的数字10大于等于后面赋值的双引号里面的长度,就会出错。
	cin >> a;
	cout << a << endl;
	cout << b << endl;
	system("pause");
	return 0;
}