C-Programmierung

Quick Start

Vergleich mit Java - Compiler | | Tool Chain

Im Folgenden schreiben wir eine erste Funktion mit C/C++:

Dazu muss man zuerst einmal wissen, dass Kontrollstrukturen ( if, for, while ) und Funktionsdeklarationen ( int f(int x) ) in C/C++ und Java nicht nur ähnlich sondern fast identisch sind. Man sagt, dass die Syntax von Java und C/C++ sehr ähnlich ist (zumindestens im Vergleich zu PHP, Python oder Pascal).

Kontrollstrukturen und Funktions-Definitionen am Beispiel der sog. Fibonacci Zahlenfolge:

n123456
fibo(n)111+1 = 21+2 = 32+3 = 53+5 = 8

Als mathematische Funktion ausgedrückt:

$fibo(n)=fibo(n-1)+fibo(n-2)$ für $n>2$, sonst $1$

Wir implementieren eine entsprechende Funktion fibo(), welche in Java genauso aussieht wie in C/C++ (bis auf das vorangestellte “public static”):

int fibo(int n)
{
   if (n<=2) return(1);
   else return(fibo(n-1)+fibo(n-2));
}

In Java lebt diese Funktion innerhalb einer Klasse und ist daher eine sog. Methode. In C/C++ kann diese Funktion auch außerhalb einer Klasse leben und ist daher eine sog. globale Funktion (bzw. ohne Rückgabeparameter eine globale Prozedur).

Zusätzlich benötigen wir eine Hauptfunktion, bei der das Programm starten soll. Anders als in Java ist dies immer eine globale Funktion, die wie folgt definiert wird:

#include <stdio.h>

int main()
{
   int f=fibo(10);
   printf("fibo(10)=%d\n", f);
   return(0);
}

Die erste Zeile obigen Codes inkludiert ein sogenanntes Modul aus der C/C++ Standardbibliothek, in unserem Fall das Modul stdio.h (als sog. Header-Datei), welches u.a. die Funktion printf() zur Textausgabe in der Hauptfunktion main() bereitstellt.

Gesamtquellcode “fibo.c”:

/* example program to illustrate C functions and control structures */

#include <stdio.h>

int fibo(int n)
{
   if (n<=2) return(1);
   else return(fibo(n-1)+fibo(n-2));
}

int main()
{
   int f=fibo(10);
   printf("fibo(10)=%d\n", f);
   return(0);
}


Vergleich mit Java - Compiler | | Tool Chain

Options: