C++ 常量

2023-10-27

常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量

常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。

常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

整数常量

整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。

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

下面列举几个整数常量的实例:

212 // 合法的 215u // 合法的 0xFeeL // 合法的 078 // 非法的:8 不是八进制的数字 032UU // 非法的:不能重复后缀

以下是各种类型的整数常量的实例:

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

浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

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

下面列举几个浮点常量的实例:

3.14159 // 合法的 314159E-5L // 合法的 510E // 非法的:不完整的指数 210f // 非法的:没有小数或指数 .e55 // 非法的:缺少整数或分数

布尔常量

布尔常量共有两个,它们都是标准的 C++ 关键字:

  • true 值代表真。
  • false 值代表假。

我们不应把 true 的值看成 1,把 false 的值看成 0。

字符常量

字符常量是括在单引号中。如果常量以 L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),此时它必须存储在 wchar_t 类型的变量中。否则,它就是一个窄字符常量(例如 'x'),此时它可以存储在 char 类型的简单变量中。

字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0')。

在 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

字符串常量

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

您可以使用空格做分隔符,把一个很长的字符串常量进行分行。

下面的实例显示了一些字符串常量。下面这三种形式所显示的字符串是相同的。

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

定义常量

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

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

#define 预处理器

下面是使用 #define 预处理器定义常量的形式:

#define identifier value

具体请看下面的实例:

实例

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

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

50

const 关键字

您可以使用 const 前缀声明指定类型的常量,如下所示:

const type variable = value;

具体请看下面的实例:

实例

#include <iostream> 
using namespace std; 
main() 
{ 
    const int LENGTH = 10; 
    const int WIDTH = 5; 
    const char NEWLINE = '\n'; 
    int area; 
    area = LENGTH * WIDTH;
    cout << area; 
    cout << NEWLINE;
    return 0; 
}

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

50

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

