2 条件式

教科書のp.102-107の内容である.教科書では条件式と言っているが,制御式ということ もある.

2.1 条件式

2.1.0.1 演算子と被演算子

先週の課題のプログラム,リスト1の動作を考える.このプログラムの 動作は,次のとおりである.まずは,「テストの点数?」と言うメッセージが現れるの で,ユーザーは点数を入力する.それに応じて, となる.
   1 #include <stdio.h>
   2 
   3 int main(void)
   4 {
   5   int tensu;
   6 
   7   printf("テストの点数?\t");
   8   scanf("%d",&tensu);
   9 
  10   if(tensu<50){
  11     printf("いわゆる欠点です.がんばらないと留年します.\n");
  12   }else{
  13     printf("合格点です.しかし,油断は禁物です.\n");
  14   }
  15 
  16   return 0;
  17 }
このように,条件--ここでは点数--に応じて実行される文が変わるものを,制御構造と 言う.この条件を表す式--ここではtensu<50--を条件式と言う.

式は,演算子(operator)と被演算子(operand)から構成する.例えば,単純な加算の式 a+bを考える.この場合,演算子は+,被演算子はabである.制御 式も式なので,演算子と被演算子とからなる.リスト1の場合,演算子 は<,被演算子はtensu50である.

条件式で良く使われる演算子をリスト2にまとめておく.ほとんど, 数学の記号と同じなので一瞬にして憶えられるだろう.

表 2: 条件式に使われる演算子
演算子種類 C言語 数学
関係演算子(大小判定) < $ <$
  <= $ \leqq$
  > $ >$
  >= $ \geqq$
等価演算子 == $ =$
  != $ \neq$

2.1.0.2 式の値

C言語の式は,計算の結果としての値を持つ.例えば,式3+5は8という値を持つ.制 御式も式なので値を持つ.条件式の演算の結果の値は,1または0である.制御 式の内容が「真」(true:真実の)であれば1,「偽」(false:誤った)であれば0 となる.まとめると,条件式の演算の結果は,
式の内容が正しい場合 $ \Rightarrow$ 計算結果は1(真)となる.
式の内容が誤りの場合 $ \Rightarrow$ 計算結果は0(偽)となる.
となる.これは2年生で学習するブール代数の同じ規則である.

実際のプログラム例を見たほうが分かりやすいであろう.C言語で次のように書いたとす る.

  a = 4 > 8;
  b = 4 < 8;

演算のは次のようになる.
ポイント 条件式に使われる関係演算子や等価演算子を用いた式の計算結果は,正しい 場合1で,誤りの場合0となる.

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年7月12日


no counter