C言語入門(はじめての変数宣言と代入)

C言語

どうもサンチョです!

暖かくなったと思ったら急に寒くなるこの季節。
体調崩しがちなので、皆さんもどうかお気をつけて!

というワケでですね。
今回はプログラミングにおいて欠かせない変数と代入についてご紹介します。

前回の練習問題の解答例

まずは前回は最後に出した練習問題の解答例です。

#include<stdio.h>
int main() {
    printf("3+2=%d\n", 3 + 2);
    printf("3ー2=%d\n", 3 - 2);
    printf("3*2=%d\n", 3 * 2);
    printf("3/2=%d\n", 3 / 2);
    printf("3%2=%d\n", 3 % 2);
}

こんな感じOKです。

ところで、この問題に取り組む際に半角の「%」を表示しようとしませんでしたか?
実は半角の「%」を入れると、変換指定子と認識されてしまうので
画面にはなにも表示されません。
半角の「%」を表示したいときは、以下のように「%%」と書く必要があります。

printf("3 %% 2 = %d\n", 3 % 2);

半角の「%」が表示できなかったとき、あなたはどのようなアクションを起こしましたか?
もし検索して解決したのであれば、あなたは既にSEの適正を持っているかもしれません。
分からないものに直面したとき、調べようとする姿勢はとても素敵です。
その心意気で、今後もがんばってください!

因みに検索しなかったからといって、適正がないワケではありません。
これから「検索すること」を意識すれば良いだけです。

では、解答例の解説は以上とします。
ここからいよいよ本題に入ります!

変数と代入

練習問題では、計算式の結果を表示するプログラムを作成しました。
この程度の計算式であれば問題ありませんが、式が長くなると大変です。
一時的に数値を保持してくれるものがあると便利だと思いませんか?

そこで登場するのが変数です。

変数とは

メモリ領域の一部分に名前を付けたもののことです。

メモリとは、一時的に情報を保管してくれる記憶装置のことです。
あなたもパソコンを購入する際にメモリサイズを検討しましたよね?
メモリ領域とは、メモリ上のデータの保管場所だと思ってください。

本来メモリ領域には番地が割り振られていますが、これを人間が記憶しておくのは極めて困難です。
人間が見たときに意味が分かるよう、番地に別の名前をつけたものを変数と言います。

変数の宣言

変数を作ることを変数の宣言と言います。

〇〇の宣言」という言い方は今後も何度となく登場しますので、
何かを作る(あるいは準備する)ときの言い回しだと思ってください。

変数を宣言する際は次のルールで記述します。

型名 変数名;

型名とは、宣言した変数が取り扱えるデータの種類を指します。データ型とも呼ばれます。
変数名とは、その名の通り変数として用いる名前を指します。

次のルールの範囲内であれば、自由に変数名をつけることができます。

  • 変数名に使用できる文字は半角英数字、半角_(アンダースコア)。全角文字は不可。
  • 最初の一文字目は数字であってはならない。
  • 予約語(後述するintなど、自由に使用できない識別名のこと)は使用できない。

さて、今回はひとまず整数を扱う型についてご紹介します。

int型

整数を扱う代表的な型です。
親戚にshortやlongが居ますが、とりあえず今回はおいておきます。

ではさっそくint型の変数を定義してみましょう。

#include<stdio.h>
int main() {
    int value;
    printf("int valueの値は⇒%d", value);
}

これでメモリ領域に「value」という別名を付けることができました。
というワケで、さっそく実行してみm何ぃ!?

はい、ビルドエラーが発生しました。
何がまずかったのでしょうか?
ひとまずは出力されたログを確認してみます。

VisualStudioの下の方を見ると、エラー一覧という画面が表示されています。
これによると宣言したvalueを初期化しなかったことでエラーになったようです。

プログラミングに慣れていないと、初期化と聞いただけで思考が止まりそうですが、
初期化とは変数に初期値を与えることです。

今回はvalueを宣言しただけなので、valueの中に何が入っているか分かりません。
そんな状態でprintf関数で表示しようとしたので、エラーになったというワケです。

このエラーを回避するには値を入れてあげないといけません。
では初期値はどうやって与えれば良いのでしょうか?
そこで登場するのが代入です。

代入とは

代入とは変数に値を記憶させることを言います。
代入を行う際は「=」を用います。
この場合「=」の左側の値が、右側の変数に記憶されます。

value = 100;

これで変数valueに「100」という値が記憶されることになります。

【注意!】
数学の考え方だと「value = 100」は「valueは100である」という意味になりますが、
プログラミングでは「valueに100を代入する」という意味になります。
意味が異なるので、勘違いしないよう注意しましょう。

ではvalueに値を代入する処理を追記して、もう一度プログラムを実行してみましょう。

#include<stdio.h>
int main() {
    int value;
    value = 100;
    printf("int valueの値は⇒%d", value);
}

今度はうまく動きました!
このように変数を定義したら、使用する前に必ず初期化することを意識してください。

【式も代入できる】
式を代入として記述することもできます。
その場合は式そのものが代入されるのではなく、式の結果が代入されます。
試しに以下のプログラムを実行してみてください。

#include<stdio.h>
int main() {
    int value;
    value = 100 * 2;
    printf("int valueの値は⇒%d", value);
}

練習問題

【問1】
縦の長さが20、横の長さが30の四角形の面積を求めて表示するプログラムを作成してください。
尚、「縦の長さ」「横の長さ」「面積」はそれぞれ変数として保持してください。

まとめ

今回は変数と代入について学びました。
だんだん難しくなってきましたが、理解できない場合は動きを観察してから
もう一度説明した内容をチェックしてみてください。
或いは、ご自身で検索を行っても構いません。

次回は「int型以外の変数の使い方」をご紹介しますので、
ゆるく学んでいきましょう!

お疲れ様でした!

コメント

タイトルとURLをコピーしました