Unterschiede zwischen den Revisionen 1 und 61 (über 60 Versionen hinweg)
Revision 1 vom 2003-03-11 18:45:28
Größe: 377
Autor: pD9525E7A
Kommentar: First C bits. Very incomplete for now:-(
Revision 61 vom 2004-09-15 05:53:27
Größe: 2861
Autor: depth
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 4: Zeile 4:
Ran neuerfinden muß, können Bibliotheken mit Funktionen (die sog. Libs oder Libraries) benutzt Rad neuerfinden muß, können Bibliotheken mit Funktionen (die sog. Libs oder Libraries) benutzt
Zeile 7: Zeile 7:

Dafür hat C den Vorteil, daß man darin auch Performance-kritische Dinge wie Betriebssystem-Kerne
und das Betriebssystem noch dazu programmieren kann. Unix in all seinen Ausprägungen ist fast
komplett in C geschrieben. Ja, C wurde eigentlich erst erfunden, um darin die ersten (halbwegs
portablen) Unix-Kerne zu schreiben.

Linux bringt schon alle wichtigen Sachen mit, um ein C-Programm zu schreiben. Da wären ein einfacher Editor und der Compiler, z.b. gcc.
Ich persönlich benutze Kate aus der Distribution ['SuSE'] unter KDE. Verschiedene Befehle werden dort gleich bei der Eingabe farblich unterlegt.

Das erste C-Programm, hello.c
{{{
/*************************/
/* Einführung */
/*************************/

#include <stdio.h>

int
main(void)
{
    printf("Hello World!\n");
    return 0;
}
}}}

So, nach dem Speichern muß das Programm kompiliert, also in etwas machinenlesbares übersetzt werden. Dazu verwendet
man einen Compiler. Dort erfolgt die Eingabe
{{{
$ cc -o hello hello.c
$ ./hello
Hello World!
$
}}}

Diese Befehlszeile ruft den C-Compiler (cc) auf und sagt ihm, daß er den Quelltext hello.c kompilieren und daraus das ablauffähige
Programm hello (-o) erzeugen soll. Dieses kann nach einem erfolgreichen Kompiliern einfach gestartet werden.

Jetzt haben wir ein kleines Programm geschrieben aber was bedeuten die einzelnen Befehle ?

{{{
/*
}}}
 gibt dem Compiler an dass die folgende Zeichenfolge ein ''' Kommentar '''ist. Dieser Komentar wird wieder mit den Zeichen
{{{
*/
}}}
beendet.
Mit kommentaren sollte man nicht sparsam umgehen weil sie für die lesbarkeit von Programmen sehr hilfreich sind. Allerdings sollte man Programme
auch nicht totkommentieren.
Der nächste Befehl
{{{
#include <stdio.h>
}}}
 bezeichnet eine sogenannte header datei. Dabei ist stdio die standard input output Datei die dem Compiler
mitteilt dass in diesem Programm etwas ein bzw. etwas ausgegeben wird.
{{{
int main(void)
}}}
kennzeichnet den Programmanfang ( main wie hauptteil )
der zu main gehörende Programmteil ist in geschweiften klammern gesetzt. { Programmanfang und } Programende.
Die Bildschirmausgabe wird mit ''' printf("Text") ''' möglich.

----
Da die Entwicklung von Unix und C nicht voneinander zu trennen ist, finden sich auch unter Linux die wichtigsten C-Befehle in den man-pages, also einfach mal so etwas eingeben wie:
{{{
$man printf
$man puts
$man system
}}}
- RG

Die C Programmiersprache

C an sich ist eine recht einfach zu lernende, prozedural-imperative Sprache. Damit man nicht immer das Rad neuerfinden muß, können Bibliotheken mit Funktionen (die sog. Libs oder Libraries) benutzt werden, die einem viel Arbeit abnehmen, da C selbst nichteinmal so ohne weiteres eine einfache Zeichenfolge auf den Bildschirm bringen kann.

Dafür hat C den Vorteil, daß man darin auch Performance-kritische Dinge wie Betriebssystem-Kerne und das Betriebssystem noch dazu programmieren kann. Unix in all seinen Ausprägungen ist fast komplett in C geschrieben. Ja, C wurde eigentlich erst erfunden, um darin die ersten (halbwegs portablen) Unix-Kerne zu schreiben.

Linux bringt schon alle wichtigen Sachen mit, um ein C-Programm zu schreiben. Da wären ein einfacher Editor und der Compiler, z.b. gcc. Ich persönlich benutze Kate aus der Distribution ['SuSE'] unter KDE. Verschiedene Befehle werden dort gleich bei der Eingabe farblich unterlegt.

Das erste C-Programm, hello.c

/*************************/
/*    Einführung         */
/*************************/

#include <stdio.h>

int
main(void)
{
    printf("Hello World!\n");
    return 0;
}

So, nach dem Speichern muß das Programm kompiliert, also in etwas machinenlesbares übersetzt werden. Dazu verwendet man einen Compiler. Dort erfolgt die Eingabe

$ cc -o hello hello.c
$ ./hello
Hello World!
$

Diese Befehlszeile ruft den C-Compiler (cc) auf und sagt ihm, daß er den Quelltext hello.c kompilieren und daraus das ablauffähige Programm hello (-o) erzeugen soll. Dieses kann nach einem erfolgreichen Kompiliern einfach gestartet werden.

Jetzt haben wir ein kleines Programm geschrieben aber was bedeuten die einzelnen Befehle ?

/*
  • gibt dem Compiler an dass die folgende Zeichenfolge ein Kommentar ist. Dieser Komentar wird wieder mit den Zeichen

*/

beendet. Mit kommentaren sollte man nicht sparsam umgehen weil sie für die lesbarkeit von Programmen sehr hilfreich sind. Allerdings sollte man Programme auch nicht totkommentieren. Der nächste Befehl

#include <stdio.h>
  • bezeichnet eine sogenannte header datei. Dabei ist stdio die standard input output Datei die dem Compiler

mitteilt dass in diesem Programm etwas ein bzw. etwas ausgegeben wird.

int main(void)

kennzeichnet den Programmanfang ( main wie hauptteil ) der zu main gehörende Programmteil ist in geschweiften klammern gesetzt. { Programmanfang und } Programende. Die Bildschirmausgabe wird mit printf("Text") möglich.


Da die Entwicklung von Unix und C nicht voneinander zu trennen ist, finden sich auch unter Linux die wichtigsten C-Befehle in den man-pages, also einfach mal so etwas eingeben wie:

$man printf
$man puts
$man system

- RG

LugOwlWiki: C (zuletzt geändert am 2011-01-30 18:28:48 durch GnuIsNotUnix)

Impressum Datenschutz