C++ 学习与 CLion 使用:(四)常量和变量,包括字面常量和符号常量

上一篇 下一篇
标识符和关键字

常量和变量

C++ 将带小数的实数叫做 "实型" 。

符号常量建议全部大写,变量建议大小写组合或纯小写

1)常量

常量:其值在程序执行过程中不会改变的量,包括字面常量符号常量

①字面常量(字面量)

被书写到代码内的常量称之为字面常量,简称字面量。

包括:

  • 整形字面常量:整数(数值型);

    • 默认是 int 型,如果超出了 int 范围,会自动分配范围更大的类型。
      最小原则:int > unsigned int > long > unsigned long > long long > unsigned long long
    • 可以通过代码显示指定类型。
  • 实型字面常量:小数(数值型);

    • 默认是 double 型,如果超出了 double 范围,会自动分配到 unsigned double 型。
    • 可以通过代码显示指定类型。
  • 字符型 字面常量:单个字符('');

  • 字符串 字面常量:任意个字符("")。

显示指定类型:

后缀(大小写均可) 含义
U 无符号数
L 整形 long 型、浮点数 long double 型
UL unsigned long 型
ULL unsigned long long 型
F float 型
D double 型(编译器会警告,不用管)

样例:

c++ 复制代码
#include <iostream>
#include "windows.h"

using namespace std;

int main()
{
    SetConsoleOutputCP(CP_UTF8);
    21;
    1.23;
    'c';
    "hello world";

    21LL;
    1.23F;

    cout << "21和21LL的字节数分别是:" << sizeof(21) << "、" << sizeof(21LL) << endl;

    return 0;
}

结果:

c++ 复制代码
21和21LL的字节数分别是:4、8

②符号常量

使用标识符去定义的常量,称之为符号常量(简单来说,给常量取一个名字,就是符号常量)。

定义方法:

  • const 关键字:
    • 需要分号 ; 结尾。
  • #define 宏定义:#define 标识符(名称) 常量值
    • 不需要分号 ; 结尾。
    • 定义在代码头部。
    • 标识符要符合字母、数字、下划线组合的要求且数字不可开头。
    • 字母建议全部大写。

示例:

c++ 复制代码
const double PI = 3.14159;  // 类型安全的符号常量
c++ 复制代码
#include <iostream>
#include "windows.h"
using namespace std; 

#define A 1  //宏定义
#define B 2  //宏定义

int main()
{
    SetConsoleOutputCP(CP_UTF8);
    cout << "A=" << A << "并且B=" << B << endl;
    return 0; 
}

输出:

c++ 复制代码
A=1并且B=2

2)变量

变量的声明:变量类型 变量名;包括:

  • int 整形;
  • float 实型;
  • char 字符型;
  • string 字符串型。

变量的赋值:变量名=变量值(等号右边结果赋给等号左边的变量)。

示例:

c++ 复制代码
#include <iostream>
#include "windows.h"
using namespace std;

int main()
{
    SetConsoleOutputCP(CP_UTF8);
    int age = 17, weight = 60;  //多变量同时定义并赋值, 使用逗号隔开
    float height;
    string gender;

    height = 1.6;
    gender = "小明";

    cout << gender << "今年" << age << ", 体重" << weight << "kg, 身高" << height << "m" << endl;
    return 0;
}

结果:

c++ 复制代码
小明今年17, 体重60kg, 身高1.6m

相关推荐
辰海Coding2 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
杜子不疼.2 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号32 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
晓梦林2 小时前
cp520靶场学习笔记
android·笔记·学习
sycmancia3 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码3 小时前
C++ 内存分区 堆区
java·开发语言·c++
心中有国也有家3 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
Upsy-Daisy3 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
无风听海3 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠4 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git