Toistorakenteet
Kun jotain koodin osaa halutaan toistaa ennalta tiedetty määrä kertoja tai ennalta tuntematon määrä, niin voimme käyttää toistorakennetta.
RobotC-kielessä on kolme toistorakennetta:
Näistä kaksi ensimmäistä ovat ns. alkuehtoisia ja viimeinen, do...while on loppuehtoinen toistorakenne.
"Ikuinen" silmukka
- Joskus on tarpeen rakenne, joka toistaa haluttua koodia "ikuisesti".
- Lainausmerkit siksi, että ei tietenkään mikään ohjelma pyöri ikuisesti, mutta merkintää käytetään ilmaisemaan että toistorakenne toistuu ennalta tuntemattoman määrän kertoja.
Esimerkki
Seuraavassa on esimerkki ikuisen silmukan sekä if ja else-lauseiden käytöstä.
Ikuista silmukkaa tarvitaan ohjelmissa, missä ei ennalta tiedetä milloin ohjelmasta tulisi poistua.
Ikuisesta silmukasta poistutaan break tai return käskyillä.
/* Ohjelma, joka tulostaa millä välillä annettu luku on. * Lukuvälit ovat <10, 10-100 ja >100. * Käytetään ohjelmassa if, else if ja else -lauseita. */ task main() { int Luku; while (1) // "ikuinen" silmukka { if (sensorValue[soundSensor] < 10) motors[motorB] = motors[motorC] = 10; else if (sensorValue[soundSensor] >= 10 && sensorValue[soundSensor] < 50) motors[motorB] = motors[motorC] = 50; else motors[motorB] = motors[motorC] = 0; } return 1; }