ソフト講習第 3 回 条件文

ソフト講習第 3 回 条件文
講習日 2016 年 5 月 11 日
2 年 情報科学科 戸田実希
1. 今日の目的
if 文と switch 文を使って条件分岐を行う.
2. 条件文とは
条件分岐とは,「もし課題が終わったら,遊びに行こう」,「もし雨が降っていたら,傘を
持っていこう」のような,「もし○○だったら,××しよう」ということです.
この条件分岐をするために使うのが,条件文です.
3. 条件文を使うにあたって
条件分岐を行うためには,比較演算子と論理演算子がとても重要です.
比較演算子とは条件式を書くためのものです.
表 1. 比較演算子
等しい (A=B)
==
等しくない (A≠B)
!=
より小さい (A<B)
<
より大きい (A>B)
>
以下 (A≦B)
<=
以上 (A≧B)
>=
論理演算子とは,複数の条件式を組み合わせるためのもので 2 種類あります.
表 2. 論理演算子
A かつ B ならば (A∩B)
A&&B
A または B ならば (A∩B)
A||B
比較演算子と論理演算子は頻繁に使うので,いつの間にか覚えてしまいます.
1
4. if 文
まずは条件文の中で最もシンプルな if 文を紹介します.
if(条件式){
// 条件を満たすときに実行する処理
}
else{
// 条件を満たさないときに実行する処理
}
プログラム例 1(sample1.c)
#include <stdio.h>
int main(void){
int x;
printf(“x=”);
scanf(“%d”,&x);
if(x>0){
//条件文
printf(“x>0¥n”);
//条件を満たす時の処理
}else{
printf(“x<=0¥n”);
//条件を満たさなかった時の処理
}
return 0;
}
実行結果(x = 5 のとき)
x=5
x>0
x に 5 をいれると,if{}の中の処理が実行されます.
また,x に-3 をいれると else{}の中の処理が実行されます.
(実は,else 文がなくてもプログラムは動きます.実際にやってみましょう.)
2
もっと細かい判別をしたい時には、次のようにします.
if(条件式1){
//条件1を満たした時の処理;
}
else if(条件式2){
//条件1を満たさずに条件2を満たした時の処理;
}
else{
//条件1,条件2をともに満たさなかった時の処理;
}
else if 文は何個でも追加することができます.
ただし,条件 1 を判別した後に条件 2 の判別を行うということに注意しましょう.
5. switch 文
switch文とは,ある変数について条件判断を行う文です.その変数の値によって,その後
の動作を変えることができます.
switch(x){
case 1:
//xの値が1の時に行う処理;
break;
case 2:
//xの値が2の時に行う処理;
break;
default:
//以上の条件を満たさなかった時の処理;
}
※case と default の後は「;(セミコロン)」ではなく「:(コロン)」です!
3
プログラム例 2(sample2.c)
#include<stdio.h>
int main(void){
int x;
printf(“x=”);
scanf(“%d”,&x);
switch(x%2){
case 0:
//xの偶奇を判別するため2で割る条件式
//余りが0だった時の処理
printf(“xは偶数¥n”);
break;
case 1:
//余りが1だった時の処理
printf(“xは奇数¥n”);
break;
default:
//以上の条件をすべて満たさなかった時の処理
printf(“xは自然数ではありません¥n”);
}
return 0;
}
実行結果(x = 5 のとき)
x=5
x は奇数
途中に書いてあるbreakの意味を説明します.
switch文は,xと値が一致する数値のcaseのところへ移動するだけで,break文がなけれ
ばそれ以降の文も全て出てきてしまいます.
breakは,{}の外に出るという命令文なのです.
breakを消すとどうなるか,実際に試してみましょう.
このbreakはswitch文以外の文でも使えるので,しっかりと覚えてください.
4
6. 演習問題
(1)0~100までの整数を入力して,0~59ならF,60~69ならC,70~79ならB,80~89ならA,90~100
ならS,0~100以外ならTを表示するプログラムを作成せよ.
(2)0~4 までの整数を入力して,0 なら F,1 なら C,2 なら B,3 なら A,4 なら S,0~4 以外なら T を
表示するプログラムを作成せよ.ただし,switch 文を使いなさい.
(3)体重と身長を入力して BMI を算出して表示し,それを痩せすぎ,標準,肥満かを 判別プログ
ラムを作成せよ.なお,体重が W[kg],身長が t[m]の人の BMI は次式で求められる.
𝑊
BMI = 2
𝑡
日本肥満学会の場合,BMIは22を標準としており,25以上を肥満,18.5未満を痩せすぎと
しています.
今日はこれで終わりです.お疲れさまでした.
5