原文链接:https://www.runoob.com/cplusplus/cpp-constants-literals.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 常量 的相关文章

  • C++ 字符串

    C 提供了以下两种类型的字符串表示形式 C 风格字符串 C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言 并在 C 中继续得到支持 字符串实际上是使用 null 字符 0 终止的一维字符数组 因此 一个以
  • C++ 动态内存

    了解动态内存在 C 中是如何工作的是成为一名合格的 C 程序员必不可少的 C 程序中的内存分为两个部分 栈 在函数内部声明的所有变量都将占用栈内存 堆 这是程序中未使用的内存 在程序运行时可用于动态分配内存 很多时候 您无法提前预知需要多少
  • C++ 常量

    常量是固定值 在程序执行期间不会改变 这些固定的值 又叫做字面量 常量可以是任何的基本数据类型 可分为整型数字 浮点数字 字符 字符串和布尔值 常量就像是常规的变量 只不过常量的值在定义后不能进行修改 整数常量 整数常量可以是十进制 八进制
  • C++ 数组

    C 支持数组数据结构 它可以存储一个固定大小的相同类型元素的顺序集合 数组是用来存储一系列数据 但它往往被认为是一系列相同类型的变量 数组的声明并不是声明一个个单独的变量 比如 number0 number1 number99 而是声明一个
  • VC++ 控制台程序常用接口

    1 申请一个控制台窗口 如果程序本身是控制台程序 可以不用调用 AllocConsole 2 获取控制台屏幕缓冲区的句柄 HANDLE m hConsole GetStdHandle STD OUTPUT HANDLE 3 设置控制台标题
  • GPAC MP4文件写入(支持H264、H265)

    1 GPAC模块下载链接https github com gpac gpac或https gpac wp imt fr downloads 2 编译指导https github com gpac gpac wiki Build Introd
  • C++ 正则表达式regex(一)

    匹配字符串的基本规则 1 匹配固定的字符串 regex e abc 2 匹配固定字符串 不区分大小写 regex e abc regex constants icase 3 匹配固定字符串之外多一个字符 不区分大小写 regex e abc
  • C++类上使用属性(__declspec property)

    原始代码如下 class A private int m nIndex public int getIndex return m nIndex void setIndex int value m nIndex value 如果采用属性方式实
  • C++ 模板

    模板是泛型编程的基础 泛型编程即以一种独立于任何特定类型的方式编写代码 模板是创建泛型类或函数的蓝图或公式 库容器 比如迭代器和算法 都是泛型编程的例子 它们都使用了模板的概念 每个容器都有一个单一的定义 比如 向量 我们可以定义许多不同类
  • C++ 标准库中数据类型转换

    头文件引用
  • C++ 正则表达式regex(二)

    正则匹配 查找与替代 书写好模式字符串后 需要将待匹配的字符串和模式字符串进行一定规则的匹配 包括三种方式 匹配 regex match 查找 regex search 替换 regex replace 匹配很简单 直接将待匹配字符串和模式
  • C++ Web 编程

    什么是 CGI 公共网关接口 CGI 是一套标准 定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的 CGI 规范目前是由 NCSA 维护的 NCSA 定义 CGI 如下 公共网关接口 CGI 是一种用于外部网关程序与信息服务器
  • C++ 日期 & 时间

    C 标准库没有提供所谓的日期类型 C 继承了 C 语言用于日期和时间操作的结构和函数 为了使用日期和时间相关的函数和结构 需要在 C 程序中引用
  • C++ 多态

    多态按字面的意思就是多种形态 当类之间存在层次结构 并且类之间是通过继承关联时 就会用到多态 C 多态意味着调用成员函数时 会根据调用函数的对象的类型来执行不同的函数 下面的实例中 基类 Shape 被派生为两个类 如下所示 实例 incl
  • C++ 基本的输入输出

    C 标准库提供了一组丰富的输入 输出功能 我们将在后续的章节进行介绍 本章将讨论 C 编程中最基本和最常见的 I O 操作 C 的 I O 发生在流中 流是字节序列 如果字节流是从设备 如键盘 磁盘驱动器 网络连接等 流向内存 这叫做输入操
  • C++ 函数

    函数是一组一起执行一个任务的语句 每个 C 程序都至少有一个函数 即主函数 main 所有简单的程序都可以定义其他额外的函数 您可以把代码划分到不同的函数中 如何划分代码到不同的函数中是由您来决定的 但在逻辑上 划分通常是根据每个函数执行一
  • C/C++ 打印菱形图案

    设计思路 以n行菱形为例 n为奇数 图形分为上下2部分 左上角坐标为 0 0 顶点坐标为 0 n 2 图形上半部分 0 n 2 从第1行到第n 2行 每行菱形数递增1个单位 同时每行菱形的起始坐标递减1个单位 图形下半部分 n 2 1 n
  • C++ 标准库

    C 标准库可以分为两部分 标准函数库 这个库是由通用的 独立的 不属于任何类的函数组成的 函数库继承自 C 语言 面向对象类库 这个库是类及其相关函数的集合 C 标准库包含了所有的 C 标准库 为了支持类型安全 做了一定的添加和修改 标准函
  • C++ 继承

    面向对象程序设计中最重要的一个概念是继承 继承允许我们依据另一个类来定义一个类 这使得创建和维护一个应用程序变得更容易 这样做 也达到了重用代码功能和提高执行效率的效果 当创建一个类时 您不需要重新编写新的数据成员和成员函数 只需指定新建的
  • C/C++ 课题解答(1)

    随机产生100个字符 a z 数组arrayOfChar 输入字符c 计算字符c在数组中出现的次数和位置 include

