*C言語* 〜5時限目〜 文字コードについて・・・
〜目次〜
文字コード
コンピュータの中で文字は、数値として扱われています。
各文字のかたちに対応する数値のことを、
文字コード(character code)
と呼びます。
文字コードには色々な種類のものがあり、
代表的なものとしてシフトJISコード・Unicodeがあります。
どの文字コードが使われているのかは、お使いの環境によって異なります。
エスケープシーケンスである「¥xhh」・「¥OOO」を出力すると、
指定した文字コードに対応する文字が出力されます。
sample5.c
ーsample6の実行画面ー
8進数101の文字コードを持つ文字はAです。
16進数61の文字コードを持つ文字はaです。
環境がJISコードの場合、上記のように出力されます。
シフトJISコードでは、8進数の「101」がA、16進数の「61」がaに対応しています。
そのため、「A」や「a」が出力されるのです。
このプログラムは、お使いの環境が別の文字コードを使用している場合には
上のように出力されない場合もあります。
文字列
文字1文字に対して複数の文字の並びを、
文字列リテラル(string literal)
と呼びます。
文字列は文字とは異なり、' 'ではなく" "で囲みます。
以下が文字列の例です。
"Hello"
"C Language"
C言語では、文字列は1つの文字とは異なって扱われることになっています。
数値
C言語のコードには、数値を記述することができます。
数値には以下のような種類があります。
- 整数定数(integer constant) 1、2、77など
- 浮動小数点定数(floating constant) 2.9、3.14、1.0など
数値は' 'や" "で囲まないで記述します。
数値を出力する場合には、
%d(整数)、%f(浮動小数点数)
という変換仕様を使います。
8進数、16進数でも数値を出力することができます。
8進数の場合は、先頭に0
16進数の場合は、先頭に0x
をつけるということに注意してください。
2つ以上の文字・数値を出力する
文字や数値をまとめて出力するのには、
2つ以上の変換仕様を使います。
以下のコードを試してください。
sample6.c
ーsample6の実行画面ー
777は整数、Aは文字です。
777は整数、3.140000は小数です。
変換仕様を2つ以上記述すると、カンマで区切った順番に、
後ろの文字や数値がそれぞれ埋め込まれて出力されるようになります。
3つ以上の場合でも同じなので、順番にだけ注意をしましょう。
〜END~