基本的な記述方法まとめ

条件分岐処理if文の基本的な記述方法は以下の通りです。

if(n>0){
  printf("nは0より大きい"); 
}else if(n==0){
  printf("nは0です"); 
}else{
  printf("nは0より小さい");
} 

if(n==0)の箇所は、if(n=0)と書いてしまうとnに0が代入される代入式と認識されてしまうので、if(n==0)と書く必要があります。

関係演算子

if(a<b){

}else{

}
aがbの値より小さければ真
if(a<=b)aがbの値以下であれば真

等価演算子

if(a==b)aがbの値と等しければ真
if(a!=b)aがbの値と等しくないならば真
論理演算子

if(a&&b)aとbがどちらも成り立っていれば真 (論理積)
if(a||b)aとbが一方でも成り立っていれば真 (論理和)
if(!n)nの値でないならば真

if(x<y<z) のように書くことはc言語では禁止です。 この場合では、if(x<y&&y<z)と書きます。

条件演算子(三項演算子)

if文の代わりに、a式?b式:c式という便利な書き方があります。
これは、
if(a式){
b式;
}else{
c式;
}
と同意です。

a式が真ならばb式を実行
a式が偽ならばc式を実行

真偽の判定方法

上記のような真偽の判定方法は、0ならば偽、0以外の値を真とすることで真偽を判定しています。
少しコードを見てみます。

if(n){
printf("nは0ではありません");
}else{
printf("nは0です");
}

と書けます。if(n)では、nが0ならば偽、0以外ならば真と判定しています。
少し理解しづらいかもしれないので、実際に出力してみると分かりやすいです。

int a=5,b=10;
printf("%d\n",a<b); //a<bは真 
printf("%d",a>b); //偽

出力

1
0

このように、if(n)ではなく、if(a<b)のような場合でも、0か0以外かで真偽判定していることが分かると思います。