主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

C++ 常量/文字


上一章 下一章

常量指的是程序中不可更改的固定值,也称为字面量。

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

再次强调,常量的处理方式与普通变量相同,只是它们的值在定义后不能被修改。

整数字面量

整数字面量可以是十进制、八进制或十六进制的常数。前缀指定了基数或基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀表示十进制。

整数字面量还可以有一个由 U 和 L 组成的后缀,分别代表无符号和长整型。后缀可以是大写或小写,并且可以以任意顺序出现。

以下是一些整数字面量的例子:

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

以下是其他类型的整数字面量的例子:

85 // 十进制 0213 // 八进制 0x4b // 十六进制 30 // int 30u // 无符号 int 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... 一个或多个十六进制数

示例

以下是一个展示几个转义序列字符的例子:

// C++ 程序演示转义序列字符
#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 标识符 值

示例

以下例子详细说明了它的用法:

// C++ 程序演示使用 #define 预处理器定义常量
#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 类型 变量 = 值;

示例

以下例子详细说明了它的用法:

// C++ 程序演示使用 const 关键字定义常量
#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;
}

当以上代码被编译和执行时,产生的结果如下:

50

注意:定义常量时,使用大写字母是一种好的编程习惯。

上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图