条件分岐
条件分岐とは、
ある条件のときに処理Aをし、それ以外の場合は処理Bを行う。
と言ったような条件に合わせた処理を行うときに使う。
条件分岐には主に2通りある。
if文
if文は条件分岐の代表的なもの。記述方法は以下である。
if([条件式])
{
文
}
また、if-else if-else文というのもありこれが以下である。
if([条件式1])
{
文1
}
else if([条件式2])
{
文2
}
else
{
文3
}
日本語で説明すればわかりやすいと思うので
1つのプログラムを例に挙げる。
例)スコアを入力して出力するプログラム。
ただし、スコアは100以下0以上の数値である。
この範囲外のものはエラーとする。
#include<iostream>
using namespace std;
int main()
{
int score;
cin>>score; //入力
if(score>100) //もしスコアが100を超えるものならば
{
cout<<"エラー:上限を超えています"<<endl; //エラー
}
else if(score<0) //もしスコアが0未満ならば
{
cout<<"エラー:下限を超えています"<<endl; //エラー
}
else //それ以外の場合は
{
cout<<"今回の得点は"<<score<<"です!"<<endl; //スコア出力
}
return 0
}
ifは直訳のまま「もしも」elseは「それ以外」と考えてよい。
間違いやすい点として、条件式の演算子を間違えるパターンが多い。
また、{}も忘れがちになるが、次のような場合は{}無しでも通る。
if(a<10)
cout<<"10未満"<<endl;
else
cout<<"10以上"<<endl;
といった実行文が1行だけの場合は{}無しで書くことが可能である。
switch文
条件分岐の1つ。数多くの分岐にはとても便利か。とりあえずは記述例。
switch([変数名])
{
case 値1:
処理1;
break;
case 値2:
処理;
break;
・
・
・
default:
処理3;
break;
}
switchの後ろの変数の値によって条件分岐を行う。
caseの後ろに条件となる値を書く。つまり、変数に入ったデータが
caseの後ろと合致したとき、合致したところの処理を行うということ。
defaultはどの値とも異なったときに分岐する。いわばelse。
breakはその文を抜けるために使う。{}から抜ける感じ。
他
if文を使うまでもないような分岐を1行でできるものがある。
if(x<y) return x;
else return y;
のようなものだとこのように書くことも可能。
return x<y?x:y;
練習問題
問1)aとbに任意の値を入力し、大きい方を出力するプログラム
問2)点数を入力して出力するプログラム
ただし、点数は100以下0以上である。それ以外の数値を入力するとエラーを出力する。
問3)入力された年数がうるう年がどうか判定するプログラム
ヒント:
*うるう年とは…
4で割り切れる年はうるう年である
100でも割り切れる年はうるう年でない
400でも割り切れる年はうるう年である
最終更新:2012年05月31日 17:13