C ++定数/リテラル

定数は、プログラムが変更できない固定値を参照し、呼び出されます literals

定数は、基本的なデータ型のいずれかであり、整数、浮動小数点数、文字、文字列、およびブール値に分割できます。

繰り返しますが、定数は、定義後に値を変更できないことを除いて、通常の変数と同じように扱われます。

整数リテラル

整数リテラルは、10進数、8進数、または16進数の定数にすることができます。接頭辞は、基数または基数を指定します。16進数の場合は0xまたは0X、8進数の場合は0、10進数の場合は何も指定しません。

整数リテラルには、unsignedとlongのそれぞれについて、UとLの組み合わせである接尾辞を付けることもできます。接尾辞は大文字または小文字にすることができ、任意の順序にすることができます。

整数リテラルの例を次に示します-

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

以下は、さまざまなタイプの整数リテラルの他の例です。

85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

浮動小数点リテラル

浮動小数点リテラルには、整数部分、小数点、小数部分、および指数部分があります。浮動小数点リテラルは、10進形式または指数形式のいずれかで表すことができます。

10進形式を使用して表す場合は、小数点、指数、またはその両方を含める必要があります。指数形式を使用して表す場合は、整数部分、小数部分、またはその両方を含める必要があります。符号付き指数は、eまたはEによって導入されます。

浮動小数点リテラルの例を次に示します-

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

ブールリテラル

2つのブールリテラルがあり、それらは標準のC ++キーワードの一部です-

  • の値 true 真を表す。

  • の値 false 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 1〜3桁の8進数
\ xhh。。。 1桁以上の16進数

以下は、いくつかのエスケープシーケンス文字を示す例です-

#include <iostream>
using namespace std;

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

上記のコードをコンパイルして実行すると、次の結果が得られます。

Hello   World

文字列リテラル

文字列リテラルは二重引用符で囲みます。文字列には、文字リテラルに類似した文字(プレーン文字、エスケープシーケンス、ユニバーサル文字)が含まれます。

文字列リテラルを使用して長い行を複数の行に分割し、空白を使用してそれらを区切ることができます。

文字列リテラルの例を次に示します。3つの形式はすべて同一の文字列です。

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

定数の定義

C ++には、定数を定義する2つの簡単な方法があります-

  • 使用する #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

CAPITALSで定数を定義することは良いプログラミング手法であることに注意してください。