C入門[2]

if文,for文,while文その他について簡単に説明

条件分岐
if(①) 中身;

①が真(=0でない)ならば実行される。

if(①) 中身1;
else 中身2;

 ①が真ならば中身1が,偽(=0に等しい)ならば中身2が実行される。

switch(⓪){
case ①:
    中身1;
case ②:
    中身2;
    :
default:
    中身0;
}

⓪,①,②,…はintっぽいもの。 

⓪が①に等しければ中身1から,②に等しければ中身2から,…実行される。どれにも等しくなければdefault:から実行される。breakを忘れがち。あと古いCだと2つめ以降で変数を宣言しようとするとエラーが出る。ブロックにすれば問題無し。

① ? ② : ③

 excelのif関数みたいなやつ。①が真なら②,偽なら③の値になる。優先順位が割と低い演算子

for(①; ②; ③) [中身];

 最初に①が実行されて,②が真の間は中身と③が実行される。gotoを使って作るとこんな感じ:

    ①;
L1:
    if(②) goto L2;
    中身;
    ③;
    goto L1;
L2:

実際中ではこんな感じになってる。

REPマクロ

#define REP(i, n) for(int i = 0; i < n; i++)

とその親戚(RREP(降下),FOR(a to b)など)は便利。erはみんなやってる。 

while(①) [中身];

①が真の間中身が繰り返し実行される。

do [中身] while(①);

中身を実行した後に①が判定される。

中身が2~3行でブロックを作るのが面倒なときは「,」で区切るのもあり。

 こんなもんかな。(やる気のNASA)