Unterschiede zwischen den Revisionen 52 und 53
Revision 52 vom 2004-09-09 15:10:28
Größe: 2857
Autor: info015
Kommentar:
Revision 53 vom 2004-09-09 16:01:45
Größe: 3172
Autor: info015
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 60: Zeile 60:
 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.
bezeichnet eine sogenannte header datei. Dabei ist stdio die standard input output die dem Compiler mitteilt dass in diesem Programm etwas ein bzw. etwas ausgegeben wird.
Zeile 67: Zeile 66:
Die Bildschirmausgabe wird mit ''' printf("Text") ''' möglich. Die Bildschirmausgabe wird mit ''' printf("Text") ''' möglich. Mit dem''' \n''' hinter dem ausgabetext wird lediglich ein Zeilenumbruch erreicht. Hätte man mehrere Ausgabetexte
untereinander stehen würden ohne das '''\n''' am ende alles hintereinander zu stehen kommen.
Zeile 77: Zeile 77:

== Titel 2 ==
Auf [www.pronix.de] gibt es einen sehr guten und für Anfänger leicht verständlichen C Kurs.

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 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. Mit dem \n hinter dem ausgabetext wird lediglich ein Zeilenumbruch erreicht. Hätte man mehrere Ausgabetexte untereinander stehen würden ohne das \n am ende alles hintereinander zu stehen kommen.


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

Titel 2

Auf [www.pronix.de] gibt es einen sehr guten und für Anfänger leicht verständlichen C Kurs.

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

Impressum Datenschutz