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

共 3968字,需浏览 8分钟

 ·

2021-07-06 08:47

「@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范围0~9,a~f,A~F3位16进制

示例:

int main() {

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

 system("pause");
}


浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报