1-2. C++数据类型

 

目录

一、整型

二、sizeof关键字

三、实型(浮点型)

四、字符型

五、转义字符

六、字符串类型

1.C语言风格的字符串

2.C++风格字符串

七、布尔型

八、数据输入


类型是给变量分配合适的内存空间,避免内存浪费。因此在定义变量时应选择合适的数据类型。

一、整型

整型变量表示的是整数类型的变量,在C++中主要有short(短整型)、int(整型)、long(长整型)以及long long(长长整型),主要区别是所占内存空间不同

数据类型占用空间取值范围
short(短整型)2字节-2^{15}~2^{15}-1
int(整型)4字节-2^{31}~2^{31}-1
long(长整型)window下4字节,Linux下:4字节(32位系统),8字节(64位系统)-2^{31}~2^{31}-1
long long(长长整型)8字节-2^{63}~2^{63}-1
//short(短整型)
short num1 = 10;

//int(整型)
int num2 = 10;

//long(长整型)
long num3 = 10;

//long long(长长整型)
long long num4 = 10;

二、sizeof关键字

利用sizeof关键字可以获取变量类型所占内存的大小。使用格式为:sizeof(数据类型or变量名)。

//short(短整型)
short num1 = 10;
cout << "short 占用内存空间大小为:" << sizeof(short) << endl;
cout << "short 占用内存空间大小为:" << sizeof(num1) << endl;

//int(整型)
int num2 = 10;
cout << "int 占用内存空间大小为:" << sizeof(int) << endl;
cout << "int 占用内存空间大小为:" << sizeof(num2) << endl;

//long(长整型)
long num3 = 10;
cout << "long 占用内存空间大小为:" << sizeof(long) << endl;
cout << "long 占用内存空间大小为:" << sizeof(num3) << endl;

//long long(长长整型)
long long num4 = 10;
cout << "long long 占用内存空间大小为:" << sizeof(long long) << endl;
cout << "long long 占用内存空间大小为:" << sizeof(num4) << endl;
short 占用内存空间大小为:2
short 占用内存空间大小为:2
int 占用内存空间大小为:4
int 占用内存空间大小为:4
long 占用内存空间大小为:4
long 占用内存空间大小为:4
long long 占用内存空间大小为:8
long long 占用内存空间大小为:8
请按任意键继续. . .

三、实型(浮点型)

浮点型是用于表示小数的数据类型,在C++中有float(单精度)和double(双精度)两种,区别在于两者能表示的有效数字范围不同

数据类型占用空间有效数字范围
float(单精度)4字节7位有效数字
double(双精度)8字节15-16位有效数字

注:在C++中,小数默认为双精度,在定义float类型时,自动将双精度转化为单精度。因此,一般定义单精度时在数值后加‘f’,以避免由双精度转化为单精度的过程。

float f1 = 3.14f;
double d1 = 3.14;
cout << f1 << endl;
cout << d1 << endl;

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

//科学计数法
float f2 = 3e2; // f2=3*10^2
float f3 = 3e-2; // f3 = 3*0.1^2
cout << f2 << endl;
cout << f3 << endl;
3.14
3.14
float 占用内存空间为: 4
double 占用内存空间为: 8
300
0.03
请按任意键继续. . .

四、字符型

字符型是用于表示单个字符的数据类型。

char ch = 'a';
cout << ch << endl;
a
请按任意键继续. . .

注:

  • 字符型数据占用内存空间为1个字节。
  • 字符型数据在内存中以ASCII码的形式进行存储。
  • 在定义字符型变量时,使用单引号‘字符’,不可使用双引号“字符”。
  • 在定义字符型变量时,单引号中只能有一个字符,不能出现多于1个的情况。

附 ASCII码表:

五、转义字符

用于表示一些不能直接显示出来的ASCII字符。常用的有换行" \n "水平制表符“\t”以及反斜杠“\\”

cout << "Hello World!\n";
cout << "aaa\tHelloWorld" << endl;
cout << "aaaaa\tHelloWorld" << endl;
cout << "a\\"
Hello World!
aaa     HelloWorld
aaaaa   HelloWorld
a\
请按任意键继续. . .

注:水平制表符\t打印时占用8个字节的宽度,不足的用空格补充。

附 常见转义字符:

转义字符

含义

ASCII码(16/10进制)

\o

空字符(NULL)

00H/0

\n

换行符(LF)

0AH/10

\r

回车符(CR)

0DH/13

\t

水平制表符(HT)

09H/9

\v

垂直制表(VT)

0B/11

\a

响铃(BEL)

07/7

\b

退格符(BS)

08H/8

\f

换页符(FF)

0CH/12

\’

单引号

27H/39

\”

双引号

22H/34

\\

反斜杠

5CH/92

\?

问号字符

3F/63

\ddd

任意字符

三位八进制

\xhh

任意字符

二位十六进制

六、字符串类型

用于表示一串字符。

1.C语言风格的字符串

定义方式:char 字符串名[] = "字符串";

char str[] = "Hello World!";
cout << str << endl;
Hello World!
请按任意键继续. . .

注:使用C语言风格定义字符串时,字符串名后要加一对中括号,且等号后使用双引号

2.C++风格字符串

定义方式:string 字符串名 = “字符串”;

string str = "Hello World!";
cout << str << endl;
Hello World!
请按任意键继续. . .

注:使用C++风格定义字符串时,需要添加头文件:#include <string>,否则将无法使用字符串。

七、布尔型

代表真值或假值。布尔型数据只有两个值:true(真,本质是1)和false(假,本质是0),其占用内存空间为1个字节。

bool flag = true;
cout << flag << endl;

flag = false;
cout << flag << endl;
1
0
请按任意键继续. . .

八、数据输入

使用关键字cin获取数据输入。格式为:cin >> 变量名。

int a = 0;
cout << "请给整型变量赋值:" << endl;
cin >> a;
cout << "整型数据a = " << a << endl;
输入:100
输出为:
整型数据a = 100
请按任意键继续. . .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值