Variablenzuweisung – Teil 2
Kategorie: MikrocontrollerIn der Programmiersprache C hat man viele Möglichkeiten die Befehle abzukürzen. C hat daher leider und vor allem zu unrecht den Ruf etwas kryptisch zu sein.
Denn eins ist wichtig: Man kann die Befehle sehr kurz und damit sicher auch kryptisch darstellen – man muss es aber nicht tun.
Gerade für den Einsteiger macht es häufig mehr Sinn die Befehle etwas ausführlicher zu formulieren und somit die Lesbarkeit für den Anfänger zu erhöhen.
Hat man später etwas Erfahrung und Routine ist man für die Möglichkeit Befehle kürzer darzustellen oder mehrere Befehle zu schachteln dankbar. Für den erfahrenen Programmierer, der weiß was er macht, ist nämlich kürzerer Code oft besser zu lesen.
Einige Schreibweisen machen aber auch schon für den Einsteiger Sinn und darum soll es im folgenden Video gehen.
Das Video
Zu Beginn des Videos zeige ich noch eine mögliche Lösung der Aufgabe aus der letzten Woche.
Kurz zusammengefasst
Die wesentlichen Abkürzungen sind also
- i+=2;
um i in diesem Beispiel um den Wert 2 zu erhöhen und das Ergebnis wieder in der Variablen i abzulegen. (analog dazu i*=2, i/=2; i-=2)
- i++; bzw. ++1;
um i zu inkrementieren. Analog geht natürlich auch i–; und –i; (doppeltes Minus-Zeichen) um i zu dekrementiern, also um den Wert 1 zu vermindern.
Ob man nun i++; oder ++i; verwendet, hängt davon ab, ob man die Variable bei zusammengesetzten Befehl vor oder nach der Ausführung inkrementieren möchte.
Hier nun Deine Aufgabe
In der letzten Folge haben wir mit Hilfe des modulo-Operators zyklisch von 0 bis 4 gezählt, also eine Variable inkrementiert, dann mit dem modulo-Operator dafür gesorgt, dass nur zyklisch von 0 bis 4 gezählt wird und anschließend die Variable mit printf() ausgegeben.
C wäre nicht C, wenn man das nicht in einer Zeile erledigen könnte.
Deine Aufgabe ist es also diese Zeile in die while()-Schleife zu schreiben.
Also
while(1)
{
printf( …); //alles in einem Befehl
}
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]
ET-Tutorials weiterempfehlen
Hat Dir der Artikel gefallen?Dann unterstütze ET-Tutorials.de mit einer Empfehlung per Email an Deine Freunde .
Hinweis zum Datenschutz: Ich kann weder Deine noch die Email-Adresse Deiner Freunde sehen.
Ähnliche Artikel
Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:» Lösung der Aufgabe und SHIFT Operator
» Kaffeeautomat-Funktion für die Münzauswertung
» Programmierung eines Kaffeeautomaten – Teil 2
» Bits, Bytes und Nibbles
» Anzeigensteuerung für einen Kessel
Mein Name ist Wolfgang Bengfort. Ich bin Lehrer für Elektrotechnik und Technische Informatik und habe im September 2009 diese Seite gestartet. 


#include
#include
main(){
int i=4;
while(1){
printf(” %d\n “,i%5,++i);
getchar();
}
}
Ich hoffe diesmal alles richtig gemacht zu haben
Heinrich.
Psst, nicht zu früh verraten
Sieht aber nicht schlecht aus.
OK, bevor es morgen wieder eine neue Folge gibt, möchte ich gerne eine mögliche Lösung aufzeigen, die der von Heinrich sehe nahe kommt.
int i=0; // am Anfang von void main(void)
//
//
//
while(1){
printf(” %d\n “,i%5);
i++;
}
Eine gute Idee von Heinrich ist es sicher auch ein getchar() einzubauen. So kann man jeden Schritt einzeln sehen.
Bis morgen!
Wolfgang
Meins ist kürzer ;D
main… int i;
while… printf(”%d\n”,j++%5);