3.4 char类型
1. 编译输出:
Enter a character: Hola! Thank you for the C character.
2. 代码详解:
char类型是专为存储字符而设计的,如字母和数字。
通过使用字母的数值编码来存储字母。因此,char类型是另一宗整型。
char足够长,能够表示计算机系统中所有基本字符—字母、数字、标点符号等。实际上,很多系统支持的字符都不超过128个,因此使用一个字节就可以表示所有的符号。char最常用来处理字符,也可以将它用做比short更小的整型。
美国最常用的符号集是ASCII字符集,字符集中的字符用数值编码(ASCII码)表示。如A-65,M-77。
cin和cout的行为都是由变量类型引导的。
输入时,cin将键盘输入的M转换为77;输出时,cout将值77转换为所显示的字符M。
morechar.cpp: the char type and int type contrasted
#include iostream int main() using namespace std; char ch = C int i = ch; cout The ASCII code for ch is i endl; cout Add one to the character code: endl; ch = ch + 1; i = ch; cout The ASCII code for ch is i endl; cout Displaying char ch using cout.put(ch): cout.put(ch); cout.put( ! cout endl Done endl; return 0; }
1. 编译输出:
The ASCII code for C is 67 Add one to the character code: The ASCII code for D is 68 Displaying char ch using cout.put(ch): D! Done
2. 代码详解:
C++对字符用单引号( M ),对字符串使用双引号( The ASCII code ... )。
M 表示字符M的数值编码,因此将char变量ch初始化为 M ,将把c设置为77。然后,程序将同样的值赋给int变量i,这样ch和i的值都是77。接下来,cout把ch显示为M,而把i显示为77。
由于ch实际上是一个整数,因此可以对它使用整数操作。
成员函数cout.put():显示一个字符。
类定义了如何表示和控制数据。成员函数归类所有,描述了操纵类数据的方法。
只有通过类的特定对象来使用成员函数,且必须用句点将对象名和函数名称连接起来,如cout.put()。类:ostream,对象:cout,成员函数:put()。句点称为成员运算符。
cout.put()成员函数提供了另一种显示字符的方法,可以替代 运算符。
bondini.cpp: using escape sequences
#include iostream int main() using namespace std; cout \aOperation \ HyperHype\ is now activated!\n cout Enter your agent code:________\b\b\b\b\b\b\b\b long code; cin code; cout \aYou entered code ...\n cout \aCode verified! Proceed with Plan Z3!\n return 0; }
1. 编译输出:
Operation HyperHype is now activated! Enter your agent code:123456789 You entered 123456789... Code verified! Proceed with Plan Z3!
2. 代码详解:
转义字符
\a表示振铃字符,它可以使终端扬声器振铃。\n表示换行符。\ 将双引号作为常规字符,而不是字符串分隔符。
C++转义序列的编码 可以基于字符的八进制和十六进制编码来使用转义序列。如 hi\x1a there ,十六进制编码\x1a表示Ctrl+Z。
知识扩展:
与int不同,char在默认情况下既不是没有符号,也不是有符号。char是否有符号由C++实现决定,这样编译器开发人员可以最大限度地将这种类型与硬件属性匹配起来。
char表示数值类型时,unsigned char:[0, 255];char:[-128, 127]。
wchar_t: 宽字符类型,可表示扩展字符集。它是一种整数类型,有足够的空间,可以表示系统使用的最大扩展字符集。使用wcin和wcout可用于处理wchar_t流。
bool类型:非零解释为true,零解释为false。bool类型转换为int类型时,字面值true = 1,false = 0。
0条评论