亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南

C++ 中的变量

在 C++ 中,变量是一个具名的存储位置,允许程序员存取和操作数据。每个变量都有明确的类型,决定了其内存占用、取值范围及可执行的操作。

本教程涵盖:

C++ 基本变量类型

int – 整数,无小数或指数部分(如 120、-90)。

double – 双精度浮点数(如 11.22、2.345)。

char – 单字符字面量,用单引号括起(如 'a'、'm'、'F'、'P'、'}')。

float – 单精度浮点数(如 1.3、2.6)。

string – 双引号括起的字符序列(如 "How are you?")。

bool – 仅能存储 true 或 false。

C++ 变量声明规则

C++ 变量数据类型体系

C++ 提供丰富的基本类型。void 类型无值,常用作无返回值函数的返回类型。

算术类型分两大类:

  1. 浮点类型:float(约 32 位)、double(约 64 位)、long double(约 96/128 位,视实现而定)。
  2. 整型:整数、字符和 bool。整型可分为有符号和无符号。

有符号类型可表示负数、零、正数。例如 8 位有符号 char 范围为 –127 到 127。

无符号类型仅存非负值。8 位无符号 char 范围为 0 到 255。

C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南

变量名与标识符

标识符可含字母、数字、下划线,长度无限制,区分大小写:

int guru99, gurU99, GuRu99, GURU99;

保留关键字不可作标识符。良好的命名约定能提升可读性:变量用小写,多词用 camelCase 或 snake_case,类名首字母大写。

C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南

声明与定义示例

int a = 5; int b; char c = 'A'; int a, b; a = b = 1000; int a(5); int b{5};

C++ 中的 const 限定符

当值初始化后不应改变时使用 const:

const int bufSize = 512; // 输入缓冲区大小

const 变量必须初始化,否则编译报错。

const int i = get_size(); // 运行时初始化,合法
const int j = 42;         // 编译时初始化,合法
const int k;              // 错误:未初始化的 const
int i = 42; const int ci = i; // 合法:i 的副本

C++ 变量作用域

作用域决定名称的可见范围。变量从声明点起至所在块结束可见。

#include <iostream>
int main() {
    int sum = 0;
    for (int val = 1; val <= 10; ++val)
        sum += val;
    std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
    return 0;
}

嵌套作用域

#include <iostream>
using namespace std;
int reused = 42; // 全局作用域
int main() {
    int unique = 0; // 块作用域
    cout << reused << " " << unique << endl; // 42 0
    int reused = 0; // 局部 reused 遮蔽全局
    cout << reused << " " << unique << endl; // 0 0
    cout << ::reused << " " << unique << endl; // 42 0
    return 0;
}

变量类型转换

C++ 在特定条件下执行隐式转换,关键规则如下:

混合有符号和无符号整数时,负的有符号值可能意外转为巨大的无符号值。

register 变量

用 register 关键字建议编译器将频繁访问的变量置于 CPU 寄存器。现代编译器通常忽略此提示,自行优化。

register int i;

注释

注释被编译器忽略,用于文档化代码:

/* This is a comment */
/* C++ comments can also span multiple lines */

转义序列

转义序列表示不可打印或特殊字符:

转义说明
\n换行
\t水平制表
\\反斜杠
\b退格
\r回车
\v垂直制表
\f换页
\a响铃
\"双引号
\'单引号
\?问号
cout << '\n'; // 换行
cout << "\tguru99!\n"; // 制表 + 文本 + 换行

广义转义序列使用十六进制或八进制值:

\7  // 响铃
\12 // 换行
\40 // 空格
\x4D // 'M'

总结

C语言

  1. 精通C#变量与基础数据类型:完整指南
  2. 掌握 C++ 变量、字面量与常量:核心概念与实战指南
  3. 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
  4. C 语言变量、常量与字面量完全指南
  5. C 语言数据类型详解:int、float、char 等核心类型完全指南
  6. C 语言用户自定义函数四大模式对比:参数与返回值的设计权衡
  7. C 语言存储类完全解析:auto、extern、static、register
  8. C++ 运算符全解析:类型、示例与示例程序
  9. C 语言变量详解:类型、命名规则、定义声明与内存管理
  10. C 语言可变参数详解:stdarg.h 实战指南
  11. C++变量类型详解:内存布局、取值范围与操作集
  12. 理解 Java 变量类型:综合指南