常量相关

本文深入探讨了C++中字符常量与字符串常量的概念,包括它们的定义、存储类型、转义序列及特殊字符表示,并详细介绍了使用#define预处理器和const关键字定义常量的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符常量
字符常量是括在单引号中。如果常量以 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;

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
请注意,把常量定义为大写字母形式,是一个很好的编程实践。

 

转载于:https://www.cnblogs.com/ROHALLOWAY/p/4573355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值