C - 定数とリテラル
定数とは、プログラムが実行中に変更できない固定値を指します。これらの固定値は リテラル とも呼ばれます .
定数は、整数定数、浮動定数、文字定数、または文字列リテラルなどの基本的なデータ型のいずれかにすることができます .列挙定数もあります。
定数は、定義後に値を変更できないことを除いて、通常の変数と同じように扱われます。
整数リテラル
整数リテラルは、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 進数形式または指数形式で表すことができます。
小数形式を表すときは、小数点、指数、またはその両方を含める必要があります。また、指数形式を表すときに、整数部分、小数部分、またはその両方を含める必要があります。符号付き指数は、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) など、前にバックスラッシュを付けると特別な意味を表す特定の文字があります。
- ここに、そのようなエスケープ シーケンス コードのリストがあります −
エスケープ シーケンス 意味 \\ \ 文字 \' ' 文字 \" "文字 \? ?キャラクター \a アラートまたはベル \b バックスペース \f フォーム フィード \n 改行 \r キャリッジ リターン \t 水平タブ \v 垂直タブ \ooo 1 桁から 3 桁の 8 進数 \xhh . . . 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 つあります −
- <リ>
#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 で定数を定義することは、良いプログラミング方法であることに注意してください。
C言語