02-数据类型

数据类型

C++规定在创建变量或常量时,必须要指出相应的数据类型,否则无法给变量分配内存空间,因此称C++是一个强类型语言。

1. 整型

作用:整形变量表示的是整数类型的数据。
C++中有如下几种类型:

数据类型 占用空间 取值范围
short 2字节 (-2^15 ~ 2^15 - 1)
int 4字节 (-2^31 ~ 2^31-1)
long Windows为4字节,Linux为4字节(32位),8字节(64位) (-2^31 ~ 2^31 - 1)
long long 8字节 (-2^63 ~ 2^63 - 1)

示例:

// 1. 短整型 (3万的数量级,-32768 ~ 32767)
short a = 10;

// 2. 整性 (20亿的数量级,-2147483648 ~ 2147483647)
int b = 20;

// 3. 长整型 (数量级为9*10^19)
long c = 30;
long long d = 40

2. sizeof关键字

作用:用于求出数据类型所占用的内存空间

示例:

short a = 10;
cout << "sizeof(a)" << sizeof(a) << endl

int b = 20;
cout << "sizeof(b)" << sizeof(b) << endl

long c = 30;
cout << "sizeof(c)" << sizeof(c) << endl

long long d = 40;
cout << "sizeof(d)" << sizeof(d) << endl

运行结果:

sizeof(a) = 2
sizeof(b) = 4
sizeof(c) = 8
sizeof(d) = 8

3. 实型

作用:用于表示实数类型

种类:单精度浮点数float、双精度浮点数double

类型 占用空间 精度
float 4个字节 7位有效数字
double 8个字节 15~16位有效数字

示例:a

// 加f的原因是小数字面值默认为double类型
// 在赋给float类型的变量前会先转化为float类型的变量
// 加上f后小数的字面值变为float类型,节省类型转换这一步骤

float f1 = 3.14f;
double f2 = 3.14

// 科学计数法表示
float f3 = 3e-2;

cout << "f1 = " << f1 << endl;
cout << "f2 = " << f2 << endl;
cout << "f3 = " << f3 << endl;

运行结果:

f1 = 3.14
f2 = 3.14
f3 = 0.03

4. 字符类型

作用:用于表示单个字符
语法:char ch = 'a';

// 1. 定义字符变量的方法
char ch = 'a';

// 2. 字符变量所占内存大小
cout << sizeof(char) << endl;

// 3. 区分字符串和字符的定义
// 字符变量类型为char,用单引号包括起来
// 字符串的类型为char[],用双引号包括起来
char ch = 'a';
char str[10] = "abc"

// 4. 字符按某种编码以二进制值存储在内存中,如ASCII码、Unicode码
// 如a的码值为97
cout << (int)ch << endl;

5. 转义字符

作用:用于表示一些不能显示出来的ASCII字符
常用的有:\n, \t, \\

// 1. 换行符
cout << "hello, world\n";

// 2. 反斜杠
cout << "this is \\" << endl;

// 3. 水平制表符(tab)
cout << "this \t is a tab." << endl;

6. 字符串

作用:用于表示一串字符
两种风格:

  1. C风格字符串:char 变量名[] = "字符串字面量"
  2. C++风格的字符串:string 变量名 = "字符串字面量"

示例:

// 1. C风格的字符串
// C风格的字符串的末尾会添加一个'\0'
// 如字符串"hello"的组成元素为'h','e','l','l','o','\0'
char string1[] = "hello";

// 2. C++风格的字符串
// 使用string类型前需要包含头文件#include<string>
string string2 = "hello";
  1. 布尔类型bool
    作用:布尔类型代表真和假
    布尔类型有两个值(占一个字节大小):
  • true:表示真(本质是1)
  • false:表示假(本质是0)

示例:

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

flag = false;
cout << flag << endl;

cout << sizeof(flag) << endl;

8. 数据的输入

作用:从键盘获取数据
关键字:cin
语法:cin >> 变量名

示例:

#include <iostream>
#include <string>

using namespace std;

// 整型输入
int a = 0;
cout << "请输入一个整数" << endl;
cin >> a;
cout << a endl;

// 浮点数输入
float f = 3.14f;
cout << "请输入一个浮点数" << endl;
cin >> f;
cout << f << endl;

// 字符型输入
char ch = 'a'
cout << "请输入一个字符" << endl;
cin >> ch;
cout << ch << endl;

// 字符串输入
string str = "hello";
cout << "请给字符串str赋值" << endl;
cin >> str;
cout << str << endl;

// 布尔类型的输入
// 显然,只有0值转化为布尔类型后为0
// 否则,其他任意值都会转化为1
bool flag = false;
cout << "输入一个布尔类型" << endl;
cin >> flag;
cout << flag < endl;
posted @ 2021-12-27 16:53  刷书狂魔  阅读(52)  评论(0编辑  收藏  举报
总访问: counter for blog 次