Mit return wird die Funktion beendet und ein Wert zurückgegeben. Wir geben mit return (summand1 + summand2) die Summe der Parameter zurück. Im Hauptprogramm deklarieren wie eine Variable summe, welche wir mit dem Rückgabewert des Funktionsaufrufes addiere(3, 7) initialisieren.
Eine Funktion hat folgende Eigenschaften:
Bezeichner, ein Name unter der sie ansprechbar ist, z. addiere()
Bezeichner der Parameter, z. summand1, summand2
Datentyp der Parameter, z. int
Datentyp des Rückgabewertes, z. int
Unser Beispiel sieht in Codeform so aus:
#include
Dabei ist f der Rückgabewert der Funktion, der zwischen 1/2 und 1 liegt. double frexp(double a, int *b); Der Wert von b wird der aufrufenden Parametervariablen per Adresse übergeben. Ein Aufruf der Funktion sieht also etwa so aus: int b; f = frexp(a, &b); Die Funktion ldexp() ist die Umkehrfunktion zu frexp(): double ldexp(double ai, int b); Sonstige Funktionen Absolutbetrag Die Betragsfunktion liefert den Wert des übergebenen Wertes, wenn er positiv ist, und multipliziert ihn mit -1, wenn er negativ ist. Damit liefert die Funktion also immer einen positiven Wert. Es gibt eine Funktion namens abs() für ganzzahlige Werte aus der Bibliothek stdlib und eine Funktion fabs() für Fließkommazahlen aus der math-Bibliothek. #include
int abs(int j); long labs(long k); Die Funktion fabs() unterscheidet sich im Typ des Parameters und des Rückgabewertes von abs() und darin, dass die Datei math. h eingebunden werden muss. double fabs(double a); Modulo Die Modulo-Berechnung erfolgt bei ganzzahligen Werten durch den Operator%.
Wie wir aus der Erklärung des Grundgerüstes erfahren haben, ist der Programm-Block bei int main() unser Hauptprogramm. Wenn wir alle unsere Aktionen in diesem Block unterbringen, wird unser Programm schnell sehr lang und unübersichtlich. Um Ordnung in die Aktionen zu bringen, zerlegen wir große Probleme in kleine Teilprobleme. Diese Teilprobleme legen wir dann als "Funktion" getrennt vom Hauptprogramm ab. Eine Funktion erledigt immer eine bestimmte Aufgabe. In der Grafik wird z. B. eine Funktion veranschaulicht, welche zwei Zahlen addiert und die Summe zurückgibt. Damit eine Funktion nach unseren Wünschen arbeitet, kann man ihr Werte übergeben, sogenannte Parameter. Für diese Parameter muss auch ein Datentyp festgelegt werden. In dem obigen Beispielen werden der Funktion addiere() die Parameter 3 und 7 übergeben. Der Datentyp dafür ist also int. Die Funktion liefert uns als Ergebnis die Summe – dies ist der Rückgabewert. Für diesen Rückgabewert muss auch wieder ein Datentyp festgelegt werden.
Aufruf der C Funktion im Video zur Stelle im Video springen (02:06) Nun haben wir unsere Funktion also definiert. Um sie jetzt in der main-Methode auch noch korrekt aufrufen zu können, musst du beim Aufruf auf die Art des Kopfes der Funktion achten. Liegen Parameter für die aufzurufende Funktion vor, so können diese entweder hart codiert, also direkt in die Klammern geschrieben werden oder weich codiert bzw. mit Variablen referenziert werden. Hast du keine Parameter, die du angeben musst, kannst du die Klammern einfach leer lassen. Aufruf der fertig programmierten C Funktion Du solltest dir dabei bewusst sein, dass der Aufruf immer auch mit der Ausführung der Funktion einhergeht und sie wirklich jedes Mal ausgeführt wird, wenn das der Fall ist. Bei dieser Ausführung werden die übergebenen Werte im Rumpf für die angegebenen Parameter eingesetzt und die Anweisungen, die du angegeben hast, werden in der Reihenfolge, in der du sie auch geschrieben hast, ausgeführt. Am Schluss erhält die Funktion, die deine aufgerufen hat, noch den berechneten Rückgabewert.
Bei vielen, vor allem älteren Programmiersprachen gehörten die mathematischen
Funktionen zum Sprachumfang. Die Sprache C wurde ursprünglich zur systemnahen
Programmierung entwickelt. Dort sind mathematische Fähigkeiten weniger
gefragt. Darum wurden die mathematischen Funktionen in die Bibliotheken
ausgelagert. Das macht diejenigen Programme schlanker, die keine mathematischen
Funktionen benötigen. Die mathematische Standardbibliothek
math. h
Um die Funktionen der mathematischen Bibliotheken verwenden zu können, muss
zu Anfang des Programms die Datei
math. h eingebunden werden:
#include