博客
关于我
C++基础(一)数据类型
阅读量:301 次
发布时间:2019-03-01

本文共 1455 字,大约阅读时间需要 4 分钟。

常量的定义与数据类型

在编程中,理解常量的定义和数据类型是掌握C++语言的基础。常量和数据类型是编程中常用的工具,它们能够帮助我们更高效地进行数据处理和存储。

常量的定义

在C++中,常量可以通过两种方式定义:#define和const。两者的形式有所不同,但都是用于定义常量值。

  • #define:#define是一种预处理指令,它可以用来定义常量。与const不同,#define的常量值无法在编译时进行类型检查。#define通常用于编写代码时的便利性,例如定义常见的数值或字符串。

  • const:const用于定义常量值,且在编译时会进行类型检查。const定义的常量值不能被修改,是一个安全的选择。

需要注意的是,#define的形式不要在结尾写分号。

数据类型

数据类型是程序中最基本的概念,它决定了变量或常量所能存储的值及其大小。在C++中,常见的数据类型包括整型、浮点型、字符型、布尔类型等。

整型

  • short:短整型,占用2字节(16bit)。
  • int:整型,占用4字节(32bit)。
  • long:长整型,通常在Windows系统中占用4字节,在Linux系统中占用4字节,在Linux 64位系统中占用8字节。
  • long long:长长整型,占用8字节。

可以通过sizeof函数来查看数据类型的大小:

short m = 12345;cout << sizeof(int) << sizeof(m) << endl;

浮点型

浮点型数据类型用于存储小数值,默认情况下会输出6位有效数字。

  • float:单精度,占用4字节。定义时需要在变量名后面添加一个f。
  • double:双精度,占用8字节。

可以通过科学计数法定义浮点型数值:

float f2 = 3e2;         // 3 * 10^2float f3 = 3e-2;        // 3 * 10^-2cout << f2 << f3 << endl;

字符型

字符型用于存储单个字符,占用1字节。它可以存储对应的ASCII编码值。

char ch = 'a';      // 存储字符 'a' 的ASCII值97char ch2 = 'A';     // 存储字符 'A' 的ASCII值65cout << ch << ch2 << endl;cout << (int)ch << (int)ch2 << endl;

转义字符

转义字符用于控制输出格式化,常见的转义字符包括:

  • \n:换行
  • \t:水平制表符(控制8个空格对齐)

字符串类型

在C++中,字符串可以通过两种方式处理:

  • C语言风格:使用数组定义字符串:

    char str[] = "godv";
  • C++风格:使用std::string类定义字符串,并包含<string>头文件:

    #include 
    string str = "godv";

    例如:

    #include 
    char str[] = "godv";string str1 = "godv";cout << str << str1 << endl;

布尔类型

布尔类型用于存储布尔值,占用1字节。其定义为:

bool flag = true;      // true表示true,false表示falsebool flag1 = false;    // 1表示true,0表示false

布尔类型在编程中广泛应用于条件判断和控制流。

转载地址:http://ofzo.baihongyu.com/

你可能感兴趣的文章
Quant 开源项目教程
查看>>
POJ 1088 滑雪
查看>>
POJ 1095 Trees Made to Order
查看>>
POJ 1113 Wall(计算几何--凸包的周长)
查看>>
poj 1125Stockbroker Grapevine(最短路)
查看>>
Qualitor processVariavel.php 未授权命令注入漏洞复现(CVE-2023-47253)
查看>>
poj 1151 (未完成) 扫描线 线段树 离散化
查看>>
POJ 1151 / HDU 1542 Atlantis 线段树求矩形面积并
查看>>
poj 1163 数塔
查看>>
POJ 1177 Picture(线段树:扫描线求轮廓周长)
查看>>
Qualitor checkAcesso.php 任意文件上传漏洞复现(CVE-2024-44849)
查看>>
POJ 1182 食物链(并查集拆点)
查看>>
POJ 1185 炮兵阵地 (状态压缩DP)
查看>>
POJ 1195 Mobile phones
查看>>
POJ 1228 Grandpa's Estate (稳定凸包)
查看>>
poj 1236(强连通分量分解模板题)
查看>>
poj 1258 Agri-Net
查看>>
quagga 和 zebos
查看>>
poj 1286 Necklace of Beads
查看>>
POJ 1321 棋盘问题
查看>>