Geschrieben für C-Anfänger. Wenn ja , bringen Sie Ihnen bei, wie man die C-Sprache lernt
Seien Sie nicht ungeduldig, wenn Sie die C-Sprache lernen, sondern machen Sie es Schritt für Schritt. Sie müssen wissen, dass Eile Verschwendung macht . Schreiben Sie nicht blind viel Code. Dadurch wird nur viel Low-Level-Code angehäuft und Sie entwickeln schlechte Programmiergewohnheiten. Kaufen Sie zunächst dieses grundlegende Lehrbuch und werfen Sie einen Blick darauf, damit Sie ein erstes Verständnis der C-Sprache erlangen.
Empfohlene Tutorials: Video-Tutorial in C-Sprache
Wenn Sie hochqualifizierte Mitarbeiter haben Wenn Sie Entwickler in Ihrer Nähe haben, gibt es nichts Besseres, als andere um Rat zu fragen. Aber meines Wissens nach erhielten die meisten Einsteiger nach ihrem Eintritt in die IT-Branche nicht die Anleitung eines leitenden Software-Ingenieurs, sondern wurden stattdessen an die vorderste Front gedrängt, um Kunden für ihre Chefs zu betrügen Die Leute haben Mühe, Code anzuhäufen und erbärmliche Löhne zu verdienen. Obwohl ich immer noch wenig Geld verdiente, hatte ich Glück, denn in meiner ersten Firma traf ich den Mentor, der mich zum Bereich der Unix- und C-Sprache führte. Es war sein Satz „Sprache ist eine Technologie, die Sie haben.“ „Du musst dein ganzes Leben lang lernen“ hat mich dazu gebracht, mich in sie zu verlieben. Es war sein Satz „Du hast ein Root-Passwort, es ist nicht so einfach wie ein Root-Passwort, es ist eher eine Verantwortung“ (sagte die Prämisse von Dieser Satz besagt, dass ich die Dinge anderer Leute gelöscht habe, nachdem ich den SUN-Server mit dem Root-Passwort betreten habe, weil ich dachte, das seien nutzlose Dinge), was mir ein sehr spezifisches Verständnis des Wortes Verantwortung gab. Deshalb bitte ich hier die Leser, mir etwas Raum zu geben, um meinem Neusoft-Mentor yuhj meinen tiefen Dank auszudrücken. Gleichzeitig möchte ich meinen Freunden an der CU meinen tiefen Dank aussprechen. Man kann sagen, dass Sie mein zweiter Mentor sind und ich nicht länger ohne Sie leben kann.
Ich hoffe, dass jeder mehr Glück hat als ich. Lassen Sie sich nicht entmutigen, wenn Sie zu CU kommen, um mit allen zu kommunizieren und zu diskutieren, aber achten Sie darauf, nicht nach Details zu fragen Beim Diskutieren im Forum lässt sich vieles nicht klar in einem Satz erklären. Egal wie konkret es ist, man kann sich nur auf seine eigenen Recherchen und Überlegungen verlassen. Wenn Sie Freizeit haben, gehen Sie in den Essenzbereich und Sie werden unerwartete Belohnungen erhalten.
Lassen Sie sich nicht verwirren, wenn Sie Englisch sehen. Auch wenn ich so bin, ist es nicht so, dass ich es nicht verstehen kann (schließlich habe ich CET4 und Level 6 in stummem Englisch gelernt, also kann ich es). verstehe es immer noch). Die Hilfe des Menschen ist das beste Lehrmaterial, und viele ausländische Foren bieten sehr klare und einfache Beschreibungen der Technologie. Noch wichtiger ist, dass Sie dort Dinge sehen werden, die Sie in inländischen Foren nicht sehen können (Computertechnologie wurde immer vom Westen in den Osten weitergegeben). Ich hoffe, dass eines Tages Ausländer in unser chinesisches Forum kommen, um nach technischen Informationen zu suchen.
Es gibt eine Sache, die Sie beim Erlernen der C-Sprache lernen müssen, und es ist am besten, sie gleichzeitig zu lernen. Einige Freunde haben es vielleicht erraten, ja, es ist Unix. Man kann sagen, dass Unix und die C-Sprache oft erwähnt wurden. Wo Unix ist, gibt es auch C-Sprache. Gleichzeitig existiert Unix gerade wegen der C-Sprache (lassen Sie uns zunächst die philosophische Frage von Chicken diskutieren). oder Ei) Komm schon, schlag mich mit einer Tomate), manche Leute sagen sogar, dass die C-Sprache für Unix entwickelt wurde, was die ungewöhnliche Beziehung zwischen Unix und der C-Sprache zeigt. Das Erlernen von Unix ist jetzt viel einfacher. Früher wurde Unix auf großen Servern ausgeführt, aber jetzt mit Linux (laut GNU ist Linux Linux und kann nicht als Unix bezeichnet werden). Achten Sie beim Lernen darauf, Linux und Windows nicht zu vergleichen. Sie sind nicht dasselbe. Linux lässt Sie wissen, was ein Klassiker ist, und lässt Sie Ihre Ambitionen immer in eine Richtung zeigen. Windows lässt Sie nur in die Fallen anderer Leute tappen, und Sie müssen die Falle von Zeit zu Zeit ändern. Nachfolgend sind einige meiner Erfahrungen beim Erlernen von Unix aufgeführt:
1) Um Unix und C-Sprache zu lernen, empfehle ich zunächst ein Buch „Unix Advanced Environment Programming“ Dieses Buch ist ein Klassiker zum Erlernen von Unix und C. Versuchen Sie zu schreiben Erstellen Sie ein Übungsprogramm für alle im Buch erwähnten Systemaufrufe und gewinnen Sie zunächst ein Verständnis dafür, wozu die Systemaufrufe dienen, die Benutzern vom Linux-System bereitgestellt werden, und wie sie verwendet werden. Systemaufrufe sind Funktionen, die Benutzern vom Kernel zur Verfügung gestellt werden, um Kerneldienste zu beantragen. Zum Erlernen des Linux-Kernels ist es eine gute Möglichkeit, mit Systemaufrufen zu beginnen. Für den Lernprozess können Sie auf die Linux-Onlinehilfe und Informationen im Internet zurückgreifen. Wenn Sie das Gefühl haben, dass es fast fertig ist, möchte ich Ihnen eine Kontaktfrage stellen: Um die Funktionen eines FTP-Servers und -Clients zu implementieren, können Sie einige Protokolle der Anwendungsschicht vollständig selbst definieren, solange Sie Dateien mit einfachen Befehlen übertragen können.
Mit dieser Frage können Sie die grundlegenden Programmiermethoden von TCP/IP und die grundlegenden Methoden von Dateioperationen üben, was später beim Erlernen des Kernel-Dateisystems hilfreich sein wird.
2) Wenn Sie ein gewisses Verständnis des Unix-Systems haben, gilt gleichzeitig für die meisten Systemaufrufe (der Schlüssel sind die Systemaufrufe über Dateien, für den Kernel des Linux-System, aus der Datei Es ist relativ einfach, mit dem System zu beginnen) und nachdem Sie ein klares Verständnis haben, empfehle ich Ihnen ein Buch „Linux-Kernel-Szenario-Analyse“ Dieses Buch ist ein Klassiker Der einzige Fehler besteht darin, dass er das Netzwerksubsystem nicht abdeckt. Sie können mit den Systemaufrufen des Dateisystems beginnen und werden langsam ein tieferes Verständnis von Linux erlangen. Achten Sie gleichzeitig auf die Anwendung vieler klassischer Methoden und Ideen in Linux. Sie werden erkennen, warum Unix alles als Datei behandelt und alles, was Sie ausführen, eine Dateioperation ist, und Sie werden langsam die Klassiker von Unix schätzen lernen.
3) Nachdem Sie den Linux-Kernel etwas verstanden haben, können Sie sich auf die Entwicklung spezialisieren. Wenn Sie sich für die beliebte Netzwerkprogrammierung interessieren, empfehle ich Ihnen ein Buch „TCP/IP Detaillierte Erklärung“ Dieses Buch ist ein Klassiker über das TCP/IP-Protokoll. Sie erfahren, wie der TCP/IP-Protokollstapel implementiert ist, warum und wie die verschiedenen Protokollschichten funktionieren. Nachdem Sie dieses Buch gelesen haben, können Sie ein DOS-Angriffsprogramm schreiben und sich selbst ausspionieren.
Was ich sage, ist einfach: Jedes Buch, das ich erwähnt habe, reicht aus, um zumindest lange zu lernen. Ich hoffe also, dass Anfänger nicht ängstlich sind und nicht arrogant sind Solange Sie hart arbeiten, werden Sie auf jeden Fall ein Meister.
Beim Schreiben von Code sollte jeder darauf achten, gute Programmiergewohnheiten, einen guten Stil und gute Abstraktionsfähigkeiten zu entwickeln.
Das Folgende ist eine 20-Wörter-Richtlinie für alle beim Schreiben von Code:
1) Funktionen sollten klein sein
Versuchen Sie, die Funktion so allgemein wie möglich zu gestalten, mit weniger Codezeilen. Eine Funktion vervollständigt nur eine einfache Funktion. Sie können auf einen Blick erkennen, ob Codefehler in dieser Funktion vorhanden sind. Dann ist das Programm robust.
2) Weniger Code
Je weniger Code, desto besser, wenn die Logik klar ist. Vergleichen Sie niemals, wer mehr Code geschrieben hat.
3) Der Algorithmus sollte besser sein
Bei der Ausführung einer Funktion muss die Effizienz berücksichtigt werden. Derzeit verfügen Computer über viel Speicher, daher ist Speicher nicht mehr das Dies ist zwar die wichtigste Überlegung, aber an einigen besonderen Stellen ist Effizienz immer noch wichtig. Wenn Sie einen hocheffizienten Algorithmus haben, brauchen Sie keinen ineffizienten Algorithmus. Schauen Sie sich den hervorragenden Beitrag dieses Artikels über das Entfernen der Leerzeichen auf beiden Seiten eines Zeichens an. Viele Leute haben Algorithmen vorgeschlagen, aber ein Algorithmus ist es Der beste, der effizienteste, der geringste Code ist die beste Widerspiegelung eines guten Algorithmus
4) Die Benennung sollte klar sein
Die Benennung sollte klar sein, und das Wichtigste ist, eine chinesische Prädikatstruktur wie set_buffsize() zu verwenden
5) Es sollten mehr Dateien vorhanden sein
Versuchen Sie, ein großes Programm in mehrere Dateien aufzuteilen , und versuchen Sie, 1000 Dateien pro Datei nicht zu überschreiten, damit Sie genau wissen, welcher Dateicode robust ist und welche Datei möglicherweise versteckte Gefahren birgt. Bei der Codeinspektion können Sie bestimmte Dateien gezielt überprüfen