1. 字符的输入输出

输入一个字符

char x;
cin>>x;   // 从键盘上读取一个字符,例如字符a或b,又或者数字1或2; 但是无法读取空格或tab等空白字符

输出一个字符

cout<<x;  // 把x这个char类型变量的值输出到屏幕上

也可以使用scanfprintf,例如:

int t;
scanf("%c", &t); // 从键盘输入一个字符,注意scanf是可以输入空格或tab等空白符的
				 // 注意scanf中,变量名必须加地址符&,只有加上地址符,scanf才能找到这个变量在内存中的位置
printf("%c", t);   // 向屏幕上输出字符变量t的实际字符

另外介绍一种C语言中的字符输入输出方法

char a = getchar();    // getchar函数可以从键盘读取一个任意字符(包括空格等空白符)
putchar(a);            // puchar函数可以向屏幕上输出一个字符

2. 格式化输出字符

输出字符时,同样可以控制格式

char a = 'f';       // 定义了一个字符型变量, 值为字母f
printf("*%4c*", a); // 格式化输出变量a的值(也就是字母f), 当宽度不足4时, 前面会自动补空格

屏幕上会输出(f前面有3个空格):

*   f*

3. 特殊字符的输出

思考: 如何输出单引号,双引号,百分号等这些在C++中有特殊含义的字符呢? 例如, 怎样让屏幕上显示一个双引号? 使用转义字符 \

cout<<"\"";  // 用转义字符和双引号组合起来,就可以向屏幕上输出一个双引号
cout<<"\'";  // 输出但引号
cout<<"\\";  // 输出一个反斜杠,也就是\本身

特别说明关于百分号%的输出, 如果你使用cout来输出, 直接输出即可:

cout<<"%";   // 屏幕上输出一个%

而如果你使用printf来输出, 就会和格式控制符(%d)冲突, 所以需要用两个百分号%%才能输出一个百分号%:

printf("%%"); // 屏幕上输出一个%

如果你想在printf输出一个换行, 是不能用endl的, 可以使用\n, 例如

printf("123\n"); // 屏幕上输出123, 并且最后会输出一个换行