A B programozási nyelv

Vezérlési szerkezetek



Szekvencia

Az utasításokat ;-vel választhatjuk el egymástól, ez jelöli a szekvenciát. Minden olyan helyre, ahová egy utasítás kerülhet lehetőségünk van szekvencia írására, {} jelek közé zárva a pontosvesszővel elválasztott utasításokat.

Elágazás

A kétirányú elágazás formája a következő : if (kif) ut1 [else ut2]; Ha a kif kifejezés értéke nem 0, akkor az igaz ág, azaz ut1 utasítása lesz végrehajtva, ha az értéke 0, akkor a hamis ág, azaz ut2. Az else ág elhagyható. pl. : if (a > b) x = a else x = b;

Többirányú elágazás

Több irányba elágazni a switch utasítás használatával lehet. A szerkezet működése teljesen megegyezik a C-nél megszokottakkal, azaz

switch (kifejezes)
{
case allando1 : [ut1]
case allando2 : [ut2]
...
case allandoN : [utN]
[default: utN+1]
}
alakban kell megadni. Ha a kifejezés értéke megegyezik az egyik esetnél szereplő állandóval, akkor az azután szereplő összes utasítás végrehajtódik. A szerkezetből kilépni a break; utasítással lehet, így a vezérlés a szerkezet utáni első utasításra kerül. Amennyiben a kifejezés értéke egyik állandóval sem egyezik meg, akkor a default: ág hajtódik végre, feltéve, hogy létezik ilyen. A case esetek után az utasítások megadása nem kötelező.

Ciklus

A B nyelvben csak egyféle ciklusutasítás szerepel, ez pedig az elöltesztelő while. Megadási formája szintén a megszokott : while (kif) ut;. Az ut utasítás mindaddig végrehajtódik, amíg a kif kifejezés értéke nem 0. Ha a kif kifejezés értéke 0, akkor a vezérlés a következő utasításra kerül.

Ugró utasítások (goto, break)

A B nyelv rendszerközeli programok készítéséhez készült, így a programok írása során a goto és break ugró utasítások használata elfogadottnak számít bizonyos esetekben. Ilyen eset lehet például a hátultesztelő ciklus szimulálása. Ez a következőképpen történik :