随机推荐

  • 启动Redis报错:Could not create Server TCP listening socket *:6379: bind: Address already in use–解决办法

    最后一句提示 6379地址已经在使用 6379是redis默认的端口 如图我自己输入指令 redis server 显示Redis已经开启服务 1 正常解决方法三部 通过指令找到redis进程 查看所有关于它的进程详情 ps ef grep
  • Harbor-私有docker仓库离线安装配置

    因为工作需要 有时候是需要完全断网环境 此时需要在内网环境中离线安装Harbor私有仓库 1 系统环境描述 主机 X86 64架构 8G内存 期待啥时候等有机会找一台国产化机器安装一个其他架构的版本 操作系统 CentOS 7 9 2009
  • Python爬虫进阶:实战案例与技巧详解

    导言 Python作为一种强大的编程语言 在网络爬虫开发中发挥着重要作用 除了基本的爬虫技巧外 还有许多高级的爬虫技术可以帮助我们更好地获取和处理数据 本篇文章将结合实际案例 介绍Python爬虫的进阶技巧 并提供相应的代码示例 帮助读者深
  • 练习一、用JS语言计算两点之间距离功能

    功能描述 在界面建立4个数字输入框分别代表两点的横坐标 纵坐标 点击按钮并计算出相应的距离 主要考点 熟悉math对象中开根号math sqrt 数值 与平方math pow 数值 次幂 框架 elementui 相关代码
  • Netty学习——整体架构

    Netty 整体结构 Netty 是一个设计非常用心的网络基础组件 Netty 官网给出了有关 Netty 的整体功能模块结构 却没有其他更多的解释 从图中 我们可以清晰地看出 Netty 结构一共分为三个模块 Core 核心层 Core
  • Coverity介绍以及典型缺陷说明

    Coverity概述 Coverity公司是由一流的斯坦福大学的科学家于2002年成立的 产品核心技术是1998年至2002年在斯坦福大学计算机系统实验室开发的 用于解决一个计算机科学领域最困难的问题 在2003年发布了第一个能够帮助Lin
  • 一元多项式相加可实现代码数据结构(C语言)

    一元多项式相加可实现代码 c语言 数据结构 C语言版 书上是伪代码 经过不断修改调试 写下可实现的C语言源代码 创建文件 分为两部分 头文件 Poly h 和源文件 Poly c 一 实验目的 1 了解一元多项式的表示 2 实现一元多项式的
  • python使用influxdb-client管理InfluxDB的bucket

    bucket的概念类似数据库的 库 同时每个库中的数据都因为存在 时间戳 每个数据都会有一个对应的时间点 influxdb client python官方github页面 https github com influxdata influx
  • termux基本使用教程[通俗易懂]

    初始化 下载并初始化termux 安装vim 安装编辑器vim pkg install vim 解决中文乱码问题 在home目录下 新建 vimrc文件 vim vimrc 添加内容如下 set fileencodings utf 8 gb
  • 华为机试题67-24点游戏算法

    描述 给出4个1 10的数字 通过加减乘除运算 得到数字为24就算胜利 除法指实数除法运算 运算符仅允许出现在两个数字之间 本题对数字选取顺序无要求 但每个数字仅允许使用一次 且需考虑括号运算 此题允许数字重复 如3 3 4 4为合法输入
  • flex实现简单计算机程序,Macromedia Flex 制作计算器源码和制作步骤

    这个计算器是由两个部分组成 一个前台界面的MXML文件 一个后台控制器的AS文件 mxml文件负责显示计算器的界面 as文件负责处理用户发送的信息并计算结果 在这个教程中我们主要学习 list The Application class T
  • 音乐小程序项目

    目录 一 开放前的准备 1 项目展示 2 项目分析 1 音乐小程序项目页面结构图 2 音乐小程序项目目录结构 3 音乐小程序项目目录结构 3 项目初始化 二 标签页切换 1 任务分析 2 前导知识 1 swiper组件编写滑动页面结构 2
  • 字符检测:C语言ispunct()函数--判断字符是否为标点符号或特殊字符

    ispunct 函数用来检测一个字符是否为标点符号或特殊字符 其原型为 int ispunct int c 参数 c 为需要检测的字符 返回值 若 c 为标点符号或特殊符号 非空格 非数字和非英文字母 返回非 0 值 否则返回 0 注意 此
  • 第二次 的面试题目 (自闭!!)

    1 qt 调试时遇见过的报错信息 1 遇到过 最常见的是 没有加头文件 2 未定义错误 2 在linux上使用过gdb吗 怎么使用 什么是GDB 能干啥 gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具 一般来说 GDB主要
  • 云函数(go)部署-腾讯云

    目录 1 云函数入口 2 上传本地函数代码 2 1 进入创建云函数 2 2 定义函数名称 选择运行环境 2 3 上传本地云函数 2 3 配置高级属性 可选填 2 4 点击完成 云函数代码没有问题 则可正常部署 2 5 函数管理 重新上传部署
  • Antv L7 + mapbox 实现简单地图场景

    实现场景 1 创建地图场景 2 自定义marker样式 3 mapbox 实现3D地图 代码实现 1 创建地图场景 div div
  • postman接口测试工具,实现Jmeter+Ant+Jenkins持续集成

    一 中小型公司 中小型项目 jmeter Ant Git jmx Jenkins持续集成 Postman Newman Git Jenkins持续集成 大中型公司 接口自动化框架 接口自动化平台 二 Jmeter常用组件 执行顺序 测试计划
  • 微信小程序支付完整流程(前端)

    微信小程序中 常见付款给商家的场景 下面列出企业小程序中 从0起步完整微信支付流程 一 注册微信支付商户号 由上级或法人注册 接入微信支付 微信商户平台 此商户号 需要由主管及更上级领导进行注册 会成为公司收款账户 不是由前端程序员注册 不
  • XSS和CSRF攻击

    一 XSS攻击 跨脚本攻击 是一种普遍的Web应用安全漏洞 这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中 当正常用户访问该页面时 则可导致嵌入的恶意脚本代码的执行 从而达到恶意攻击用户的目的 本质是 网站没有对恶意代码进
  • C++ 常量

    常量是固定值 在程序执行期间不会改变 这些固定的值 又叫做字面量 常量可以是任何的基本数据类型 可分为整型数字 浮点数字 字符 字符串和布尔值 常量就像是常规的变量 只不过常量的值在定义后不能进行修改 整数常量 整数常量可以是十进制 八进制