Seite 1 von 1

C Tutorial

Verfasst: Di Aug 03, 2010 5:30 pm
von naums
Ich lese mir grade das C Tutorial von Proggen durch, und hab schon einiges entdeckt, was nicht ganz sinnvoll ist. Klar, man kann nicht alle Fehler vermeiden, und irrare humanum est. Aber ich habe schon einige Rechtschreibfehler gefunden, die nicht schlimm sind, aber doch den Eindruck etwas trüben. Das C Tutorial ist sehr ordentlich angelegt, aber finde ich nicht gut für Einsteiger. Ich persönlich bin der Meinung dass man in eine Programmiersprache einsteigen sollte, mit einigem Programmen, die immer weiter ausgebaut werden. Soll bedeuten... Bsp: Einfaches Hello World Programm steht am Anfang, dann werden alle BEfehle erklärt und wie die funktionieren. Und am Ende steht ein verbessertes Hello World Programm, was auch noch den Namen abfragt, vom Nutzer. kp. So kann der Umgang mit Variablen dargestellt werden, und gleichzeitig noch einige grundlegende Standartkanäle erläutert werden.

Des weiteren sollte das Tutorial unbedingt vervollständigt werden. Zum Beispiel auf der Seite: http://www.proggen.org/doku.php?id=c:type:floats ist mehr rot angestrichen als eigentlich sollte. Vllt. sollte man auch überlegen ob es überhaupt notwendig ist, zu float und double je eine eigene Unterseite zu haben. Reicht die Erklärung auf dieser Seite nicht für beide aus?

Und eine Unachtsamkeit hier: http://www.proggen.org/doku.php?id=c:style
Noch auf der Seite Kommentare wurde gesagt, dass viele C Compiler die C++ Kommentare verstehen (//Kommentar) aber, dass es als schlechten Stil gilt, diese in C zu benutzen.
Guter Stil

Und hier ist noch einmal der gleiche Code, nur dieses mal mit gut platzierten Zeilenumbrüchen. Ich glaub jetzt kann jeder sofort erkennen, dass wenn wir Zeilenumbrüche richtig verwenden die Lesbarkeit unseres Codes enorm gesteigert werden kann.

Code: Alles auswählen

void uselessFunction( int argument1,        // So können wir auch
                      float argument2,      // gleich neben den
                      const char *text,     // Variablen Kommentare
                      int length,           // hinschreiben.
                      float *float_pointer, // Ist doch viel schöner
                      char first_letter)    // so, oder?
{
  int return_value = argument1 + length;
 
  printf( "Calculating...\n" ); // Zusammengehörige Codeteile sollten  
  *float_pointer = argument2;   // wir gruppieren.
 
  printf( "First letter: %c, Text: %s\n", first_letter, text); // Und andere Teil sollten wir
                                                               // mit Zeilenumbrüchen optisch
  return return_value;                                         // trennen.
}
Ich hoffe ich konnte euch damit helfen, und ich habe euch hoffentlich den Anstoß gegeben an eurer Hauptseite weiterzumachen ;)
Übrigens: Mal über einen Counter auf eurer Seite nachgedacht? ich kann euch den Code dazu spendieren. ;)

Re: C Tutorial

Verfasst: Di Aug 03, 2010 5:52 pm
von Xin
naums hat geschrieben:Ich lese mir grade das C Tutorial von Proggen durch, und hab schon einiges entdeckt, was nicht ganz sinnvoll ist.
Wenn Du C lernen aus dem Tutorium lernen möchtest, installiere Dir Skype, ICQ oder MSN. Unter Skype ist mein Nachname mein Account unter msn ist Nick at dieseDomain.org mein Account. ICQ per Anfrage.
Dann gehen wir das Schritt für Schritt durch und ändern das.
Die Verbesserung des C-Tutorials steht bei mir ziemlich weit oben auf der Agenda. Ich habe vor ein paar Tagen mal angefangen, mich wieder von oben einzulesen und damit auch gleich Dinge zu verschieben und Kleinigkeiten zu ändern.

In C selbst bin ich noch nicht angekommen.
naums hat geschrieben:Ich persönlich bin der Meinung dass man in eine Programmiersprache einsteigen sollte, mit einigem Programmen, die immer weiter ausgebaut werden.
Das sehe ich anders, aber was ich sehe, sehe ich auch nicht im Tutorial ;-)
naums hat geschrieben:grundlegende Standartkanäle erläutert werden.
Was für Kanäle und seit wann stehen Kanäle, ich dachte, die werden gelegt?
naums hat geschrieben:Des weiteren sollte das Tutorial unbedingt vervollständigt werden. Zum Beispiel auf der Seite: http://www.proggen.org/doku.php?id=c:type:floats ist mehr rot angestrichen als eigentlich sollte. Vllt. sollte man auch überlegen ob es überhaupt notwendig ist, zu float und double je eine eigene Unterseite zu haben. Reicht die Erklärung auf dieser Seite nicht für beide aus?
Ja und Nein. Die einzelnen Seiten haben schon ihre Berechtigung, auch wenn sie nicht übertrieben voll sein werden.
naums hat geschrieben:Und eine Unachtsamkeit hier: http://www.proggen.org/doku.php?id=c:style Noch auf der Seite Kommentare wurde gesagt, dass viele C Compiler die C++ Kommentare verstehen (//Kommentar) aber, dass es als schlechten Stil gilt, diese in C zu benutzen.
Guter Stil

