[ 前のページに戻る ]

Cの初歩

条件分岐

if文

条件式を満足するかしないかで、別の処理を行ないたい場合に、if文を用いる。

 if (条件式1) {
   処理1;
 } else if (条件式2) {
   処理2;
 } else if (条件式3) {
 ...
 } else if (条件式n) {
   処理n
 } else {
   それ以外の処理;
 }

のように用いる。このとき、条件式に用いられる演算子に比較演算子や論理積、論理和演算子がある。

比較演算子、論理積演算子、論理和演算子

演算演算子意味演算の順位
比較>greater thanif (a > b) {...} //aがbより大きいなら...を実行する3
>=greater than or equal toif (a >= b) {...} //aがb以上なら...を実行する
<less thanif(a < b) {...} //aがbより小さいなら...を実行する
<=less than or equal toif (a <= b) {...} //aがb以下なら...を実行する
==equal toif (a == b) {...} //aがbと等しいなら...を実行する4
!=not equal toif (a != b) {...} //aがbと等しくないなら...を実行する
論理積&&andif (a == b && b == c) {...} //aとbが等しく、かつ,bとcが等しいなら...を実行するす5
論理和||orif (a == b || b == c) {...} //aとbが等しいか、あるいは、bとcが等しいなら...を実行する6

(注意1) 演算の順位を変えたい場合は、"()"で括る。

例1) aが1より大きく、かつ、5以下ならば、aをbに代入する。aが5より大きく、10以下ならば、aをcに代入する。そうでないならば、aに0を代入する。

 if (a > 1 && a <= 5) { // aが1より大きく、かつ、5以下ならば、
     b = a; // aをbに代入する。
 } else if (a > 5 && a <= 10) { // aが5より大きく、10以下ならば、
     c = a; // aをcに代入する。
 } else { // そうでないならば、
     a = 0; // aに0を代入する。
 }

例2) a が1以上か、あるいは、-1より小さく、かつ、bが2より大きいなら、

×  a >= 1 || a < -1 && b > 2
○ (a >= 1 || a < -1) && b > 2

例3) 比較演算子、論理演算子の結果は、論理型変数に代入することができる.

 bool isTrue;
 isTrue = (a >= 1 || a < -1) && b > 2;

演算子の順位に注意すること.

switch文

整数値の値によって,別の処理を行ないたい場合に,switch文を用いる。

 switch (整数値) {
 case 定数式1:
   処理1;
   break;
 case 定数式2:
   処理2;
   break;
 ...
 default:
   デフォルト処理;
 }

のように用いる。式の値が、どれかの定数式に一致した場合、その処理を行なう。breakは処理が終わったら、switchブロックから抜けるために必要。
例) aが10ならaに1を加え、aが20ならaに2を加え、それ以外の値であれば、aに0を代入する。

 switch (a) {
 case 10: // aが10ならば、
   a = a + 1; //aに1を加える。
   break;
 case 20: // aが20ならば、
   a = a + 2; // aに2を加える。
   break;
 default: // aがそれ以外のの値であれば、
   a = 0; // aに0を代入する。
   break;
 }

Cの初歩

[ 前のページに戻る ]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-10-02 (金) 11:38:56