C++常量

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: C++常量包括整数、浮点、布尔、字符和字符串常量,支持不同进制与转义序列。可通过#define或const定义,推荐使用大写命名,提升代码可读性与安全性。

C++常量

一、整数常量

整数常量可以是十进制,八进制或十六进制的常量。

前缀指定基数:0x或0X表示十六进制,0表示八进制,不带前缀则表示十进制。

整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数(unsigned),L表示长整数(long),后缀可以是大写,也可以是小写,U和L的顺序任意。

85         // 十进制
0213       // 八进制 
0x4b       // 十六进制 
30         // 整数 
30u        // 无符号整数 
30l        // 长整数 
30ul       // 无符号长整数

二、浮点常量

浮点是由整数部分、小数点、小数部分和指数部分组成。

  • 当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。
  • 当使用指数形式表示时,必须包含小数点、指数,或同时包含两者。带符号的指数是用e或E引入的。

三、布尔常量

  • true值代表真
  • false代表假

注意:不应该把true的值看成1,把false的值看成0.

四、字符常量

字符常量是括在单引号中。

在 C++ 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等。下表列出了一些这样的转义序列码:

转义序列 含义
\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a 警报铃声
\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 一到三位的八进制数
\xhh . . . 一个或多个数字的十六进制数

下面的实例显示了一些转义序列字符:

#include <iostream>
using namespace std;

int main()
{
   cout << "Hello\tWorld\n\n";
   return 0;
}

当上面的代码被编译和执行时,他会产生下列结果:

Hello   World

五、字符串常量

字符串字面值或常量是括在双引号“”中的。一个字符串包含类似于字符串的字符:普通的字符、转义序列和通用的字符。

我们可以使用\做分隔符,把一个很长的字符串常量进行分行。

例如:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string greeting = "hello, runoob";
    cout << greeting;
    cout << "\n";     // 换行符
    string greeting2 = "hello, \
                        runoob";
    cout << greeting2;
    return 0;
}
hello, runoob
hello, runoob

六、定义常量

在C++中,有两种简单的定义常量的方式:

  • 使用#define预处理器。
  • 使用const关键字。

例1:

#include <iostream>
using namespace std;

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main()
{

   int area;  

   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

例2:

#include <iostream>
using namespace std;

int main()
{
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  

   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

注意:把常量定义为大写字母形式,是一个很好的编程实践。

相关文章
如何解决vscode中文路径的问题
如何解决vscode中文路径的问题
1963 0
|
Ubuntu
Ubuntu安装aptitude
Ubuntu安装aptitude
438 0
|
机器学习/深度学习
集合论—笛卡尔积与二元关系
集合论—笛卡尔积与二元关系
|
3月前
|
Java Go 开发者
IDEA开发常用的快捷键
IntelliJ IDEA常用快捷键汇总:涵盖代码生成(如main、sout)、编辑(复制、删除、重命名)、导航(跳转、查找)、格式化、代码阅读及版本控制等高频操作,提升开发效率。熟练掌握可显著优化编码体验,是Java开发者必备技能。
429 1
|
3月前
|
Oracle Java 关系型数据库
Java命名规范
Java命名规范涵盖包、类、方法、变量等命名规则。包名全小写,类名首字母大写采用驼峰法,接口常用形容词,抽象类以Abstract/Base开头,异常类以Exception结尾,方法名小写驼峰,常量全大写用下划线分隔,枚举值按常量规范命名,提升代码可读性与一致性。
590 0
|
4月前
|
Arthas 运维 监控
|
11月前
|
存储 缓存 网络协议
阿里云内存型实例规格性能、价格、适用场景与选型指南参考
阿里云服务器ECS(Elastic Compute Service)提供了多样化的内存型实例规格族,专为需要高性能内存资源的应用场景设计。从最新的r8a系列到经过优化的re6p系列,阿里云内存型实例旨在提供稳定、高效且安全的计算环境。这些实例不仅具备强大的计算性能与内存配比,还通过支持ESSD云盘和高效网络协议,显著提升了存储I/O能力和网络带宽,适用于大数据分析、高性能数据库、内存密集型应用等多种场景。本文将详细解析阿里云ECS中的多个内存型实例规格族,包括它们的核心特点、适用场景、实例规格及具体指标数据,为用户在选型时提供参考。
阿里云内存型实例规格性能、价格、适用场景与选型指南参考
|
9月前
|
存储 安全 算法
RAW格式硬盘打不开?这样做让它恢复如初
当硬盘或U盘突然显示为RAW格式,无法打开并提示“需格式化”时,切勿立即格式化或运行chkdsk,这可能导致数据永久丢失。RAW格式是系统无法识别文件系统的状态,常见原因包括分区损坏、病毒、坏道或异常关机。正确做法是先用专业工具恢复数据,通过智能加载或深度扫描找回文件。数据恢复后,再对硬盘进行格式化修复。本文详解操作步骤与注意事项,助你安全恢复数据、修复磁盘。
|
Java jenkins 持续交付
scons,一个实用的 Python 构建工具!
scons,一个实用的 Python 构建工具!
534 6
VS Code 中文乱码及编码格式问题全解
VS Code 中文乱码及编码格式问题全解
7437 0