小白学习C++ 教程九C++中字符型字符串和转义字符

Posted 刘润森!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白学习C++ 教程九C++中字符型字符串和转义字符相关的知识,希望对你有一定的参考价值。

@Author:Runsen

字符串

要在 C++ 中使用字符串,我们首先需要#include <string> 标头,来引入 std::string 的声明,就可以定义std::string类型的变量。

就像普通变量一样,可以按照预期对字符串进行初始化或赋值:

// 使用字符串文字“Runsen”初始化myName
std::string myName{ "Runsen" };
// 将字符串文字“maoli”赋给变量myName 
myName = "maoli"; // 

字符串可以使用std::cout打印输出:

#include <iostream>
#include <string>
 
int main()
{
    std::string myName{ "Runsen" };
    std::cout << "My name is: " << myName << '\\n';
}

要将整行输入读入字符串,最好使用该std::getline()函数。std::getline()有两个参数:第一个是std::cin,第二个是你的字符串变量。

#include <string> // For std::string and std::getline
#include <iostream>
#include <iomanip> // For std::ws
 
int main()
{
    std::cout << "Enter your full name: ";
    std::string name{};
    std::getline(std::cin >> std::ws, name); // read a full line of text into name
 
    std::cout << "Enter your age: ";
    std::string age{};
    std::getline(std::cin >> std::ws, age); // read a full line of text into age
 
    std::cout << "Your name is " << name << " and your age is " << age << '\\n';
 
    return 0;
}

输出如下:

Enter your full name: Runsen
Enter your age: 22
Your name is Runsen and your age is 22

字符

作用:字符型变量用于显示单个字符

语法char ch = 'a';

注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用1个字节。
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

示例:

int main() {
	
	char ch = 'a';
	cout << ch << endl;
	cout << sizeof(char) << endl;

	//ch = "abcde"; //错误,不可以用双引号
	//ch = 'abcde'; //错误,单引号内只能引用一个字符

	cout << (int)ch << endl;  //查看字符a对应的ASCII码
	ch = 97; //可以直接用ASCII给字符型变量赋值
	cout << ch << endl;

	system("pause");
}

ASCII码表格:

ASCII控制字符ASCII字符ASCII字符ASCII字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

ASCII 码大致由以下两部分组成:

  • ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
  • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

转义字符

作用:用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有:\\n \\\\ \\t

转义字符含义ASCII码值(十进制)
\\a警报007
\\b退格(BS) ,将当前位置移到前一列008
\\f换页(FF),将当前位置移到下页开头012
\\n换行(LF) ,将当前位置移到下一行开头010
\\r回车(CR) ,将当前位置移到本行开头013
\\t水平制表(HT) (跳到下一个TAB位置)009
\\v垂直制表(VT)011
\\\\代表一个反斜线字符""092
代表一个单引号(撇号)字符039
"代表一个双引号字符034
?代表一个问号063
\\0数字0000
\\ddd8进制转义字符,d范围0~73位8进制
\\xhh16进制转义字符,h范围09,af,A~F3位16进制

示例:

int main() {

	cout << "\\\\" << endl;
	cout << "\\tHello" << endl;
	cout << "\\n" << endl;

	system("pause");
}

以上是关于小白学习C++ 教程九C++中字符型字符串和转义字符的主要内容,如果未能解决你的问题,请参考以下文章

小白学习C++ 教程十八C++ 中文件处理

小白学习C++ 教程十C++中指针和内存分配

小白学习C++ 教程十一C++类中访问修饰符

小白学习C++ 教程十四C++ 中预处理器

小白学习C++ 教程八在C++指针传递引用和Const关键字

小白学习C++ 教程三C++用户输入判断语句和switch