Image

PythonとC言語の分岐処理の使い方と違いを押さえよう!サンプルコードを用いて解説!

PythonとC言語の分岐処理について解説しました。PythonとC言語の分岐処理の違いについて学びましょう。分岐処理とは決められた条件に従ってプログラムの流れを変えたいときに使用します。PythonとC言語の大きな違いは短くかけるかどうかです。

PythonとC言語の分岐処理の違いについて

今回はPythonとC言語の分岐について学習します

PythonとC言語の分岐処理の基本を押さえましょう。

目次   

01. PythonとC言語の分岐の違い

_02. PythonとC言語のif文

_03. PythonとC言語のif-else文

_04. PythonとC言語のswitch文

05. まとめ


01. PythonとC言語の分岐の違い


C言語から学習していきます。

C言語には分岐を処理する構文としてif文、if-else文、switch文が用意されています

これらを分岐文と呼びます。

Pythonにはif文、if-else文、elsif文が用意されています

制御構文として扱われています。

PythonとC言語の分岐の違いは用意されている構文にあります。

Pythonの方がシンプルに構文を使用することができます。


_02. PythonとC言語のif文


C言語からPythonとの違いを押さえていきます。



## C言語
if(n > 10){
printf("WoW\n");
}
if(式){文}


nが10より大きいときWoWが表示されます。

if文としての意味合いは、式が真(0)なら文は実行され、式が偽(0)なら文は実行されません


PythonとC言語の違いについて学習していきます。

PythonでもC言語と同じようにif文を使用することができます。



## Python
if num > 10:
print "WoW"
if 式:


nが10より大きければWoWが表示されます。

Pythonの構文では:で改行した後の文は必ず空白を入れます

それをインデントと言います

Pythonのif文は上のようにして利用します。

C言語では括弧が多い印象ですがPythonのif文もC言語と基本的な構文としての意味合いは同じです。


PythonとC言語では式の部分の条件を表すために演算子が用意されています。

それを関係演算子等価演算子と呼びます

関係演算子はPythonでも成り立ちます



## PythonとC言語
< a < b aがbより小さいときは真、そうでないときは偽
<= a <= b aがb以下のときは真、そうでないときは偽
> a > b aがbより大きいときは真、そうでないときは偽
>= a >= b aがb以上のときは真、そうでないときは偽
== a == b aがbと等しいときは真、そうでないときは偽
!= a != b aがbと等しくないときは真、そうでないときは偽
&& A&&B Aが真かつBも真のときだけ1で、それ以外は0
|| A||B Aが偽かつBも偽のときだけ0、それ以外は1
! !A Aが真のとき0、偽のとき1


式の条件を与えるときに使用します

if文の式の部分に関係演算子を使用して条件分岐されるのがif文を使う理由です


_03. PythonとC言語のif-else文


次にif-else文についてC言語からPythonとの違いを押さえていきましょう



## C言語
if (n > 10) {
printf("WoW\n");
} else {
printf("Not WoW\n");
}


if-else文を使用すれば偽のときにも文を実行することができます

偽のときというのはif文を使用したとき条件に合わなかった場合のことです。

具体的にC言語ではこのように構文を書きます。

nが10より大きければWoWが表示されます。

nが10より大きくなければNot WoWが表示されます。


次にC言語のif-else文を使用した応用例を見てみましょう。



## C言語
if (n > 10) {
printf("Big\n");
} else if (n == 10) {
printf("Equal\n");
} else {
printf("Small\n");
}


このようにif-else文else文の中にif文を入れることも可能です

nが10より大きければBigが表示されます。

nが10と等しければEqualが表示されます。

nがそれ以外の場合はSmallが表示されます。

分岐を3つにすることも可能なのです。


次にPythonとC言語の違いについて学習しましょう。



## Python
if num > 10:
print "Big"
elif num == 10:
print "Equal"
else:
print "Small"


C言語ではelse文の中にif文を入れていました

しかしPythonではelif文で同じ処理ができます

nが10より大きければBigが表示されます。

nが10と等しければEqualが表示されています。

nがそれ以外の場合はSmallが表示されます。

この処理もC言語と同じ処理をして分岐を3つにすることができます。


_04. PythonとC言語のswitch文


switch文は式の値に応じて複数の処理の中から1つを特定して処理を行えと指示するために使います

switch文の処理は式の値によらず指定された場合で行われます

switch文はC言語で使用することができます。

Pythonにswitch文はありません。



## C言語
switch(式)
{
case 定数:
文並び;
break;
case 定数:
文並び;
break;
default:
文並び;
break;
}


switch文の場合分けは定数を書き並べた順番とは限りません

switch文は自分で意味のわかりやすい順番にすれば良いという訳です



## C言語
...
int a, b;
char c;

switch(c)
{
case '+':
printf("%d + %d = %d¥n", a, b, a + b);
break;
case '-':
printf("%d - %d = %d¥n, a, b, a-b");
break;
default:
printf("加減算ではありませんよ");
break;
}
...


cが+もしくは-であればcaseが実行され、もしそれ以外であればdefaultが実行されます

Pythonにswitch文は無いと言いましたが、if-elif-else文を利用して同じような処理を実装することは可能です

PythonとC言語の一番の違いはシンプルな記述ができるかどうかです。

Pythonでコードを書くときはシンプルに記述するをポリシーとするといいかも知れません。


05. まとめ


お疲れ様でした。

ここまで読んでいただきありがとうございました。

今回はPythonとC言語の分岐について学びました。

分岐は多くのプログラムで利用することになります。

PythonとC言語の基本構文ですのでしっかりと覚えておきましょう。