auの日記

プログラミング初心者の日記。(auはハンドルネームです)

C言語でif分岐

auです。
私は少し前までPythonをやっていましたが、今はC言語を学んでいます。if分岐での処理の仕方は変わってないのですが、書き方がPythonから変わってしまったので、どこが変わってしまったのかを書きたいと思います。

Pythonでの書き方

Pythonでif分岐を書くとこうなります

score = 60
if score == 100:
  print("満点おめでとう!")
elif score >= 50:
  print("合格")
else:
  print("不合格")

実行結果

合格

scoreが100点なら満点おめでとう、50以上なら合格、50未満なら不合格とでるプログラムです。

C言語での書き方

#include<stdio.h>

int main(void){
    int score;
    score = 60;
    if (score == 100) {
        printf("満点おめでとう!\n");
    } else if (score >= 50){
        printf("合格\n");
    } else {
        printf("不合格\n");
    }
}

文を書き変えるたびにgcc ファイル名.cでコンパイルしてください。./a.outで実行した結果を表示することができます。
実行結果

合格

PythonC言語で書いて感じたこと

Pythonでは

if :
elif :
else :

と書けるのに対してC言語

if () {
        printf();
    } else if () {
        printf();
    } else {
        printf();
    }
}

Pythonでは使わなかった{}を使うことが一番の違い感じました。また、C言語ではifの条件文を()で囲むことを忘れてエラーが起きてしまったこともありました。そして、printf("合格\n");の;が必要になったという違いが一番慣れないところでした。
また、elifがelse ifと略して書かないところが違いでした。