Nun sind wir beim zweiten Teil angelangt.
Jetzt geht es hauptsächlich um Beispiele.
- Inhaltsangabe:
>Includes
>Ein- und Ausgabe
>If Bedingungen
>while Schleifen
>for Schleifen
>Funktionen
>Arrays
- Includes:
Am Anfang des Skriptes werden immer die Includes eingefügt. Diese sind äußerst wichtig. Es gibt natürlich verschiedene Includes, die wichtigsten sind dennoch der sogenannte stdio.h und stdlib.h. Das sind Quelltexte, die aus der Standardbibliothek in das Skript hinzugefügt werden.
Die Includes werden am Anfang eingegeben. Die Includenamen müssen in spitze Klammern versetzt werden.
- Ein- und Ausgabe:
Die Ein- und Ausgabe ist in einem Skript natürlich äußerst wichtig. Sogar beim Programm "Hello World" arbeitet man bereits mit einer Ausgabe.
Natürlich muss man vorher bestimmen WAS ausgegeben wird und was eingegeben werden muss. Hier ein kleines Rechenprogramm, wo ein Eingabebefehl und ein Ausgabebefehl eingebaut sind. Natürlich müssen wir vorher Variablen definieren. Kommen wir zum Beispiel.
#include<stdio.h>
void main()//Hauptfunktion
{
int a, x; //die Variablen a und x werden als ganze Zahlen definiert
scanf("%i", &a);//scanf ist der Befehl für die Eingabe
x = a*a;//der Wert x ist die Formal a*a
printf("Ergebnis: %i", x);//printf ist der Befehl für die Ausgabe, dabei wird vor der Variable kein & gesetzt (die wird nur bei der Eingabe gesetzt)
}
Alles anzeigen
- If Bedingungen:
If Bedingungen sind FALLS Bedingungen, d.h. falls etwas der Bedingung entspricht, erst dann wird das Programm fortgesetzt. Zu if gehört auch else, dieser ist für eine negative Handlung zuständig. D.h. wenn die Bedingung nicht erfüllt ist, dann fordert er den Benutzer den Vorgang zu wiederholen. Ich werde nun beim ersten Programm eine If Bedingung einbauen.
#include<stdio.h>
void main()
{
int a, x;
scanf("%i", &a);
x = a*a;
if (a>90)//hierbei wird die Bedingung gestellt, ob a größer als 90 ist
{
scanf("%i", &a);//wenn ja, dann muss man den Eingabevorgang wiederholen
}
else
{
printf("Ergebnis: %i", x);//wenn nicht, wird das Ergebnis ausgegeben
}
}
Alles anzeigen
- While Schleifen:
While Schleifen sind auch Bedingungen, nach dem Motto "soweit die Bedingung erfüllt wird, wird auch die jeweilige Funktion ausgeführt".
Wir basteln wieder an unserem Rechenprogramm.
#include<stdio.h>
void main()
{
int a, x, i=7;//hierbei wird eine zusätzliche Variable i definiert, der 7 zugewiesen wird
scanf("%i", &a);
x = a*a;
while(i>5)//wenn i (7) größer als 10 ist, ist die Bedingung erfüllt, in diesem Fall ist 7 größer als 5
{
i = i--;//nun wird i um eine Zahl kleiner, da 1 subtrahiert wird (i-- = i-1)
printf("Ergebnis: %i", x);//wenn nicht, wird das Ergebnis ausgegeben
}//nun wurde die Bedingung einmal erfüllt und das Ergebnis wurde ausgegeben; jetzt hat i den Wert 6 und die Schleife wird noch einmal durchlaufen, da die Bedingung weiterhin stimmt (6 ist größer als 5), nach diesem Durchlauf ist hat i den Wert 5 und dadurch ist wird die Schleife nochmals nicht durchlaufen, da 5 nicht kleiner als 5 ist... Resultat: Das Ergebnis wird zweimal ausgegeben, da zweimal die Bedingung erfüllt wird
}
Alles anzeigen
Übrigens es gibt auch eine do-while Schleife, im Prinzip läuft es gleichermaßen. Der Unterschied besteht darin, dass bei der do-while Schleife, dass was in der Schleife steht min. einmal ausgegeben wird, unabhängig davon, ob die Bedingung stimmt oder nicht. Eventuell werde ich bei einem weiteren Teil die d-while Schleife nochmal ansprechen.
- For Schleife:
Nun sind wir bei der letzten Schleife. Auch hierbei handelt es sich um eine Bedingung. Eigentlich ist es exakt dasselbe wie die while Schleife, nur viel kompakter zusammengeschrieben/zusammengefasst. Diesmal nehme ich bei unserem Rechenprogramm statt der while Schleife, eine for Schleife her.
#include<stdio.h>
void main()
{
int a, x, i;//hierbei nehme ich für i keinen konstanten Wert her
scanf("%i", &a);
x = a*a;
for(i=0; i<2; i++)//an erster Stelle wird dem i ein Anfangswert zugewiesen, an zweiter Stelle wird die Bedingung vorgegeben, an dritter Stelle wird dem i ein neuer Wert zugewiesen (in diesem Fall eine 1 addiert)
{
printf("Ergebnis: %i", x);
}//nach dem ersten Durchlauf, ist i = 1, da die Bedingung erfüllt wird (1 ist kleiner als 2), wird es nocheinmal durchlaufen; beim zweiten Mal wird die Bedingung nicht erfüllt, da i nun 2 ist
}
Alles anzeigen
- Funktionen:
Das ganze Programm besteht eigentlich aus Funktionen. Es werden dennoch desöfteren Nebenfunktionen geschrieben, damit man bei zwei verschiedenen Aktionen, wo man dieselbe Funktion braucht, nicht zweimal schreiben muss. Es gibt den Funktionsprototypen (ist vor void main()), Funktionsaufrufe (z.B. in void main()) und die Funktionsdefinition. Hierbei gibt es Funktionen, wo ein Wert zurückgegeben wird (z.B. in unserem Fall wird Ergebnis x in die Hauptfunktion void main() zurückgegeben) und Funktionen, wo kein Wert zurückgegeben wird. Arbeiten wir an unserem Programm weiter und schreiben die Formel "a*a" als Funktion und geben es dann aus.
#include<stdio.h>
int funktionsname(int a);//Funktionsprototyp
void main()
{
int a, x;
scanf("%i", &a);
x = funktionsname(a);//Funktion wird aufgerufen
printf("Ergebnis: %i", x);
}
int funktionsname(int a)//Funktionsdefinition
{
int erg;
erg = a*a;
return erg;//Ergebnis wird zurückgegeben
}
Alles anzeigen
- Arrays:
Arrays sind sogenannte Felder, die reserviert werden. Ich gehe auf die eindimensionalen Arrays ein. D.h. man kann beispielsweise 7 Felder reservieren und diese Felder bei einer Funktion füllen (Lotto z.B.). Sie werden eigentlich ganz einfach definiert... int arrayname[ZAHL];.
Statt ZAHL muss man natürlich einen Wert eingeben. Bei unserer Funktion braucht man keine Arrays, daher lasse ich es mal aus.
Wir wären nun fertig mit meinem zweiteiligen Tutorial. Natürlich konnte ich nicht alles erklären, doch ich hoffe, es hat irgendwas gebracht.
freundliche Grüße