news 2026/4/28 6:18:24

C++的数据类型你真的了解吗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++的数据类型你真的了解吗

前言

C++不像python,创建变量的时候必须指定类型,这样才能给变量分配一个合适的内存空间。

1 整型

作用:整型变量表示的是整型类型的数据

整型的数据类型有4种(最常用的是int),其区别在于所占内存空间不同:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include<iostream>

usingnamespacestd;

intmain()

{

//整型

//1.短整型

shortnum1 = 32768;

//2.整型

intnum2 = 10;

//3.长整型

longnum3 = 10;

//4.长长整型

longlongnum4 = 10;

cout <<"num1="<< num1 << endl;

cout <<"num2="<< num2 << endl;

cout <<"num3="<< num3 << endl;

cout <<"num4="<< num4 << endl;

system("pause");

return0;

}

因为短整型取值范围为-32768-32767,所以注意数值溢出,当数值溢出时,取补码。

当如下定义时:

1

shortnum1 = 32768

输出为

num1=-32768

2 sizeof关键字

作用:利用siezeof关键字可以统计数据类型所占内存大小语法:

1

sizeof{数据类型/变量}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include<iostream>

usingnamespacestd;

intmain()

{

//利用sizeof求出数据类型占用大小

shortnum1 = 10;

intnum2 = 10;

longnum3 = 10;

longlongnum4 = 10;

cout <<"short占用内存空间为:"<<sizeof(short) << endl;

cout <<"num1占用内存空间为:"<<sizeof(num1) << endl;

cout <<"int占用内存空间为:"<<sizeof(int) << endl;

cout <<"num2占用内存空间为:"<<sizeof(num2) << endl;

cout <<"long占用内存空间为:"<<sizeof(long) << endl;

cout <<"num3占用内存空间为:"<<sizeof(num3) << endl;

cout <<"long long占用内存空间为:"<<sizeof(longlong) << endl;

cout <<"num4占用内存空间为:"<<sizeof(num4) << endl;

system("pause");

return0;

}

3 实型(浮点型)

作用:用于表示小数

浮点型变量分为两种:

  • 单精度float, 双精度double
  • 区别在于表示的有效数字范围不同。

在使用时,使用方法通常为

1

floatf1 = 3.14f

如果不加f,默认是double型变量:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#include<iostream>

usingnamespacestd;

intmain()

{//默认情况下,输出一个小数,会显示最多6位有效数字

//1.单精度

floatf1 = 3.1415926f;

cout <<"f1="<< f1 << endl;

//2.双精度

doubled1 = 3.1415926;

cout <<"d1="<< d1 << endl;

//占用内存查看

cout <<"float占用内存空间为:"<<sizeof(float) << endl;

cout <<"double占用内存空间为:"<<sizeof(double) << endl;

//科学计数法

floatf2 = 3e2f;

cout <<"f2="<< f2 << endl;

floatf3 = 3e-2f;

cout <<"f3="<< f3 << endl;

system("pause");

return0;

}

4 字符型

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

语法:char ch=‘a’;

1.C和C++中字符型变量只占用1个字节。

2.字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元。

:用单引号不要用双引号;单引号内只能有一个字符,不可以是字符串。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include<iostream>

usingnamespacestd;

intmain()

{

//字符型变量创建方式

charch ='a';

cout << ch << endl;

//字符型变量所占内存大小

cout <<"char字符型变量所占内存:"<<sizeof(char) << endl;

//字符型变量常见错误

// char ch2="b";

// char ch2='abc';

//字符型变量对应ASCII编码

cout <<"字符A的ASCII码值为:"<<(int)'A'<< endl;

cout <<"变量ch的ASCII码值为:"<< (int)ch << endl;

system("pause");

return0;

}

5 转义字符

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

常用的就下面这些,其余可自行百度

语法:使用cout时直接加在字符串中。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#include<iostream>

usingnamespacestd;

intmain()

{//换行符 \n

cout <<"hello world\n"<<endl;

//反斜杠 \

cout <<"\\"<< endl;

/*水平制表符 \t

使用空格补齐位置,使得所占位置为8的倍数

输入正好为8个时,输出会多8个空格 */

cout <<"aaaa\ttheworld"<< endl;

cout <<"aaa\ttheworld"<< endl;

cout <<"aaaaaaaa\ttheworld"<< endl;

cout <<"aaaaaaaaa\ttheworld"<< endl;

cout <<"aaaaaaaaaaa\ttheworld"<< endl;

system("pause");

return0;

}

6 字符串型

作用:用于表示一串字符。

两种风格

1.C风格的字符串:char 变量名[ ] = “字符串值”; ——注意加[ ],不加[ ]的时候默认的是字符。