Code: Alles auswählen

void uselessFunction( int argument1,        // So können wir auch
                      float argument2,      // gleich neben den
...
[/quote][/quote]
Hehehe... das ist schon nicht schlecht. Auch die c:style-Seite steht schon auf meiner Todo-Liste (zugegebenermaßen länger)

[quote="naums"]Ich hoffe ich konnte euch damit helfen, und ich habe euch hoffentlich den Anstoß gegeben an eurer Hauptseite weiterzumachen ;) [/quote]
Definitiv.
Wie gesagt, wenn du C von der Seite lernen möchtest, mach das und lass mich an Deinen Gedanken teilhaben. Das hilft mir sehr, die Seite zu verbessern.

[quote="naums"]Übrigens: Mal über einen Counter auf eurer Seite nachgedacht? ich kann euch den Code dazu spendieren. ;)[/quote]
Darüber habe ich noch nicht nachgedacht. Den Code würde ich aber auch selbst hinbekommen ;-)
Wozu soll ein Counter gut sein?

Re: C Tutorial

Verfasst: Di Aug 03, 2010 6:37 pm
von naums
zum Counter: einfach mal schaun wie viele Leute auf der Seite waren. Aber nicht so nen Billigen wo du fünzig mal auf F5 drückst, und der jedes mal mitzählt... ;)

Standartkanäle... (ja ich bin in Rechtschreibung auch ein Ass) ... fprintf(); fscanf(); ... mom ich zeig dir wo ich das gelesen habe... http://www.c-plusplus.de/cms/modules.ph ... &nocache=1 ich hoffe der Link geht.

Wenn ich das von mir beschriebene Hello World Programm als Beispiel schreiben soll, musstes nur sagen. Da kann ich auch was dazu beitragen :)

Edit: So etwas wie strings gibt es in C nicht, zumindest soweit ich weiß. Die wurden erst in C++ definiert im Namespace std. Das einzige was STRING auch nur ähnlich wäre wäre ein eindimensionaled Array mit char als Datentyp. char string[20] zum bleistift.
So kann eine Struktur Auto zum Beispiel mit einem enum Farbe ausstatten, einem int für die Leistungsstärke des Motors und einem String für die Bezeichnung.
http://www.proggen.org/doku.php?id=c:var:start

Re: C Tutorial

Verfasst: So Aug 08, 2010 9:39 am
von fat-lobyte
naums hat geschrieben:zum Counter: einfach mal schaun wie viele Leute auf der Seite waren. Aber nicht so nen Billigen wo du fünzig mal auf F5 drückst, und der jedes mal mitzählt... ;)
Sieht nicht sehr Professionell aus, wenn da ein Counter steht, eventuell noch mit sehr wenig Besuchern :-) Aber ne grundlegende Statistik, die nicht öffentlich einsehbar ist, wär schon interessant.
Standartkanäle... (ja ich bin in Rechtschreibung auch ein Ass) ... fprintf(); fscanf(); ... mom ich zeig dir wo ich das gelesen habe... http://www.c-plusplus.de/cms/modules.ph ... &nocache=1 ich hoffe der Link geht.
Achso, du meinst STDERR, STDOUT, ...
Wenn ich das von mir beschriebene Hello World Programm als Beispiel schreiben soll, musstes nur sagen. Da kann ich auch was dazu beitragen :)
Beitragen ist ein gutes Stichwort... Wenn du einen roten Link siehst zu einem Thema bei dem du dich (sehr) gut auskennst, kannst du ja nochmal genau recherchieren und den Artikel selbst verfassen. Nicht vergessen den Artikel noch im Forum zu diskutieren.
Das gleiche gilt für Rechtschreibfehler oder Tippfehler, die kannst du sogar ganz flink ausbessern auch ohne allen Bescheid zu geben (pass aber auf, dass du den Inhalt nicht veränderst!).

Edit: So etwas wie strings gibt es in C nicht, zumindest soweit ich weiß. Die wurden erst in C++ definiert im Namespace std. Das einzige was STRING auch nur ähnlich wäre wäre ein eindimensionaled Array mit char als Datentyp. char string[20] zum bleistift.
So kann eine Struktur Auto zum Beispiel mit einem enum Farbe ausstatten, einem int für die Leistungsstärke des Motors und einem String für die Bezeichnung.
http://www.proggen.org/doku.php?id=c:var:start
Das ist so nicht ganz richtig. Es stimmt, es gibt eine Klasse "string" (genauer genommen eine spezialisierung der Templateklasse basic_string<> für char ;) ) in der Standardbibliothek von C++.
Allerdings bezeichnet man auch eben solche char-Arrays als strings. String heißt nämlich nichts anderes als "Strang" oder "Kette", und genau das ist es ja auch - eine Zeichenkette. Auch das in eine Struktur einzubauen ist kein Problem:

Code: Alles auswählen

typedef enum {
    FB_ROT,
    FB_GRUEN,
    FB_BLAU
} Autofarbe;
typedef struct
{
    Autofarbe farbe;
    int leistungsstaerke;
    char *bezeichnung;
} Auto;
Hier müsste man die "bezeichnung" dynamisch anlegen, wobei man ein bisschen aufpassen muss, aber vom prinzip her alles kein Problem.