リテラル

プログラム中に直接書く数値や、文字、文字列などを"リテラル"と言う・・・。
定数という言い方もよくするが、マクロ定数と混同するので"リテラル"と言う方がいいと思う・・・。

いろんなリテラルを出力するプログラムをつくる・・・。

$ vi literal.c


まずは整数リテラルを出力する・・・。

1番目は、整数リテラル123をそのまま書いて、そのまま整数として出力されるように書いている・・・。
2番目は、先頭に0を付けて、8進数で書いた整数を、左は整数書式、右は8進数表記で出力されるように、
3番目は、先頭に0xを付けて、16進数で書いた整数を、同じく整数書式と16進数表記で出力されるようにしている・・・。

実行すると、

$ ./literal
Integer Literal(Decimal) 123 = 123
Integer Literal(Octal) 123 = 0173
Integer Literal(Hexadecimal) 123 = 0x7b

このように先頭に0を付けることで8進数、0xを付けることで16進数を使うことができる・・・。

また、整数は後ろに接尾語のLをつけることで、長精度整数(long int)であることを明示的に示す・・・。
Uをつけると、符号なし整数(unsigned int)を示す・・・。

  long int a;
  unsigned int b;

  a = 123L;
  b = 123U;


次は実数リテラル・・・。

小数を書くことで倍精度実数(double)リテラルとなる・・・。
ただ、ここでは%fで単精度実数(float)として出力している・・・。
2番目のように後ろにeと指数を書くことで、指数表記で書くことも可能である・・・。

実行すると、

Float Literal 0.000250 = 0.000250
Float Literal(Scientific notation) 0.000250 = 2.500000e-04

また、接尾語のFをつけることで、単精度実数(float)であることを明示する・・・。

  float f;

  f = 0.00025F;


次は、文字リテラル・・・。

文字リテラルはASCIIコード表のバイト数値と対応している・・・。
そのまま文字として書く場合は、上にあるように'A'というようにシングルクォートで囲む・・・。
下では当てはまるバイト数値を文字として出力している・・・。

実行すると、

Char Literal A = A
Char Literal(Byte value) A = 0x41


最後に、文字列リテラル・・・。

文字列リテラルは文字リテラルが連なったもの・・・。
"ABC"のようにダブルクォートで囲む・・・。

実行すると、

String Literal ABC

Sample/literal.c at master · bg1bgst333/Sample · GitHub