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

相关推荐
rannn_11114 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
杜子不疼.18 分钟前
PyPTO:面向NPU的高效并行张量编程范式
开发语言
lly20240618 分钟前
C# 结构体(Struct)
开发语言
艾莉丝努力练剑28 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
张人玉28 分钟前
VisionPro 定位与卡尺测量学习笔记
笔记·学习·计算机视觉·vsionprp
YMWM_29 分钟前
python3继承使用
开发语言·python
Once_day44 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法