当前位置: 首页 > article >正文

C++ 变量和常量:开启程序构建之门的关键锁钥与永恒灯塔

目录

一、变量

1.1 变量的创建

1.2 变量的初始化

1.3 变量的分类

1.4 变量的初始化

二、常量

2.1 字面常量

2.2 #define定义常量

2.3 const 定义常量


一、变量

1.1 变量的创建

data_type name;
| |
| |
数据类型 变量名
-------------
int age; //整型变量
char ch; //字符变量
double weight; //浮点型变量

变量的命名规则遵循以下原则:

  • 变量名只能由字母、数字和下划线组成,且必须以字母或下划线开头。

  • 变量名不能以纯数字开头,也不能包含特殊字符,如空格、连字符等。

  • 变量名不能使用语言的关键字,如 int、char、if等。

  • 变量名应具有意义,有助于理解变量的含义和用途。

  • 变量名应简短明了,避免使用过长的名称。

  • 变量名应区分大小写,例如 myVariable 和 myvariable 被视为两个不同的变量。

1.2 变量的初始化

变量在创建的时候就给一个初始值,就叫初始化。

#include<iostream>
using namespace std;

int main()
{
        int num1 = 10 ;
        char ch = 'A';
        double num2 = 3.1415926;        
}

如果变量的创建并没有初始化,而是在后续进行初始化操作,那么该操作称为赋值:

#include<iostream>
using namespace std;

int main()
{
        int num;
        num = 10; //变量的赋值        
} 

1.3 变量的分类

  • 全局变量:在大括号外部定义的变量就是全局变量。全局变量的使用范围更广,整个工程中想使用,都是有办法使用的

  • 局部变量:在大括号内部定义的变量就是局部变量

局部变量的使用范围是比较局限,只能在自己所在的局部范围内使用的

#include<iostream>
using namespace std;

int NUM = 100;
int main()
{
        int num = 200;
        cout << NUM << endl;
        cout << num << endl;
        return 0;        
}

如果局部和全局变量,名字相同:

#include<iostream>
using namespace std;

int NUM = 100;
int main()
{
        int NUM = 200;
        //当局部变量和全局变量名称相同的情况下,局部变量优先使用
        cout << "局部变量:" << NUM << endl;
        //如果我们需要强制使用全局变量,需要在变量前添加两个::
        cout << "全局变量:" <<::NUM << endl;
        return 0;        
} 

1.4 变量的初始化

未初始化状态下的全局变量和局部变量:

#include<iostream>
using namespace std;

int NUM1;
float NUM2;
int main()
{
        int num1;
        float num2;
        // 未初始化的局部变量和全局变量
        cout << NUM1 << endl;
        cout << NUM2 << endl;
        cout << "不同编译器的版本,局部变量未初始化的值是不确定的" << endl;
        cout << num1 << endl;
        cout << num2 << endl; 
        return 0;
}

  • 全局变量:全局变量通常在定义时就被初始化,如果没有明确指定初始值,它们通常会被初始化为0。

  • 局部变量:局部变量通常不会自动初始化。它们需要在使用之前明确地赋值或初始化。如果没有初始化,它们的值将是未定义的,使用未初始化的局部变量可能会导致不可预测的行为或运行时错误,因此局部变量建议初始化。

二、常量

常量就是不能被改变的值,通常我们会使用三种常量:

  • 字面常量

  • #define 定义的常量

  • const 定义的常量

2.1 字面常量

  • 整型常量: 100,-5,0,0x123 整型常量一般可以写成10进制、8进制、16进制。

    • 10进制数字,如: 6、17、22、123

    • 8进制数字,一般是数字0开头的,比如: 012 , 016

    • 16进制数字,一般是0x开头的数字,比如: 0x123 , 0xFF

  • 字符常量: 'a'

  • 浮点型常量: 3.14 , 1E6 (科学计数法的形式)

2.2 #define定义常量

使用 #define 定义常量的时候是不关注类型的,只关注常量的名字叫啥,常量的值是啥,编译在处理这种常量的时候就是直接替换,在出现常量名字的地方,通通替换成常量的内容。

#include <iostream>
using namespace std;
#define M 100
#define CH 'x'
#define PI 3.14159
int main()
{
        cout << M << endl;
        cout << CH << endl;
        cout << PI << endl;
        return 0;
}

2.3 const 定义常量

除了上面的方式之外,C++中还可以使用 const 来定义常量,这种常量会有具体的类型。比#define 定义常量更加严谨。语法形式如下:

const 类型 常量名字 = 常量值;

const double PI = 3.14159;
#include <iostream>
using namespace std;
const double PI = 3.14159;
int main()
{
        int r = 0;
        cin >> r;
        cout << "周长:" << 2 * PI * r << endl;
        cout << "面经:" << PI * r * r << endl;
        //PI = 3.14;//这种写法是错误的,常量不能被修改
        return 0;
}

习惯上,这种常量的名字一般会写成大写,而普通变量的名字不会全大写,这样就可以做一个区分。

使用 const 定义的常量的好处:

  • 增加了程序的可读性, PI 比 3.14159 更加容易理解和书写、使用。

  • 增加了程序的可维护性,如果改变常量的值,只要在定义的部分修改,使用的地方也就随之改变了,做到了"一改全改"的效果。

  • 常量是不能修改的,当然 const 定义的常量自然也不能修改


http://www.kler.cn/a/420682.html

相关文章:

  • 神经网络中的优化方法(一)
  • Node.js 实战: 爬取百度新闻并序列化 - 完整教程
  • PyTorch 实现动态输入
  • A109 PHP+MYSQL+LW+网上论坛网站 军事BBS系统的设计与实现 源码+文档 全套 教程
  • 框架5:SpringBoot 2 - 核心功能
  • blender 视频背景
  • Go-MediatR:Go语言中的中介者模式
  • 基于 Vite 封装工具库实践
  • ABE 中的隐藏属性:DIPPE(去中心化内积谓词加密)
  • linux 压缩命令,压缩a目录,但是不压缩a目录下的b目录,zip命令
  • termius mac版无需登录注册直接永久使用
  • Mybatis 复习
  • MySQL 数据库学习教程二:深入 MySQL 数据库世界
  • uniapp进阶技巧:如何优雅地封装request实例
  • 《嵌入式硬件设计》
  • 架构学习第五周--Kubernetes(一)
  • python基础(六)
  • 依赖注入之登录验证(Java EE 学习笔记08)
  • [JuMP.jl] 线性规划
  • 107.【C语言】数据结构之二叉树求总节点和第K层节点的个数
  • 针对Qwen-Agent框架的Function Call及ReAct的源码阅读与解析:Agent基类篇
  • 人证合一开启安全认证新时代、C#人证合一接口集成、人脸识别
  • 第一部分:基础知识 3. 数据类型 --[MySQL轻松入门教程]
  • 实战优化公司线上系统JVM:从基础到高级
  • 《Vue零基础入门教程》第十三课:条件渲染
  • PowerShell:查找并关闭打开的文件