学会在 C++ 中使用变量:从定义到实践

C++ 变量

变量是用于存储数据值的容器。

在 C++ 中,有不同类型的变量(使用不同的关键字定义),例如:

  • int - 存储整数(没有小数点),例如 123-123
  • double - 存储浮点数,带有小数点,例如 19.99-19.99
  • char - 存储单个字符,例如 'a''B'。字符值用单引号括起来
  • string - 存储文本,例如 "Hello World"。字符串值用双引号括起来
  • bool - 存储具有两种状态的值:truefalse

声明(创建)变量

要创建变量,请指定类型并为其分配一个值:

语法

cpp 复制代码
type variableName = value;

其中,type 是 C++ 类型之一(例如 int),variableName 是变量的名称(例如 xmyName)。等号用于将值分配给变量。

要创建一个应该存储数字的变量,请参考以下示例:

示例

创建一个名为 myNum 的类型为 int 的变量,并将其赋值为 15

cpp 复制代码
int myNum = 15;
cout << myNum;

你也可以声明一个变量而不赋值,并在以后分配值:

示例

cpp 复制代码
int myNum;
myNum = 15;
cout << myNum;

请注意,如果你为现有变量分配一个新值,它将覆盖先前的值:

示例

cpp 复制代码
int myNum = 15;  // myNum 是 15
myNum = 10;  // 现在 myNum 是 10
cout << myNum;  // 输出 10

其他类型

其他数据类型的演示:

示例

cpp 复制代码
int myNum = 5;               // 整数(没有小数)
double myFloatNum = 5.99;    // 浮点数(带小数点)
char myLetter = 'D';         // 字符
string myText = "Hello";     // 字符串(文本)
bool myBoolean = true;       // 布尔值(true 或 false)

显示变量

cout 对象与 << 运算符一起用于显示变量。

要结合文本和变量,请使用 << 运算符将它们分开:

示例

cpp 复制代码
int myAge = 35;
cout << "I am " << myAge << " years old.";

将变量相加

要将一个变量加到另一个变量上,你可以使用 + 运算符:

示例

cpp 复制代码
int x = 5;
int y = 6;
int sum = x + y;
cout << sum;

C++ 标识符

所有 C++ 变量都必须使用唯一的名称进行标识。

这些唯一的名称称为标识符。

标识符可以是简短的名称(如 x 和 y),也可以是更具描述性的名称(age、sum、totalVolume)。

注意:建议使用描述性名称以创建可理解和可维护的代码:

示例

cpp 复制代码
// 好的
int minutesPerHour = 60;

// 可以,但不容易理解 m 究竟是什么
int m = 60;

命名变量的一般规则是:

  • 名称可以包含字母、数字和下划线
  • 名称必须以字母或下划线开头 (_)
  • 名称区分大小写(myVar 和 myvar 是不同的变量)
  • 名称不能包含空格或特殊字符,如!、#、%等。
  • 保留字(如 C++ 关键字,如 int)不能用作名称

C++ 常量

当你不希望其他人(或你自己)更改现有变量的值时,请使用 const 关键字(这将声明变量为 "常量",即不可更改和只读的):

示例

cpp 复制代码
const int myNum = 15;  // myNum 将始终为 15
myNum = 10;  // 错误:尝试分配只读变量 'myNum'

当你有不太可能更改的值时,应该总是将变量声明为常量:

示例

cpp 复制代码
const int minutesPerHour = 60;
const float PI = 3.14;

关于常量的注意事项

当你声明一个常量变量时,必须为其分配一个值:

示例

cpp 复制代码
像这样:

const int minutesPerHour = 60;

然而,这样是不行的

cpp 复制代码
const int minutesPerHour;
minutesPerHour = 60; // 错误

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关推荐
Java编程爱好者几秒前
Spring Boot 实现数据脱敏:自定义注解 + Jackson 序列化器
后端
李剑一几秒前
有点干,前端架构基础之:Web Worker到底是什么?它和Java中的线程是一个道理吗?
前端·面试·架构
神奇小汤圆2 分钟前
从 ☕️Java Spring Boot → 🦀Rust Axum 体验的真实感受
后端
掘金者阿豪1 小时前
Codex 开放 1M 上下文后,我折腾了一圈才发现:新版根本不是网上教的那样配置
后端
爱勇宝1 小时前
《道德经》第 10 章:真正成熟的人,能成事但不控制一切
前端·后端·程序员
兔兔兔兔11 小时前
记录C++ 8
开发语言·c++
leo_yu_yty2 小时前
Mysql 面试准备
数据库·mysql·面试
六边形6662 小时前
独立开发不知道做什么?使用 TRAE Work 抓取差评痛点,快速跑通产品立项流
前端·后端·面试
高频因子挖掘机2 小时前
量化交易系统的数据层和策略层如何解耦?从紧耦合泥潭到优雅分层架构
后端·github
临江仙4552 小时前
同一个 AI Agent 如何同时服务 Web、微信和 QQ:PureChat 的渠道架构实践
前端·人工智能·后端