C定数


定数とは、プログラム実行中に変化しない固定値です。これらの固定値はリテラルとも呼ばれます。

定数には、整数定数、浮動小数点定数、文字定数、文字列リテラル、および列挙定数などの基本的なデータ型を使用できます。

定数は、定数の値を定義後に変更できない点を除いて、通常の変数と同じです。

整数定数

整数定数には、10 進数、8 進数、または 16 進数の定数を使用できます。プレフィックスは基数を指定します。16 進数の場合は 0x または 0X、8 進数の場合は 0、プレフィックスがない場合のデフォルトは 10 進数です。

整数定数には接尾辞を付けることもできます。接尾辞は U と L の組み合わせです。U は符号なし整数 (unsigned) を表し、L は長整数 (long) を表します。接尾辞は大文字でも小文字でもよく、U と L は任意の順序で指定できます。

以下は、いくつかの整数定数の例です:

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

以下は、さまざまなタイプの整数定数の例です:

85         /* 十进制 */0213       /* 八进制 */0x4b       /* 十六进制 */30         /* 整数 */30u        /* 无符号整数 */30l        /* 长整数 */30ul       /* 无符号长整数 */

浮動小数点定数

浮動小数点定数は、整数部、小数点、小数部、および指数部。浮動小数点定数は、10 進数または指数形式で表すことができます。

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

浮動小数点定数の例をいくつか示します:

3.14159       /* 合法的 */314159E-5L    /* 合法的 */510E          /* 非法的:不完整的指数 */210f          /* 非法的:没有小数或指数 */.e55          /* 非法的:缺少整数或分数 */

文字定数

文字定数は一重引用符で囲まれます。たとえば、'x' は char 型の単純な変数に格納できます。

文字定数には、通常の文字 (「x」など)、エスケープ シーケンス (「t」など)、またはユニバーサル文字 (「u02C0」など) を使用できます。

C には、バックスラッシュが前にある場合に特別な意味を持ち、改行 (n) またはタブ (t) を表すために使用される特定の文字がいくつかあります。次の表は、そのようなエスケープ シーケンス コードの一部を示しています。

1つ以上。 16 進数の数字

次の例は、いくつかのエスケープ シーケンス文字を示しています。

#include <stdio.h>int main(){
   printf("Hello\tWorld\n\n");   return 0;}

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

Hello   World

文字列定数

文字列リテラルまたは定数は、中央の二重引用符 "" で囲まれます。文字列には、文字定数に似た文字 (通常の文字、エスケープ シーケンス、ユニバーサル文字) が含まれます。

スペースを区切り文字として使用して、長い文字列定数を複数の行に区切ることができます。

以下の例は、いくつかの文字列定数を示しています。以下の 3 つの形式で表示される文字列は同じです。

"hello, dear""hello, \

dear""hello, " "d" "ear"

定数を定義する

C では、定数を定義する簡単な方法が 2 つあります:

  1. #define プリプロセッサを使用します。

  2. 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

定数を大文字で定義するのが良いプログラミング方法であることに注意してください。

エスケープ シーケンス 意味
\ 文字
'' 文字
" 」キャラクター
?? キャラクター
aアラート着信音
bバックスペース
fフォームフィード
n 改行
rEnter
t水平タブ文字
v垂直タブ文字
ooo1〜3個の8進数