2.C++风格字符串:string 变量名 = “字符串值”;——注意加头文件#include

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#include<iostream>#include<string>using namespace std;int main(){//1.C风格字符串,注意加中括号[]char str[] = "hello world";cout << str << endl;//2.C++风格字符串,注意加头文件#include<string>string str2 = "hello world";cout << str2 << endl;system("pause");return 0;}#include<iostream>

#include<string>

usingnamespacestd;

intmain()

{

//1.C风格字符串,注意加中括号[]

charstr[] ="hello world";

cout << str << endl;

//2.C++风格字符串,注意加头文件#include<string>

string str2 ="hello world";

cout << str2 << endl;

system("pause");

return0;

}

7 布尔类型 bool

作用:布尔数据类型代表真或假的值
bool类型只有两个值:

1.true 真

2.false 假

bool类型占一个字节

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#include<iostream>#include<string>using namespace std;int main(){//1.创建bool数据类型bool flag = true;cout << flag << endl;flag = false;cout << flag << endl;//本质是1就是真,0就是假。//2.查看bool类型所占内存空间cout <<"bool类型所占内存空间为:" << sizeof(bool) << endl;system("pause");return 0;}#include<iostream>

#include<string>

usingnamespacestd;

intmain()

{

//1.创建bool数据类型

boolflag =true;

cout << flag << endl;

flag =false;

cout << flag << endl;

//本质是1就是真,0就是假。

//2.查看bool类型所占内存空间

cout <<"bool类型所占内存空间为:"<<sizeof(bool) << endl;

system("pause");

return0;

}

8 数据的输入

作用:从键盘获取数据

关键字:cin

语法:

1

cin >> 变量

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

{

//1.整型

inta = 0;//尽量初始化,如果不初始化在使用或者打印它时都会报错。

cout <<"请给整型变量a赋值:"<< endl;

cin >> a;

cout <<"整型变量a="<< a << endl;

//2.浮点型

floatf = 0.f;

cout <<"请给浮点型变量f赋值:"<< endl;

cin >> f;

cout <<"浮点型变量f="<< f << endl;

//3.字符型

charch =' ';

cout <<"请给字符型变量ch赋值:"<< endl;

cin >> ch;

cout <<"字符型变量f="<< ch << endl;

//4.字符串型

string str ="abc";

cout <<"请给字符串型变量str赋值:"<< endl;

cin >> str;

cout <<"字符串型变量str="<< str << endl;

//5.布尔型,用数字表示真假,只要输入不是0,那么就是1

boolflag =false;

cout <<"请给布尔型变量flag赋值:"<< endl;

cin >> flag;

cout <<"布尔型变量flag="<< flag << endl;

system("pause");

return0;

}

总结

本篇文章就到这里了,希望能够给你带来帮助

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 6:18:22

2026最权威的降重复率神器推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在维普系统针对 AI 生成内容所拥有的识别机制这个层面来讲&#xff0c;要是想降低 AIGC 率&…

作者头像 李华
网站建设 2026/4/28 6:18:20

【项目实训】法律文书智能摘要系统4

本期开发工作围绕“法律文书智能摘要系统”的体验升级与功能拓展展开&#xff0c;并成功启动了“法律文书智能生成”与“主题建模”两大新模块的研发。团队在文书管理效率、阅读交互体验、底层数据处理能力以及智能化文书创作四个方面取得了显著进展。核心工作包括&#xff1a;…

作者头像 李华
网站建设 2026/4/28 6:12:10

基于LLM Wiki的分层规则驱动游戏开发系统

基于LLM Wiki的分层规则驱动游戏开发系统 核心理念&#xff1a;AI 编码的效率&#xff0c;不在算法之精准&#xff0c;而在多智能体协同之无冲突&#xff1b;智能体的精度&#xff0c;不在模型之强弱&#xff0c;而在框架约束之恰如其分。 本文构建一套**从用户规则 → 项目规则…

作者头像 李华
网站建设 2026/4/28 6:04:47

linux命令杂记 - 杂乱无章

1.巡检 磁盘使用率 df -h 查看文件目录使用 du -sh * 内存使用率 free -h CPU空闲率 sar -u 1 5 网络连接数&#xff08;tcp连接数&#xff09; netstat -alntp|grep tcp|wc -l查看指定目录所在磁盘逻辑卷的使用率 df -h /data2.>重定向到文件&#xff08;覆…

作者头像 李华
网站建设 2026/4/28 6:03:20

深度学习优化与GPU加速核心技术解析

1. 深度学习优化技术概览深度学习优化技术在过去几年经历了爆炸式发展&#xff0c;从最初的简单梯度下降演变为如今复杂的混合优化策略。这些技术的核心目标可以概括为三个维度&#xff1a;训练速度、计算效率和模型性能。现代优化方法已经不再局限于传统的反向传播算法&#x…

作者头像 李华