学习C++ – C++ char类型
char类型设计用于存储字符,如字母和数字。
最常见的符号集是ASCII字符集。
例如,65是字符A的代码,77是字符M的代码。
请尝试以下代码中的char类型。
#include <iostream> int main( ) { using namespace std; char ch; // declare a char variable cout << "Enter a character: " << endl; cin >> ch; cout << "hi! "; cout << "Thank you for the " << ch << " character." << endl; return 0; }
例子
下面的代码说明了char类型和int类型的对比。
#include <iostream>
int main()
{
using namespace std;
char ch = "M"; // assign ASCII code for M to ch
int i = ch; // store same code in an int
cout << "The ASCII code for " << ch << " is " << i << endl;
cout << "Add one to the character code:" << endl;
ch = ch + 1; // change character code in ch
i = ch; // save new character code in i
cout << "The ASCII code for " << ch << " is " << i << endl;
cout.put(ch);
// using cout.put() to display a char constant
cout.put("!");
cout << endl << "Done" << endl;
return 0;
}
上面的代码生成以下结果。
char字面值
你有几个选择在C ++中编写字符文字。
我们可以写普通字符,如字母,标点符号和数字,是将字符括在单引号中。
该符号代表字符的数字代码。
例如,ASCII系统具有以下对应关系:
‘A’为65,ASCII码为A.’a’为97,ASCII码为a。
转义序列
C ++有特殊的符号,称为转义序列,如下表所示。
字符名称 | ASCII符号 | C++代码 | ASCII十进制 | ASCII十六进制代码 |
---|---|---|---|---|
换页符 | NL(LF) | \n | 10 | 0xA |
水平制表符 | HT | \t | 9 | 0x9 |
垂直制表符 | VT | \v | 11 | 0xB |
退格 | BS | \b | 8 | 0x8 |
回车 | CR | \r | 13 | 0xD |
响铃(警报) | BEL | \a | 7 | 0x7 |
反斜杠 | \ | \\ | 92 | 0x5C |
文本问号 | ? | \? | 63 | 0x3F |
单引号 | “ | \” | 39 | 0x27 |
双引号 | “ | \” | 34 | 0x22 |
例如,\a表示警报字符,您的终端扬声器会发出蜂鸣声或响铃声。
转义序列\n表示换行符。
而 \”表示双引号作为普通字符而不是字符串分隔符。
char alarm = "\a"; cout << alarm << "this is a test!\a\n"; cout << "Java \"hi \" C++\n was here!\n";
换行符为插入新行提供了一种替代方法。
以下三个操作将屏幕光标移动到下一行的开头:
cout << endl; // using the endl manipulator cout << "\n"; // using a character constant cout << "\n"; // using a string
您可以使用基于字符的八进制或十六进制代码的转义序列。
例如,Ctrl + Z的ASCII码为26,八进制为032,十六进制为0x1a。
您可以使用以下任一转义序列来表示此字符:\032或\ x1a。
下面的代码演示了一些转义序列。
#include <iostream>
int main() {
using namespace std;
cout << "\ahi \"hey\" 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 << "\ahi! !\n";
return 0;
}
上面的代码生成以下结果。