インターネットエクスプローラで学ぶC言語(入門編)

レッスン9:判断(その2)

このレッスンで学ぶことは?
このページでは、複数の処理を1つにまとめる方法の1つを説明します。
クイックジャンプ: ブロック |  | 動作確認 | 次のレッスンでは?

ブロック
if文は条件によって処理を変えることができますが、そのままでは、条件を満たす場合の処理は1つしか書けません。複数の処理をするときは、それらの処理を1つにまとめます。このまとめたものをブロックといいます。複数の処理を1つにまとめるには、次のように書きます。

書き方

{
    処理1;
    処理2;
    処理3;
};

注意:処理数が3つの場合の例です。処理数が多くなっても同様です。処理を並べて、「 { 」と「 } 」を前後につけるだけです。「 } 」の行末では、「 ; 」(セミコロン)が必要ありませんが、ここではつけています。処理1、処理2、処理3の行頭に空白を入れていますが、これは、見やすくするためです。

 

Q&Aコーナー

Q: 下のような、ifの処理の中にifがあるようなプログラムは正しいですか?
    if (a>0)
    {
       if (b>0)
         c=0;
      d=0;
    };
A: ここをクリック。

例
プログラム

次のようなプログラムをみてみましょう。
[注意]左端の番号は、プログラムの一部ではありません。各行を区別するために付けた番号です。

  1. void main(void)
  2. {
  3.   int x,y,z;
  4.    x=10;
  5.   if (x>=0)
  6.   {
  7.      y=1;
  8.      z=-100;
  9.   };
  10.   if (x<0)
  11.   {
  12.      y=-1;
  13.      z=100;
  14.   };
  15. }

プログラム説明

 4行目で、xの変数に10が代入されます。
 5行目14行目では、xの値によって処理を変えています。xの値が0以上のときは7行目8行目を実行し、xの値が0以上でないとき(0より小さいとき)12行目13行目を実行します。上のプログラムでは、xの値は10で、0以上ですので、7行目と8行目が実行され、yに1が、zに-100が代入されます。

動作確認
それでは、上の例の動作確認をしてみましょう。また、自分なりにプログラムを変更して、動作確認をしてみましょう。動作確認をする前に、Internet Explorerの設定をちゃんとしているか調べてください。

Cシミュレータ
Cシミュレータによる動作確認をするときは上の絵をクリック
[注意]このリンク先のページはInternet Explore 3.0以降で正しく表示されます。

練習

問題: aの変数に記憶されている値が0以上のときaの値を1つ増やし、bも2つ増やすプログラムを作成しましょう。
解答例: ここをクリック。

次のレッスンでは?
人間は同じことを繰り返すのは、飽きてしまって、不得意ですが、コンピュータは、飽きもせず同じことを繰り返してくれます。この繰り返し処理をレッスン10で説明します。[レッスン10へ]


TitleLineAnim.gif (2453 バイト)
http://or-lab.asahi-u.ac.jp/

このページの最終更新日は 00/01/25 です。
このページに関するご意見・コメントは板谷雄二(itaya@alice.asahi-u.ac.jp)までお願いします。

(C) 板谷雄二