if

[Vezérlési struktúrák]

Leírás

Az if utasítás ellenőrzi a feltételt, és végrehajtja a következő utasítást vagy utasításkészletet, ha a feltétel 'true'.

Szintaxis

if (feltétel) {
  //utasítás(ok)
}

Paraméterek

feltétel: egy boolean kifejezés (azaz, lehet true vagy false).

Példa

A zárójelek elhagyhatók az if utasítás után. Ha ez megtörténik, a következő (pontosvesszővel meghatározott) sor lesz az egyetlen feltételes utasítás.

if (x > 120) digitalWrite(LEDpin, HIGH);

if (x > 120)
digitalWrite(LEDpin, HIGH);

if (x > 120) {digitalWrite(LEDpin, HIGH);}

if (x > 120) {
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH);
}
// mind helyes

Megjegyzések és figyelmeztetések

Az utasítások zárójelében lévő kifejezésének kiértékeléshez egy vagy több alább látható operátort kell használni.

Összehasonlító operátorok:

x == y (x egyenlő y-nal)
x != y (x nem egyenlő y-nal)
x <  y (x kisebb mint y)
x >  y (x nagyobb mint y)
x <= y (x kisebb mint y, vagy egyenlő vele)
x >= y (x nagyobb mint y, vagy egyenlő vele)

Ügyeljen arra, nehogy véletlenül egyetlen egyenlőségjelet használjon (például if (x = 10) ). Az egyetlen egyenlőségjel a hozzárendelés operátora, és x-et 10-re állítja (a 10 értéket az x változóba helyezi). Ehelyett használja a kettős egyenlőségjelet (pl. if (x == 10) ), amely az összehasonlítás operátora, és megvizsgálja, hogy vajon x egyenlő-e 10-zel vagy sem. Az utóbbi állítás csak akkor true, ha x értéke 10, de az előbbi állítás mindig true.

Ennek az az oka, hogy a C++ a következőképpen értékeli ki az utasítást, if (x=10): 10 van hozzárendelve x-hez (ne feledje, hogy az egyetlen egyenlőségjel a hozzárendelési operátor), így x most 10-et tartalmaz. Ezután az 'if' feltétel 10-et eredményez, amely mindig true értéket ad, mivel minden nullától eltérő szám true. Következésképpen az if (x = 10) mindig true értékű lesz, ami nem a kívánt eredmény az 'if' utasítás használatakor. Ezenkívül az x változó 10-re lesz állítva, ami szintén nem a megkívánt művelet.

Lásd még