logo

C のリテラル

C では、リテラルは変数に割り当てられる定数値です。リテラルは、変更できない固定値を表します。リテラルにはメモリが含まれていますが、変数としての参照はありません。一般に、用語、定数、リテラルは両方とも同じ意味で使用されます。
たとえば、const int = 5; は定数式であり、値 5 は定数整数リテラルと呼ばれます。

C リテラルの種類

C には 4 種類のリテラルがあります。

  • 整数リテラル
  • 浮動リテラル
  • 文字リテラル
  • 文字列リテラル

C リテラル



1. 整数リテラル

整数リテラル 整数値を表現および保存するためにのみ使用されます。整数リテラルは 2 つのタイプで表現されます。

A) 接頭辞: 整数リテラルのプレフィックスは、それが読み取られる基数を示します。
例えば:

0x10 = 16

0x プレフィックスは HexaDecimal ベースを表すためです。したがって、16 進数の 10 は 10 進数の 16 になります。したがって、値は 16 になります。

基本的に4つのタイプに分けられます。

a. 10 進数リテラル (基数 10): ゼロ以外の 10 進数 その後に 0 個以上の 10 進数 (0、1、2、3、4、5、6、7、8、9) が続きます。

例:

ms wordのクイックアクセスツールバー
56, 78>

b. 8進リテラル(基数8): ある 0 その後に 0 個以上の 8 進数 (0、1、2、3、4、5、6、7) が続きます。

例:

045, 076, 06210>

c. 16 進数リテラル (基数 16): 0x または 0X 1 つ以上の 16 進数が続きます (0、1、2、3、4、5、6、7、8、9、a、A、b、B、c、C、d、D、e、E、f、 F)。

例:

0x23A, 0Xb4C, 0xFEA>

d.バイナリリテラル(基数2): 0b または 0B その後に 1 つ以上の 2 進数 (0, 1) が続きます。

例:

0b101, 0B111>

B) サフィックス: 整数リテラルのプレフィックスは、それが読み取られるタイプを示します。

例えば:

12345678901234LL

接尾辞 LL により、long long 整数値 12345678901234 を示します。

これらは、データ型に応じてさまざまな方法で表現されます。

  • 整数: 整数定数はデフォルトで int データ型として割り当てられるため、サフィックスは必要ありません。
  • 符号なし整数: 整数定数の末尾に文字 u または U を追加します。
  • 長い整数: 整数定数の末尾に文字 l または L。
  • 符号なし長整数: 整数定数の末尾の文字 ul または UL。
  • 長整数型: 整数定数の末尾の文字 ll または LL。
  • 符号なしのlong long int: 文字 ull または整数定数の末尾の ULL。

例:

C




#include> int> main()> {> >// constant integer literal> >const> int> intVal = 10;> >printf>(>'Integer Literal:%d '>, intVal);> >return> 0;> }>

>

string.format Java文字列

>

出力

Integer Literal:10>

2. 浮動小数点リテラル

これらは実数を表現し、保存するために使用されます。実数には、整数部、実数部、小数部、指数部があります。浮動小数点リテラルは、10 進形式または指数形式で保存できます。浮動小数点 10 進数を表す場合、有効なリテラルを生成するには 2 つのことに留意する必要があります。

  • 10 進形式では、整数部分、小数部分、あるいはその両方を含める必要があります。そうしないと、エラーが発生します。
  • 指数形式では、仮数部分と指数部分の両方を含める必要があります。そうでないとエラーが発生します。

いくつかの浮動小数点リテラル表現を以下に示します。

有効な浮動リテラル:

小さじ対大さじ
10.125 1.215e-10L 10.5E-3>

無効な浮動リテラル:

123E 1250f 0.e879>

例:

C




#include> int> main()> {> >// constant float literal> >const> float> floatVal = 4.14;> >printf>(>'Floating point literal: %.2f '>,> >floatVal);> >return> 0;> }>

>

>

出力

Floating point literal: 4.14>

3. 文字リテラル

これは、一重引用符内に単一の文字を格納するために使用されるリテラルを指します。複数の文字を格納するには、文字配列を使用する必要があります。一重引用符内に複数の文字を格納すると、警告がスローされ、リテラルの最後の文字だけが表示されます。これにより、次の 2 つの表現が生じます。

  • 文字型: これは、通常の文字リテラルまたは狭文字リテラルを格納するために使用されます。

例:

char chr = 'G';>

例:

C




#include> int> main()> {> >// constant char literal> >const> char> charVal =>'A'>;> >printf>(>'Character Literal: %c '>,> >charVal);> >return> 0;> }>

文字列内の文字
>

>

出力:

Character Literal: A>

エスケープシーケンス : さまざまな操作を実行するために使用できるさまざまな特殊文字があります。

4. 文字列リテラル

文字列リテラルは文字リテラルと似ていますが、複数の文字を格納できることと、同じ文字を格納するために二重引用符を使用する点が異なります。上の表に記載されている特殊文字やエスケープ シーケンスにも対応できます。文字列リテラルを使用して長い行を複数の行に分割し、空白を使用してそれらを区切ることができます。
例:

char stringVal[] = 'techcodeview.com';>

例:

C


JavaScriptのif文



#include> int> main()> {> >const> char> str[]> >=>'Welcome To Geeks For Geeks'>;> >printf>(>'%s'>, str);> >return> 0;> }>

>

>

出力:

Welcome To Geeks For Geeks>

必読:

  • ユーザー定義リテラル
  • C++ の生の文字列リテラル
  • C の 8 進リテラル
  • C の複合リテラル
  • 文字リテラルの型の違い C++