1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【C言語超入門(第9回)】定数の表現方法について学ぼう

Pocket

今回のC言語超入門では、定数の表現方法についてご説明いたします。

定数はデータを表現するために欠かせない機能です。
しっかりとポイントを押さえてくださいね。

さて、定数というのは文字通り、定まった数、ということです。
ただしC言語における定数とは、数値だけにとどまりません。

数値定数以外にも、文字定数や文字列定数、記号定数という定数があります。順を追ってご説明しますね。

数値定数

数値定数とは、「1」「2」「3」という数値のことです。
ポイントは、8進数や16進数でも表現することも可能だということ。特に16進数はプログラミングをしていく上で頻繁に使用しますので、しっかりと理解しておいてくださいね。

C言語で8進数を表すには、0(ゼロ)を先頭につけて表記します。
例えば10進数で「200」を8進数で表すと「0310」になります。
逆に言えば、数値を表記するときに0を先頭につけるとコンピューターは8進数として処理しますので、注意してください。

また16進数を表すには、0x(ゼロ エックス)を先頭につけます。10進数で「200」を16進数で表すと「0xC8」になります。
16進数の表現に、大文字・小文字の区別はありません。「0XC8」「0xc8」「0Xc8」も同じ意味になります。
ただし「0xC8」のように、「x」は小文字、他は大文字で表記することが多いようです。

なお、これまで整数を例に挙げてきましたが、もちろん「1.4142」「3.14159」のように小数点のある数値も扱うこともできます。

それでは数値定数を使った「※プログラム1」をご紹介しますので、動作を確認してくださいね。

※プログラム1

※プログラム1の実行結果

a = 200
b = 200
c = 200
d = 1.4142

文字定数

文字定数とは、「a」「b」「c」という1文字のことです。
1文字をシングルコーテーションで囲んで表現します。例えば、「a」であれば、’a’ と表現します。

ここで気を付けていただきたいポイントは、コンピューターの内部では文字が数値に置き換わるということです。

例えば、’a’であれば、コンピューターの内部では97という数値で処理される、ということです。

例を挙げてご説明いたしますね。

このように記述をしたとき、変数aには、97という数値が代入されるのです。
ですから以下のようにも記述できます。

コンピューターにとって両者に違いはありません。
ですが人間にとっては、97が ‘a’ の意味があることを理解するのは困難です。

文字定数を使うことで人間が見ても分かりやすいプログラムになることが、お分かりいただけると思います。

では、変数aの動きに注目して、「※プログラム2」を読んでみてください。

※プログラム2

※プログラム2の実行結果

a = 97
‘a’ = a
a = 97
‘a’ = a

記号定数

記号定数とは、数字や文字を人間にとって意味のある名前で定義したものです。

例えば、気温を測定して夏日、真夏日、猛暑日を知らせるプログラムを作るとしましょう。
まずは「※プログラム3」を読んでみてください。

※プログラム3

さて「※プログラム3」を読んでみると、25、30、35 という数値が何を意味するのか、よく分かりませんね。
25は夏日、30は真夏日、35は猛暑日のしきい値です。
ですから「※プログラム3」は「※プログラム4」のように記述した方が分かりやすくなります。

※プログラム4

いかがでしょうか。
少し分かりやすくなったと感じませんか。
「※プログラム4」を実行するためには、プログラムの冒頭で以下のように記号定数を定義します。

#define NATSU_BI 25
#define MANATSU_BI 30
#define MOUSYO_BI 35

これはプログラム内に、NATSU_BI、MANATSU_BI、MOUSYO_BI という文字列があったときは、それぞれ 25、30、35に置き換える、という意味があります。

このように記号定数を用いることで、数字に「人間にとって」分かりやすい意味を持たせることができるのです。

上記は数字を使いましたが、文字も同様に置き換えることができます。
「※プログラム5」は、文字を使った記号定数を使った少しトリッキーなプログラムです。

今は、このような使い方もできる、ということを理解していただければ十分です。

※プログラム5

※プログラム5の実行結果

2020年はうるう年です
2021年はうるう年ではありません

C言語超入門の第9回まとめ

さて今回のC言語超入門では、定数の表現方法についてご説明いたしました。
特に記号定数は、人間にとって読みやすいプログラムを書くためには書かせません。

これまでのC言語超入門でお伝えしてきましたように、人間にとって読みやすいプログラムを書くことは、とても大切なことです。
読みやすいプログラムを書くことができる人が、優秀なプログラマーと言えるでしょう。

ぜひ、記号定数を上手に使いこなす優秀なプログラマーを目指してくださいね。
ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る