Unknown Material

30分で書けること。

--/--/--   スポンサーサイト : スポンサー広告


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


コメント

2008/07/06   条件分岐のif : Unknown式C言語入門


今回は条件分岐について学びます。
いわゆるif文といわれるやつです。
このあたりからプログラム的な考え方が始まります。
プログラムというのは、基本「分岐」と「ループ」で出来ています。
この2つをどう組み合わせて目的の動作を達成するかが肝心です。
パズルを解くような面白さを是非味わってみてください。

ではサンプルプログラムから。

#include <stdio.h>
int main(void)
{
     int a;
     scanf(" %d ", &a);
     if ( a % 3 == 0)
     {
          printf("3の倍数です\n");
     }
     else
     {
          printf("3の倍数ではありません\n");
     }
     return 0;
}

『3の倍数を判定する』プログラムです。
話題に便乗してみました。
表示を書き換えればちょっとしたネタになると思います。
では、中身について見ていきましょう。


-- ◇ 条件分岐のif の続き --

今回新たに出てきた部分は
     if ( a % 3 == 0)
     {
          printf("3の倍数です\n");
     }
     else
     {
          printf("3の倍数ではありません\n");
     }

この部分ですね。
上から順に解説していきます。

まずメインである if の説明から。
英語での意味通り、ifには『もし○○なら××』という意味があります。
その○○に当たるのが直後の丸括弧()の中身、
つまり a % 3 == 0 です。
そして××には次の大括弧{}の中身、
printf("3の倍数です\n"); が相当します。
今回の場合であれば、
『入力した数字がもし3の倍数であれば、「3の倍数です」という出力をする』
という意味になります。

丸括弧の中身について。
 a % 3 == 0 
これが『3の倍数であれば』の意味を持つわけですが、
ここで新たな記号が2つ登場しています。
1つは「%(パーセント)」、もう1つは「==(イコール2つ)」です。
「==」は等しいという条件を表しています。
要するに数学的なイコールですね。
1つバージョンの「=」は前にもやった通り、
右の値を左に入れる代入の意味を表していますから、
紛らわしいですが等しいの意味で使うには2つ重ねる必要があります。
派生バージョンとして「>=」「<=」「>」「<」のようなものがあります。
数学で考える「≧」「≦」「>」「<」と同じなので状況によって使い分けてください。

ある数が3の倍数であるかを判断するにはどうすればよいでしょうか。
3の倍数であれば、3で割り切れるわけですから、
割り切れるかを調べるのが普通ですね。
そして、整数だけについて考えれば、
割り切れるということは余りが0であることでもあります。
そこで余りを求める「%」の登場です。
この「%」は割り算の商ではなく余りを計算してくれます。
例えば20÷3=6 余り 2 ですから、
20 % 3 と書けば2となります。
この余りを求めることは結構プログラムでは大切だったりします。
これを機に使い方を知っておきましょう。
なので結局『3で割り切れる』というのは
 a % 3 == 0 
こうなる訳です。
なお他の四則演算は次のように表します。
「+ (足す)」「- (引く)」「* (かける)」「/ (割る)」

次に大括弧{}の中身ですが…
これについてはあまり説明は要らないでしょう。
ifの条件を満たすとき、大括弧の始まりから終わりまでを実行します。
なお大括弧の中身については例のように字下げ(インテンド)を行いましょう。
大括弧が出てくる度にtabキーを押してスペースを確保します。
無くても動きますが、今後のプログラム作成のため。

次にelseです。
これはifに対応して使われるものです。
『ifの条件を満たさないなら』続く大括弧を実行します。
このifとelseで、条件を満たす場合と満たさない場合の分岐が出来上がる訳です。
尚、ifの後に毎回elseを使う必要はありません。
このサンプルの場合では不可欠ですが、
ifの条件を満たさない場合、特定の動作を必要としないならifだけで構いません。
これについてはまた後々出てくると思います。

以上がifについてです。
これらはフローチャートを作ってみるとわかり易いと思います。
特に複雑なプログラムを作っていくに当たって、
どのような分岐をするのかを間違えないことが肝心です。
今のうちから意識しておきましょう。

スポンサーサイト


コメント

ナビゲーション

カテゴリー
 ライトノベル関連 (54)
 漫画・アニメ関連 (1)
 コンピューター関連 (29)
 テンプレート (5)
 Unknown式C言語入門 (9)
 大学生活・雑記 (35)
 製品レビュー (2)
  →  このブログについて
  → 過去レビュー 一覧
アクセス数
   

プロフィール

  プロフィール画像(レニウム)
 ◇ レニウム
   詳しく見る。

相互リンク

マクロミルへ登録

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。