Document

条件文
第三回
今日の授業の内容
• 前回の復習
• 条件文
• If文
• 関係演算子、論理演算子
• if~elseとif~ else if文
• switch文
前回の復習
int
double
cout<<“文”<<a<<”文”;
cin>>a;
整数を宣言する
実数を宣言する
「文a文」と表示する処理
aに値を入力する処理
演算子
演算子
足し算 c=a + b
引き算 c=a – b
掛け算 c=a * b
割り算 c=a / b
余り
c=a % b
cはaにbが加えられた値が入る
cはaにbが引かれた値が入る
cはaにbが掛けられた値が入る
cはaをbで割った値が入る
cはaをbで割った余りが値が入る
例
実行結果
条件文とは
• 「場合に応じた処理」を行うこと
• 例えば、Aなら→正解 Bなら→間違い
• 関係演算子(>、<=など)を使って、「条件」を記述することができ
る。条件は真または偽という値を持つ。
if文
if文は、条件が真だった場合に、指定した文を処理する。
偽だった場合はその分を処理しないで、次の処理に進む。
もちろん、条件の中に条件文を入れることもできる。
if(条件){
文;
}
関係演算子
演算
条件の中には式が入り、その 子
式の中には不等式などが入
==
る。
例えば、等しい時、『=』では
!=
なく、『==』でなければ、エ
ラーになる。
>
式が真となる場合
右辺が左辺に等しい
右辺が左辺に等しくない
右辺より左辺が大きい
>=
右辺より左辺が大きいか等しい
<
右辺より左辺が小さい
<=
右辺より左辺が小さいか等しい
例 if文(1)
実行結果
論理演算子
演算子
真になる場合
(式)&&(式) 左辺、右辺がともに真の場合(AかつB)
(式)||(式)
左辺、右辺のどちらかが真の場合(AまたはB)
!(式)
右辺が偽の場合(否定)
例 if文(2)
実行結果
問題1
• 入力されたxの値が5以上であり10以下の時に、その値を2倍にした
ものを表示しなさい。
※条件に入る式は『5<=x<=10』ではない。ヒントは論地演算子に
ある。
if~else文とif~ else if文
• if~else文では、条件が真の場合と偽の場合に、異なる処理を行うこ
とができる。ブロック内の複数文も処理できる。
• if~if else文では、複数の条件に応じた処理ができる。
if~else文
If(条件){
文1; //真のとき
}else{
文2; //偽のとき
}
elseの中は条件で偽になった処理が、ここに入って文2の処理を行う。
例
実行結果
if~ else if文~else
If(条件){
文;
}else if(条件2){
文;
}else if(条件3){
文;
}else{
文;
}
条件にあったものが処理される。条件がすべて合わなければ、最後
のelseの中にある文の処理がされます。
例
実行結果
問題
• 1つの値を入力する。
• その値が「100以下90以上」なら、「秀」
• 「89以下80以上」なら、「優」
• 「79以下70以上」なら、「良」
• 「69以下60以上」なら、「可」
• それ以外なら「不可」と表示しなさい
switch文
複数の条件に応じた処理ができる。
AならAの時の処理、BならBの時の処理といった具合に分けることが
できる。
switch(式){
case 定数式1:
文;
break;
case 定数式2:
文;
break;
default:
文;
break;
}
case 定数の後は「;」ではなく、「:」(コロン)
defaultはどれも当てはまらなかった時の処理で、省略することもできる。
breakはswichの中から抜け出す処理。
例1
実行結果
switch(式){
case 定数式1:
case 定数式2:
文;
break;
case 定数式3:
文;
break;
default:
文;
break;
}
caseを重ねれば、重なったところで、同じ処理ができる。
例2
実行結果
問題
• 1つの値を入力する。
• 「1,3,7,9」の場合は値を二乗する。
• 「2,4,6,8」の場合は値を半分にする。
• 「0,5,10」の場合は値に5を加える。
• 「それら以外」の場合は値を0にする。
• 最後にその計算した結果を表示しなさい。
実行結果