C言語2 分岐

C言語2
分岐
準備
• ws1のフォルダーの下(中)に新しいフォルダー
H26.4.15を作成する。
• 今日作成したプロジェクトは、全て、このフォ
ルダーの中に格納する。
• 新しくプログラムを作成するときは、まず新し
いプロジェクトの作成をおこなう。
• 例題 Sample2-1.c
if文
#include<stdio.h>
int main(void)
{
int res;
printf("整数を入力してください。¥n");
scanf("%d", &res);
if(res == 1)
printf("1が入力されました。¥n");
printf("処理を終了します。¥n");
}
return 0;
==
右辺が左辺に等しい
• 実行結果1
整数を入力してください。
1
1が入力されました。
処理を終了します。
• 実行結果2
整数を入力してください。
2
処理を終了します。
構文
if(条件)
文;
if
真
条件
偽
文
複数の処理をするif文
•
例題 Sample2-2.c
#include<stdio.h>
int main(void)
{
int res;
printf("整数を入力してください。¥n");
scanf("%d", &res);
if(res == 1){
printf("1が入力されました。¥n");
printf("1を選択しました。¥n");
}
printf("処理を終了します。¥n");
}
return 0;
• 実行結果1
整数を入力してください。
1
1が入力されました。
1を選択しました。
処理を終了します。
• 実行結果2
整数を入力してください。
2
処理を終了します。
If ~ else文 プログラム名 Sample2-3.c
#include<stdio.h>
int main(void)
{
int res;
printf("整数を入力してください。¥n");
scanf("%d", &res);
if(res == 1){
printf("1が入力されました。¥n");
}
else{
printf("1以外が入力されました。¥n");
}
}
return 0;
• 実行結果1
整数を入力してください。
1
1が入力されました。
• 実行結果2
整数を入力してください。
2
1以外が入力されました。
構文
if(条件){
文1;
文2;
・・・
}
else{
文1;
文2;
・・・
}
条件が真のとき順番に処理
条件が偽のとき順番に処理
【例2】
• キーボードから読み込んだ整数値が奇数か
偶数かを調べて、結果を表示する。
入力した数字を2で割った余りを計算する。
余りが0 ‥・・ 偶数
余りが1 ‥・・ 奇数
nをkで割った余り ------ n%k
nをkで割った値(整数値) ------ n/k
【例】 13÷3 = 4 ・・・ 1
13/3の値は4、 13%3の値は1
プログラム名 Sample2-4.c
#include<stdio.h>
int main(void){
int num;
printf("正の整数を入力してください:");
scanf("%d", &num);
if(num%2==0)
printf("%dは、偶数です。¥n", num);
else
printf("%dは、奇数です。¥n", num);
return 0;
}
【実行結果】
正の整数を入力してください:7
7は、奇数です。
正の整数を入力してください:10
10は、偶数です。
関係演算子
•
•
•
•
•
•
a == b
a != b
a<b
a>b
a<=b
a>=b
aとbが等しければ真、そうでなければ偽
aとbが等しくなければ真、そうでなければ偽
aがbよりも小さければ真、そうでなければ偽
aがbよりも大きければ真、そうでなければ偽
aがbよりも小さいか等しければ真
aがbよりも大きいか等しければ真
If ~ else if ~ else文
【例】 与えられた数が、2または3の倍数かどう
かを調べる。
2の倍数
6の倍数
3の倍数
2の倍数でも3の倍数でもない
プログラム名 Sample2-5.c
#include<stdio.h>
int main(void){
int num;
printf("正の整数を入力して下さい:");
scanf("%d", &num);
if(num%6==0)
printf("%dは6の倍数です。¥n", num);
else if(num%2==0)
printf("%dは2では割り切れますが、3では割り切れません。¥n", num);
else if(num%3==0)
printf("%dは3では割り切れますが、2では割り切れません。¥n", num);
else
printf("%dは2でも3でも割り切れません。¥n", num);
return 0;
}
実行結果
正の整数を入力して下さい:13
13は2でも3でも割り切れません。
正の整数を入力して下さい:24
24は6の倍数です。
正の整数を入力して下さい:22
22は2では割り切れますが、3では割り切れません。
正の整数を入力して下さい:21
21は3では割り切れますが、2では割り切れません。