C – if Mgr. Lenka Švancarová
if vývojový diagram Podmínka Příkaz(y) Podmínka Příkaz(y) Úplné větveníNeúplné větvení ++--
if syntaxe if (podmínka) { jeden nebo více příkazů pravdivé větve } else { jeden nebo více příkazů nepravdivé větve } Nepoužijeme-li v pravdivé větvi {}, musíme (jeden) neuzávorkovaný příkaz ukončit středníkem (na rozdíl od TP, kde před else středník psát nelze).
if sémantika Jestliže je splněna podmínka, vykonají se příkazy pravdivé větve, když není, vykonají se příkazy nepravdivé větve. Část else není povinná (if může mít jen pravdivou větev). Pokud má if jen pravdivou větev, jedná se o neúplné větvení, pokud má obě, jedná se úplné větvení.
if úplné větvení #include int main() { float x,y; printf(”Prvni cislo: ”); scanf(”%f”,&x); printf(”Druhe cislo: ”); scanf(”%f”,&y); if (x > y) printf(”Vetsi je %f\n”,x); else printf(”Vetsi je %f\n”,y); return(0); } #include int main() { float x,y; printf(”Prvni cislo: ”); scanf(”%f”,&x); printf(”Druhe cislo: ”); scanf(”%f”,&y); if (x > y) { printf(”Vetsi je %f\n”,x) } else { printf(”Vetsi je %f\n”,y); } return(0); }
if neúplné větvení #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x > y) x=x*(-1); printf(”|x| = %f\n”,x); return(0); } #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x > y) { x=x*(-1); } printf(”|x| = %f\n”,x); return(0); } Pokud je v pravdivé či nepravdivé větvi jeden příkaz, je na nás, zda použijeme {} či nikoliv. V případě více příkazů jsou {} povinné.
if vnořování #include int main() { float x,y; printf(”Zadej prvni cislo :”); scanf(”%f”,&x); printf(”Zadej druhe cislo :”); scanf(”%f”,&y); if (x > y) { printf(”Vetsi cislo je %f\n”,x); printf(”Mensi cislo je %f\n”,y);} else if (x = = y) printf(”Cisla jsou stejna.\n”); else { printf(”Vetsi cislo je %f\n”,y); printf(”Mensi cislo je %f\n”,x);} return(0); }
C – if Uživatel zadá, zda chce u kruhu vypočítat obsah či obvod a pak jeho celočíselný poloměr. Program spočte požadované. Uživatel zadá reálné číslo, jeden ze znaků +, –, * nebo / a poté druhé reálné číslo. Program vypíše výsledek. Jsou zadána tři čísla. Napište program, který určí největší z nich. Napište program, který vypočte kvadratickou rovnici.