C言語のリテラル定数を完全マスター!数値と文字と文字列の基本を初心者向けに解説
生徒
「C言語で数字や文字をプログラムに入れたいときは、どうすればいいんですか?」
先生
「数字や文字をそのまま書く方法があります。それをリテラル定数と呼びます。」
生徒
「変数とは違うんですか?」
先生
「違います。リテラル定数は値が変わらないデータを直接書く方法です。変数は値を後から変えられますが、リテラル定数は変えられません。」
生徒
「なるほど。詳しく知りたいです!」
1. リテラル定数とは何か
C言語のリテラル定数とは、プログラムの中に直接書かれた変わらない値のことです。例えば、数字や文字、文字列などをそのまま書くことで使うことができます。数値であれば10や3など、文字なら'A'や'3'、文字列なら"Hello"のように書きます。値がそのまま決まっているので、途中で変更することはできません。
プログラムを作るときには、計算したい数字や画面に表示したい文字を使う場面が多くあります。そのたびに変数を作る必要はなく、リテラル定数をそのまま使うことで簡単に記述することができます。初心者のうちは、リテラル定数と変数の違いを理解しておくことで、C言語のコードが読みやすくなります。
2. 数値のリテラル定数の使い方
数値のリテラル定数は、整数や小数などの数字を表すために使います。例えば、年齢や点数などの情報を表示したい場合に、数字を直接書くことができます。整数であれば、10や100のように書いてそのまま使えます。小数の場合は3.14などと書きます。計算式にも直接書くことができます。
#include <stdio.h>
int main(void)
{
printf("年齢は%d歳です。\n", 20);
printf("円周率は%fです。\n", 3.14);
return 0;
}
年齢は20歳です。
円周率は3.140000です。
このように数字を直接書くことで、計算や表示ができます。数値のリテラル定数は、四則演算の計算にも使えるため、式の中にそのまま書くことができます。
3. 文字のリテラル定数の基本
文字のリテラル定数は、一文字だけを扱うためのものです。一文字というところが大きなポイントで、表現したい文字を'A'のようにシングルクォーテーションで囲む必要があります。数字でも文字として扱う場合には'3'のように書きます。
#include <stdio.h>
int main(void)
{
char moji = 'A';
printf("文字の値は%cです。\n", moji);
return 0;
}
文字の値はAです。
文字のリテラル定数は、画面に文字を表示する場合だけでなく、条件による分岐にも使えます。例えば、入力された文字が'Y'なら処理を進める、といった使い方ができます。
4. 文字列のリテラル定数とは何か
文字列のリテラル定数は、複数の文字を連続して扱うときに使います。文字列は"Hello"のようにダブルクォーテーションで囲みます。一文字だけではなく、単語や文章などを扱うことができるため、画面表示のメッセージなどに使われます。
#include <stdio.h>
int main(void)
{
printf("こんにちは、C言語の世界へようこそ!\n");
return 0;
}
こんにちは、C言語の世界へようこそ!
文字列は、プログラムでメッセージを表示したいときにとても便利です。ユーザーに案内をしたり、結果を見せたりする場合には、文字列のリテラル定数が欠かせません。
5. 数値と文字と文字列の違いを理解しよう
初心者がつまずきやすいところとして、数字の3と文字の'3'と文字列の"3"があります。見た目はよく似ていますが、それぞれ意味が違います。数値の3は計算ができますが、文字の'3'は数値ではなく文字として扱われます。文字列の"3"は一文字でも複数文字と同じ扱いになるため、配列として扱う仕組みが裏側で使われています。
この違いを理解しておくと、C言語で表示や計算をおこなう際に混乱せずに書くことができます。数字として扱う場合には数値のリテラル、文字として扱う場合には文字のリテラル、文章として扱いたい場合には文字列のリテラルを使います。
C言語では、データの種類によって扱い方が変わるため、それぞれの定義を覚えておくことが大切です。数字や文字や文字列の区別ができると、プログラムが思ったとおりに動くようになります。