Cprogramming-c-constants

提供:Dev Guides
移動先:案内検索

C-定数とリテラル

定数は、プログラムの実行中に変更されない可能性がある固定値を指します。 これらの固定値は*リテラル*とも呼ばれます。

定数は、_整数定数、浮動定数、文字定数、または文字列リテラル_などの基本データ型のいずれかです。 列挙定数もあります。

定数は、定義後に値を変更できないことを除いて、通常の変数と同様に扱われます。

整数リテラル

整数リテラルは、10進、8進、または16進定数です。 プレフィックスは、基数または基数を指定します。16進数の場合は0xまたは0X、8進数の場合は0、10進数の場合は何もありません。

整数リテラルには、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進数形式または指数形式で表現できます。

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

浮動小数点リテラルの例をいくつか示します-

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

文字定数

文字リテラルは一重引用符で囲まれています。たとえば、「x」は char 型の単純な変数に格納できます。

文字リテラルは、プレーン文字(例: 'x')、エスケープシーケンス(例: '\ t')、またはユニバーサル文字(例: '\ u02C0')です。

Cには、改行(\ n)やタブ(\ t)など、バックスラッシュが前に付いたときに特別な意味を表す特定の文字があります。

  • link:#[ここに、このようなエスケープシーケンスコードのリストがあります-]

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

#include <stdio.h>

int main() {
   printf("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 <stdio.h>

#define LENGTH 10
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;

   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

value of area : 50

constキーワード

次のように、 const プレフィックスを使用して、特定のタイプの定数を宣言できます-

const type variable = value;

次の例では、詳細に説明します-

#include <stdio.h>

int main() {
   const int  LENGTH = 10;
   const int  WIDTH = 5;
   const char NEWLINE = '\n';
   int area;

   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

value of area : 50

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