Einstieg in C

hi all,

habt ihr tips zum einstieg in C?
ich fange grad an der fh damit an, im labor wird der borland c++ builder benutzt. habt ihr erfahrungen, kennt ihr gute bücher, gute sites, etc. ?

danke euch,
oLLi

Hi olli,

das Buch ueber C kenne ich nicht, aber allgemein habe ich gute Erfahrungen mit der Buchreihe „… in 21 Tagen“ gemacht. Die Buecher ueber Java und Visual Basic, die ich da gelesen/angeschaut habe, waren sowohl didaktisch toll als auch ziemlich erschoepfend.

Ausserdem noch ein Tip: die britische Zeitschrift „PC Plus“ scheint enge Verbindungen zu Borland/Inprise zu haben. Auf der Coverdisk findet man regelmaessig aeltere Versionen von vollstaendigen Borland-Compilern, z.B. C++ Builder und Delphi. Vielleicht hast Du Glueck und kannst so guenstig an einen guten Compiler kommen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi all,

habt ihr tips zum einstieg in C?

O’Reilley:

  • Programming C
  • Programming C++

Allerding sehr technisch. Für Anwendungsprogrammierer zwar gut als Grundlage, aber die Frage wie ich unter Windows ein Fenster erstelle wird hier nicht beantwortet (Reine C bzw. C++ Bücher).

Was möchtest du denn konkret in C machen?

da ich zeimlicher anfänger bin, weiss ich das noch gar nicht so genau… ;-D

ich denke C zu lernen ist eine gute basis, um später mit C++ und Java arbeiten zu können.

siehst du das auch so?

cu,
oLLi

da ich zeimlicher anfänger bin, weiss ich
das noch gar nicht so genau… ;-D

Ok. C bzw. C++ sind von der Idee her ziehmlich anders als Basic oder irgendwelche Scriptsprachen.
C kann eine gute Grundlage sein für Java und C++. Der wesentliche Unterschied ist jedoch die Objektorientierte Programmierung. C kennt keine Objekte (nur tricks um etwas ähnliches zu benutzen). Die Basics sind absolut gleich(was das bei Computerstandards auch immer heisen mag).

Das Problem ist, das Anfänger nie die Vorzüge von C/C++ sehen, da sie alte Gewohnheiten aufgeben müssen. Das fängt schon bei den Variablen an, die vor der Benutzung (in C sogar am Anfang der Funktion) mit ihrem Typ (z.B. integer) definiert (deklariert) werden müssen. In Basic ist X=1 erlaubt in C sind dafür schon 2 Zeilen nötig (mann kanns aber auch in einer schreiben :smile: int x; x=1; und am Ende sollte evtl. noch ein free(x) stehen um den Speicher wieder freizugeben. Damit wären wir bei der Speicherverwaltung: Das was in höheren Programmiersprachen automatisch passiert, nämlich die Speicherverwaltung muß in C manuell gemacht werden. D.h. in unserem Int Beispiel führt die Anweisung „int x“ dazu, daß 32 Bit speicher für spätere verwendung reserviert werden. (X als Integer ist z.B. 32 Bit lang) . Hier ein kleines Programm (Auszug) zur Verdeutlichung:

void main(){ // Da beginnt das C Programm
{
char meineVariable[]=„Hello World\n“;
printf("%s",meineVariable);
free(meineVariable);
return;
}

in old Basic style:
meineVar=„Hello World“
print „Hello World“

Also ist der höhere Aufwand abzusehen. Und glaub nicht in ein paar Tagen tolle Fenster in Windows ziehen zu können („zu Fuss“ dauert das genau 72 Zeilen C Code lang um die minimalste Windows Applikation zu bauen)

Das erfordert umdenken! Aber laß dich nicht Abschrecken, C/C++ sind möchtig. Wer beide Beherrscht kann andere Sprachen ziehmlich einfach lernen. Aber der Einstieg ist hart.

Mein tip: Kauf die ein C oder C++ Buch und fang in der Dos Box an (oder gleich unter Linux:smile:. Dann lernst du C/C++. Wenn du dann Applikationsentwicklung unter Win machen willst, ziehst du dir einen Schmöker z:b. über Visual C++ reina, aber in der Reihenfolgem damit du C/C++ und Windows API/MFC aufrufen unterscheiden kannst.

Das Buch „Einfuehrung in C von Said Baloui“ (Markt und Technik (?) ist grosse Klasse.
Erst ein wenig Theorie fuer Anfaenger und dann Beispiele Schritt fuer Schritt…

Tschuessi
Andreas

Achtung FEHLER

In Basic ist X=1 erlaubt in C sind dafür
schon 2 Zeilen nötig (mann kanns aber
auch in einer schreiben :smile: int x; x=1;

wie wärs mit :
int x = 1; //???

Hier ein
kleines Programm (Auszug) zur
Verdeutlichung:

1:void main(){ // Da beginnt das C Programm
2:{
3: char meineVariable[]=„Hello World\n“;
4: printf("%s",meineVariable);
5: free(meineVariable);
6: return;
7:}
ACHTUNG: Speicher welcher vom Compiler vergeben wurde, darf NIE vom Programierer zurückgegeben werden. Die Zeile 5: muss entfernt werden sonst stürtzt dein Programm ab. Die Zeichenkette „Hello World\n“ wird nämlich im Program abgelegt und nicht auf dem Heap. free() darf nur zusammen mit malloc() (resp. den anderen Mitgliedern der alloc-Funktionen) verwendet werden !!

mfg Peter

Hallo Olli
also, bei mir ist der Fall gerade, daß ich zwar mit C++ anfing zu Programmieren, aber merkte, daß es nicht schlecht wäre, die Grundlagen von C auch zu beherrschen.
Und da ich im Programmieren überhaupt noch nicht so fit bin, wurde mir von meinem Praktikumsbeauftragten (zur Zeit 3. Semester Informatik) das Buch „Programmieren in C“ von Kernighan und Ritchie empfohlen. Das ist wirklich sehr empfehlenswert, da es so aufgebaut ist, daß auch sehr viele Übungen für den User selbst dabei sind. Und so lernt man es wirklich am Besten. Zusätzlich wurde das Kapitel über Zeiger um einiges erweitert. Zeiger sind eigentlich das wichtigste an C und C++. Und diese sollte man wirklich verstanden haben, sonst steht man eines Tages da und weiß nicht mehr wo vorne und hinten ist :wink:
Also, schau mal bei Amazon.de vorbei, dort kannst du dir noch weitere Informationen zu diesem Buch holen, bzw. gleich bestellen, wenn es dir zusagt.
Und, ach ja, schreib mal, wie es dir ergangen ist, bzw. was du dir dann ausgesucht hast
Bye, Karin