第二章 数据类型

C++数据类型全面解析

写在前面:本专栏笔记参考《黑马程序员C++教程》视频,仅作个人学习记录所用,如有侵权嫌疑请联系本人

2. 数据类型

2.1 整型

2.1.1 整型介绍
数据类型空间占用取值范围
short(短整型)2Byte-2^15 ~ 2^15-1
int(整型)4Byte-2^31 ~ 2^31-1
long(长整型)4Byte(Windows&32位Linux),8Byte(64位Linux)-2^31 ~ 2^31-1
long long(长长整型)8Byte-2^63 ~ 2^63-1

注意:若变量值超出取值范围,则自动变为取值内的对应值,如

short val = 32769; // short类型的取值范围为(-32768~32767)
cout << "val = " << val << endl;

// 输出结果为:val = -32767
// 原理是:32769大于取值范围32767,则其实际值 = -32768 + (32769-32767-1) = -32767
// 可理解为:变量的实际值只能在其取值范围的“轮回”内取值
2.1.2 sizeof关键字

(1).作用:返回括号某数据类型的大小,单位为字节Byte

(2).语法:sizeof(数据类型/变量)

(3).示例:

cout << sizeof(int) << endl; // 查看数据类型所占空间的大小

int val = 10;
cout << sizeof(val) << endl; // 查看变量所占空间的大小

2.2 浮点型(实型)

2.2.1 实型介绍
数据类型占用空间有效数字
float4Byte7位有效数字
double8Byte15~16位有效数字

注意:有效数字包含小数点前+小数点后的数字位数,例如3.14与31.4均为三位有效数字

cout << "float 占用 " << sizeof(float) << " 字节" << endl;
cout << "double占用 " << sizeof(double) << " 字节" << endl;

float val1 = 3.1415926f;
cout << "val1= " << val1 << endl;
double val2 = 3.1415926;
cout << "val2= " << val2 << endl;
float val3 = 3.1415926f;
cout.precision(8);
cout << "val3= " << val3 << endl;

/****输出结果为****/
//float 占用 4 字节
//double 占用 8 字节
//val1 = 3.14159
//val2 = 3.14159
//val3 = 3.1415926
  • 出现小数编译器自动默认为double类型,故一般在float型的小数后加“f”表示为浮点型
  • 一般情况下,无论float还是double类型,编译器cout输出都只截取前六位有效数字(四舍五入),若需要自定义有效数字位数,则需要在cout输出前使用cout.precision(n);来设置输出有效位数
2.2.2 科学计数法
  1. 写法:底数e指数
  2. 含义:底数×(10^指数)
  3. 示例:
float val4 = 2e3;
float val5 = 2e-3;
cout.precision(6);
cout << "val3 = " << val4 << endl;
cout << "val5 = " << val5 << endl;

/****输出结果为****/
//val3 = 2000
//val5 = 0.002

2.3 字符型

2.3.1 字符型介绍

1.格式:char ch = 'a'

2.注意事项:字符类型只能使用单引号,单引号内只能有一个字符

3.占用空间:1Byte

4.ASCII码值求取方法:int(字符)

char ch = 'a';
cout << "字符型所占空间为:" << sizeof(char) << "字节" << endl;
cout << "变量ch所占空间为:" << sizeof(ch) << "字节" << endl;
cout << "变量ch对应字符的ASCII码值为:" << int(ch) << endl;

/****输出结果为****/
//字符型所占空间为:1字节
//变量ch所占空间为:1字节
//变量ch对应字符的ASCII码值为:97
2.3.2 转义字符

常见转义字符

转义字符含义转义字符含义
\n换行\\输出’\’
\t水平tab\r回车
cout << "Hello World\n" << endl;	// 输出1
cout << "Hello World\n";			// 输出2
cout << "Hello\tWorld" << endl;		// 输出3
cout << "Hi\tWorld\\" << endl;		// 输出4

/****输出结果为****/
//Hello World
//
//Hello World
//Hello   World
//Hi      World\

由以上输出结果可知:

  1. endl自带换行效果
  2. \t常用作不同行的对齐

2.4 字符串型

1.格式:(1)C风格定义char str[] = "abcdefg"

​ (2)C++风格定义 string str = "abcdefg" ,(注意:要包含string头文件

#include<string>

char str1[] = "Hello World";
string str2 = "Hello C++";

cout << str1 << endl;
cout << str2 << endl;

/****输出结果为****/
//Hello World
//Hello C++

2.5 布尔类型

1.格式:bool flag = ture

2.占用空间:1Byte


2.6 获取用户输入

1.格式:cin >> a

int add_a, add_b;
cout << "第一个加数:";
cin >> add_a;
cout << "第二个加数:";
cin >> add_b;
cout << "和为:" << add_a + add_b << endl;

/****输入2、4后****/
/****输出结果为****/
//第一个加数:2
//第二个加数:4
//和为:6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值