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

相关推荐
hugh_oo几秒前
100 天学会爬虫 · Day 11:如何合理控制爬虫请求频率?让访问行为更像真人
开发语言·爬虫·python
天赐学c语言16 分钟前
12.18 - 有效的括号 && C语言中static的作用
数据结构·c++·算法·leecode
JIngJaneIL17 分钟前
基于java+ vue建筑材料管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
半梅芒果干22 分钟前
vue3 新建文件store自动导入
开发语言·前端·javascript
Tony Bai23 分钟前
Go 1.26 新特性前瞻:从 Green Tea GC 到语法糖 new(expr),性能与体验的双重进化
开发语言·后端·golang
悟能不能悟34 分钟前
Java 中将 List 中对象的某一列转换为 Set
java·开发语言·list
vortex539 分钟前
Bash Shell 的展开与补全机制
开发语言·bash
Dream it possible!39 分钟前
LeetCode 面试经典 150_回溯_组合(99_77_C++_中等)
c++·leetcode·面试·回溯
杰米不放弃41 分钟前
AI大模型应用开发学习-23【20251217】
学习
010米粉0101 小时前
Qt Cmake之路(一):Cmake变量语法
开发语言·qt·cmake