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

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 型
ULunsigned long 型
ULLunsigned long long 型
Ffloat 型
Ddouble 型(编译器会警告,不用管)

样例:

#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;
}

结果:

21和21LL的字节数分别是:4、8

②符号常量

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

定义方法:

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

示例:

const double PI = 3.14159;  // 类型安全的符号常量
#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; 
}

输出:

A=1并且B=2

2)变量

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

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

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

示例:

#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;
}

结果:

小明今年17, 体重60kg, 身高1.6m

http://www.dtcms.com/a/342368.html

相关文章:

  • 计算机视觉--opencv(代码详细教程)(三)--图像形态学
  • 【框架篇二】FastAPI路由与请求处理
  • javaweb开发笔记——微头条项目开发
  • 零性能妥协:Gearbox Entertainment 通过 AWS 和 Perforce 实现远程开发革命
  • AWS EC2 实例优化检测工具:完整指南与实践
  • WSL的Ubuntu如何改名字
  • AWS Lambda 高并发场景下的错误处理与监控最佳实践
  • 06高级语言逻辑结构到汇编语言之逻辑结构转换 for (...; ...; ...)
  • 一款更适合 SpringBoot 的API文档新选择(Spring Boot 应用 API 文档)
  • 数据结构:构建一棵AVL树需要多少节点(Height VS Nodes in AVL Trees)
  • Claude Code 已支持【团队版】和【企业版】订阅
  • 解析 C 语言整数类型:超越命名的长度奥秘
  • SWMM排水管网水力、水质建模及海绵城市与水环境中的应用
  • 7. if 条件语句的知识与实践
  • 三层交换机
  • CMake2: CMakeLists.txt的常用命令
  • 5.6 element ui
  • 计算机网络技术-第六章
  • STM32 TIM_CtrlPWMOutputs函数
  • 两种单例模式
  • 分享一个免费开源的网站跟踪分析工具Open-Web-Analytics(和GoogleAnalytics一样)
  • 3D 环形旋转图片轮播(纯html,css,js)
  • Docker:安装配置
  • Unity编辑器相关
  • 类加载问题与内存泄漏排查:隐藏在元数据区的致命陷阱
  • electron-vite_18Less和Sass共用样式指定
  • 超级 APP:重构多平台运营生态,一站式解决用户与商家痛点
  • Java性能优化:JVM工具与Tomcat调优实战
  • 批量收藏Chrome浏览器中打开的多个标签页快捷方法
  • 12_Go语言项目架构与工程实践