1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Programmieren in C lernen

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Soul Monkey, 11.05.06.

  1. Hallo ich suche ein Buch bzw. Online Lektüre die einen leichten Einstieg in das Programmieren mit C bringt. Ich habe keinerlei Vorkenntnisse, möchte bis zum Ende des Sommers aber möglichst viel wissen. ;)

    Bin bei Amazon auf das Buch C Programmieren von Anfang an von Helmut Erlenkötter gestossen, allerdings steht bei einem der Kommentare das die letzten Kapital nur unter Windows zu bearbeiten seien.

    Da ich vorerst aber nur unter Mac OS X programmieren werde (ändert sich aber später) suche ich wenn möglich ein Buch das sich unter beiden System verwenden lässt.

    Für sonstige Infos und Links zu der Thematik wäre ich dankbar, falls möglich in deutscher Sprache da ich mich in eine neue Sache gerne genau einlese und nicht weiß wie komplex die englischen Sachen geschrieben sind und ich dann nur die Hälfte gut verstehe was ja bei einem Einstieg nicht gerade sinnvoll ist weil man sich wenig selbst denken kann.

    Danke. :)
     
  2. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Hier zum Beispiel kannst Du C online lernen. Das Buch kannst Du ggf. auch kaufen.

    MacApple
     
  3. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Überlege Dir mal, ob Du das ganze nicht auf C++ ausweiten willst. Da kann ich dir C++ in 21 Tagen ans Herz Legen. Viele haben zwar für die xx in 21 Tagen Reihe nur spott über, aber C++ i21T kann ich persönlich SEHR empfehlen.
     
  4. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    ich habe meinen einstig in java auch mit "java 2 in 21 tagen" gemacht ... und zum anfangen war es klasse ...
     
  5. Danke für eure Antworten.

    Wie sehr unterscheiden sich denn C und C++ ? Ich bräuchte erstmal nur C wenn man mit C++ aber auch C programmieren kann und C++ nicht viel schwerer zu lernen ist wäre es eine Möglichkeit.
     
  6. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    C ist keine echte Teilmenge von C++, im Gegensatz zu C bzgl. Objective-C. Wenn man C oder C++ noch nie gesehen hat, halte ich es für schwierig, beides gleichzeitig vernünftig zu lernen. Dann würde ich mich vielleicht erstmal auf C konzentrieren. Was sind Deine Vorkenntnisse (ach so, keine)? Oder willst Du später - wenn es Richtung Windows gehen soll - dort C++ anwenden? Dann vielleicht lieber gleich C++ lernen (Buchtipp da: Stroustrup, The C++ Programming Language, Addison-Wesley)
     
  7. Derzeit interessiert mich eigentlich nur C da ich dies für mein Elektrotechnik Studium welches ich im Oktober beginne brauche. Dort wird unter Windows und vielleicht Linux programmiert. C++ brauche ich nicht, wenn es auf C aufbauen würde und nicht viel schwerer wäre hätte ich es mir überlegt nicht gleich C++ zu machen.

    Objective-C ist später sehr interessant, erstmal will ich aber C können.
     
  8. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Weißt Du schon, ob die Programme unter Windows dann eine GUI haben sollen? Dann wird es letztendlich wohl auf C++ und QT hinauslaufen. Ansonsten ist der Unterschied zwischen C++ und C gar nicht so gravierend groß. Du kannst eigentlich unbesorgt erst mal mit C loslegen (um den Umgang mit Variablen und die Kontrollstrukturen kennen zu lernen). Ein C-Programm kann halt nicht notwendigerweise mit einem C++-Compiler kompiliert werden. Da sind immer ein paar Modifikationen notwendig.
    Hier gibt's übrigens ein paar Wikibooks zu C, vielleicht helfen die Dir schon weiter.
     
  9. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    ich würde dir erst zu einer "einfachen" Programmiersprache wie Java raten, dann zu C. Sonst kann dich C IMHO am Anfang etwas "erschlagen".
     
  10. Egger1000

    Egger1000 Osnabrücker Reinette

    Dabei seit:
    26.12.03
    Beiträge:
    994
    Ich empfehle immer noch zuerst mit einer prozeduralen Programmiersprache, z.B. C anzufangen, um dann den nächsten Schritt zur Objektorientierung (c++ / Java tec.) zu gehen.
    Denn man erkennt Zusammenhänge, Aufbau usw. leichter.
    Somit fällt es einem auch leichter weitere Programmiersprachen zu erlernen.
     
  11. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.251
    C++ ist zwar keine echte Obermenge von C, aber die Inkompatibilitäten sind gering. Man kann relativ leicht Programme schreiben, die sich sowohl als C wie auch als C++ Programm compilieren lassen und exakt gleich funktionieren.

    Allerdings macht man so etwas in der Realität nicht. C Programierstil ist unter C++ aus gutem Grund nicht gern gesehen, da dies die Fähigkeiten von C++ nicht ausnutzt (was zu einer Reduktion der Fehlerwahrscheinlichkeit führt) und nur zum mehr Fehler führt, da man hier das Zusammenspiel von C Eigenheiten mit denen von C++ zusätzlich beachten muß.

    Solange man nur C++ Standardlibrary oder Boost Konstrukte benutzt programmiert man mit C++ deutlich leichter und sicherer als mit C.
     
  12. Nein weiß ich leider noch nicht. Ich konnte aber heute in Erfahrung bringen das dieses Buch in den Vorlesungen verwendet wird und von den unterrichtenden Professoren veröffentlicht wurde. Über den Inhalt des Buches ist mir leider nichts bekannt.

    Bzgl. Java und C erscheint es mir ein Programm der gleichen Funktion in C erstmal einfacher

    in C
    Code:
    #include <stdio.h>
    
    int main (void) {
       printf("Hallo Welt\n");
       return 0;
    }
    und in Java
    Code:
    public class HalloWelt {
          public static void main(String[] args) {
              System.out.println("Hallo Java Welt");
              System.exit(0);
          }
    }
    Kennt jemand das C in 21 Tagen Buch?
     
  13. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Jaja. C-Programme können manchmal sehr kurz und übersichtlich sein:
    Code:
    #include <stdio.h>
    long a=1e4,d,h; unsigned b,c=21014,e,f[21014],g,i;
    main(){for(;b=c,c-=14; i=printf("%04d",e+d/a),e=d%a)
      while(--b) d=h*b+a*(i?f[b]:a/5), g=b*2-1, h=d/g, f[b]=d-h*g;}
    
    Viel Spaß beim Compilieren + Ausführen. Es passiert nichts Schlimmes... :cool:
    (Preisfrage: Was macht das Programm?)
     
    #13 quarx, 11.05.06
    Zuletzt bearbeitet: 11.05.06
  14. Einen Fehler macht das Programm. :innocent:

    Compilierungsversuch im Terminal mit "gcc wasmacheich.c -o Programm" dann sagt das Programm

     
  15. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Füge als erste Zeile mal ein
    Code:
    #include <stdio.h>
    dazu (hab's so auch oben geändert). Bei mir krieg ich dann weder Fehler noch Warnung (auch gcc im Terminal).
     
  16. Hm braucht man dafür die Mac OS SDK's installiert? Habe Xcode bzw. die Developer Tools installiert aber keine SDK's. gcc3 und gcc4 sind aber installiert.

    Kommt jetzt der Fehler
     
  17. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Konntest Du denn das Hallo-Welt-Programm von oben übersetzen? Das müsste dann auch schiefgehen.
    Ich habe auch XCode installiert, aber das SDK braucht man nicht.
    Hast Du regelmäßig die Cronjobs laufen lassen? Eventuell wird da etwas nicht gefunden. Zur Sicherheit lass mal bitte
    Code:
    sudo periodic daily
    sudo periodic weekly
    sudo periodic monthly
    im Terminal abarbeiten. Geht's dann?
     
  18. Seit Mac OS X.4.2 werden die Cronjobs ja selbstständig ausgeführt, habe es nun trotzdem manuell im Terminal gemacht. Funktioniert nun. Danke.

    Stellt das Programm Pi samt einiger Kommastellen dar?
     
  19. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    BINGO, der Kandidat erhält 100 Punkte! :-D

    P.S.: Das ist der sogenannte "Tröpfelalgorithmus".
     
  20. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Ganz ohne SDKs geht's nicht. Das DevSDK ist das absolute Minimum, was installiert werden muss. Da ist nämlich, neben vielen anderen, die Header Datei stdio.h drin.

    MacApple
     

Diese Seite empfehlen