Computers

Computerprogrammier-Tutorial - Intermediate C-Like

Autor: Laura McKinney
Erstelldatum: 7 April 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Python syntax | python tutorials | python programmer | python for beginners | #shorts #python
Video: Python syntax | python tutorials | python programmer | python for beginners | #shorts #python

Inhalt

Charles ist ein Software-Ingenieur und College-Professor, der sich für Technologie, Medizin, Wirtschaft und Ernährung interessiert.

Weitere Rätsel lösen

In diesem Artikel wird davon ausgegangen, dass Sie etwas über das Programmieren in C-ähnlichen Sprachen wissen. Wenn dies nicht der Fall ist, beginnen Sie hier und kommen Sie zurück, wenn Sie bereit sind.

So bald zurück? Mit den einfachen Werkzeugen aus meinem vorherigen Artikel können Sie die meisten Rätsel bereits ziemlich gut lösen. Sie können die meisten C-ähnlichen Programme lesen (geschrieben in C, C ++, C #, Java, Cg und anderen, die sich stark von der C-Syntax leihen) und sich einen Überblick über das Geschehen verschaffen. Sie können auch einfache Programme schreiben. In diesem Artikel werden einige Tools zu Ihrer Programmier-Toolbox hinzugefügt. Das bedeutet, dass Sie mehr über die oben abgebildeten C-Schlüsselwörter lernen.

Weitere Variablen

Es gibt immer noch nur drei Hauptvariablentypen, aber es gibt Untertypen, die unterschiedliche Speichermengen und Verarbeitungszeiten verwenden und unterschiedliche Einschränkungen aufweisen. Wenn Sie verwenden möchten ints, schwebens und Zeichenfolges Ihr ganzes Programmierleben dann können Sie, aber die folgenden Varianten können manchmal die Dinge einfacher machen.


  • lange - EIN lange in C ist normalerweise das gleiche wie in int kann aber größer sein.
  • kurz - EIN kurz, oder "kurze Ganzzahl" ist wie eine int aber kleiner. Es hat einen engeren Bereich, benötigt weniger Speicher und die Bearbeitungszeit ist kompliziert. Auf modernster Hardware ist es an der Zeit, zwei hinzuzufügen kurzs ist nicht kürzer als die Zeit, um zwei hinzuzufügen ints, und es könnte etwas länger dauern. Warum? Dies liegt daran, dass die Hardware für die Verarbeitung optimiert ist ints (als 16-Bit-Computer häufiger waren, ints waren 16 Bit oder zwei Bytes, genau wie a kurz).
  • doppelt - EIN doppelt, oder "Gleitkommazahl mit doppelter Genauigkeit" ist genau wie a schweben kann aber größer sein. So wie lange ist eine Variante von int, gleiche Idee.
  • Leere - Benutzen Leere Wenn Sie möchten, dass eine Funktion nichts zurückgibt oder ein Zeiger auf einen beliebigen Typ zeigen kann.

Genau genommen hat ein C-Compiler viel Spielraum, wie groß diese Variablen sind, während andere C-ähnliche Sprachen dieselben Typen mit weniger Variationen definieren. Für die minimalen Garantien in C siehe Wikipedia. Die Version der Ereignisse, die ich hier gebe, ist die, die Sie normalerweise in C-Programmen finden, die für einen modernen PC geschrieben wurden. Ganzzahlige Typen können auch sein unterzeichnet oder ohne Vorzeichen, mit dem ohne Vorzeichen Variante mit doppeltem Maximum und immer> = 0. Varianten von schweben unterscheiden sich auch darin, wie nahe eine positive Zahl an Null kommen kann oder wie gering die Differenz zwischen zwei Zahlen ist. Dies nennt man das Epsilon. Seien Sie sich bewusst, dass es existiert, aber machen Sie sich vorerst keine Sorgen.


ModellnameGröße in BytesReichweite

kurz

2

+/- 32767 (2^15 - 1)

int

4

+/- 2147483647 (2^31 - 1)

lange

4

+/- 2147483647 (2^31 - 1)

schweben

4

+/- 3.4e38

doppelt

8

+/- 1.8e308

Überprüfen

Wenn Sie jemals die Größe eines Typs überprüfen möchten, verwenden Sie Größe von(), und wenn Sie ein bisschen Code überprüfen möchten, ohne einen Compiler zu starten, versuchen Sie es mit ideone oder codepad.

Hier ist ein Beispiel für ein Codepad.

Import einschließen mit

Sie erinnern sich vielleicht an meinen Hinweis, Funktionen, die von anderen Personen geschrieben wurden, als zeitsparenden Albtraum zu verwenden. Normalerweise ist es nur zeitsparend und im Allgemeinen eine gute Idee, wann immer dies möglich ist. Die Art und Weise, wie Sie dies in C erreichen, ist mit einer # include-Direktive, die Sie bereits oben in Beispiel-C-Programmen gesehen haben. #include teilt C die Funktionsdeklaration (wie eine Funktion aussieht, Rückgabetyp und Eingabevariablen) mit, damit Sie sie in Ihrem Programm verwenden können, und die entsprechende Funktionsdefinition (was eine Funktion innerhalb des Funktionskörpers tut) finden Sie in a Bibliothek oder Objektdatei, wenn Sie eine ausführbare Datei erstellen.


Andere C-ähnliche Sprachen verwenden möglicherweise #include (Cg), import (Java) oder (C #) für denselben Effekt.

Mehr Funktionen

Als Programmierer der Mittelstufe ist es Zeit, sich mit der Standardbibliothek Ihrer Sprache vertraut zu machen. In C bedeutet dies die Hunderte von Funktionen der C-Standardbibliothek. Sie sollten diese nach Bedarf lernen, aber hier sind einige der allgemeineren Funktionen. Vergessen Sie nicht, #include zu verwenden.

  • putch (char ch) put (char * string) - Schreiben Sie ein Zeichen oder eine Zeichenfolge auf den Bildschirm.
  • getch () getche () gets () - Ruft ein Zeichen oder eine Zeichenfolge von der Tastatur ab.
  • strcpy (char * target, char * source) - Kopiert eine Zeichenfolge von der Quelle zum Ziel.
  • strcmp (char * a, char * b) - Vergleichen Sie zwei Zeichenfolgen in alphabetischer Reihenfolge.
  • malloc (size_t amount) - Holen Sie sich Speicher, der später an free () gesendet werden muss.
  • free (void * p) - Freier Speicher, der mit einem Aufruf von malloc () gewährt wurde.
  • fopen (char * Dateiname, char * Modus) - Öffnet eine Datei zum Lesen oder Schreiben.
  • fread / fwrite (void * data, size_t size, size_t count, FILE * fp) - Aus einer Datei lesen oder in eine Datei schreiben.
  • fclose (FILE * fp) - Schließen Sie eine Datei, die mit fopen () geöffnet wurde.

Eine Stärke und eine Schwäche von C ist, dass keine dieser Funktionen Teil der C-Sprache ist. Es gibt Standarddefinitionen, die häufig in C-Compilern enthalten sind. Die Funktionen selbst sind jedoch in C geschrieben, und Sie können Ihre eigenen Versionen ersetzen. Dies geschieht meistens mit malloc () / free ().

C-Implementierungen von Standardbibliotheksfunktionen sind nicht nur allgemein verfügbar, Sie haben auch die Wahl. Das Lesen der Bibliotheksquelle und der Dokumentation ist kein schlechter Weg, um in die Zwischenprogrammierung einzutauchen, wenn Sie nicht sicher sind, wo Sie anfangen sollen.

Weitere Loops

Die C. zum Schleife ist die beste und häufigste und sobald Sie sie verstanden haben, gibt es zwei andere, die ebenfalls leicht zu verstehen sind.

Denken Sie an eine zum Schleife als: zum (Initialisieren; Testen; Vorrücken) {Body}

Eine andere Art von Schleife heißt während lässt Initialize and Advance einfach weg, wie folgt: während (Test) {Körper}. Noch eine andere Variante, die do-while ist ein während das führt die Arbeit in Body immer mindestens einmal aus und sieht so aus: tun { Körper } während ( Prüfung );

In jeder Art von Schleife, Unterbrechung bedeutet, dass die Schleife beendet ist, und fortsetzen bedeutet, dass der aktuelle Körper fertig ist, also machen Sie den nächsten Fortschritt und Test.

Weitere IFs

C und die meisten Varianten unterstützen zwei zusätzliche Arten von bedingten Anweisungen. Die erste ist eine aufgerufene if-Anweisung mit mehreren Pfaden Schalter. Der zweite ist ein (ternärer) Operator mit drei Argumenten, der zum Zuweisen einer Variablen entwickelt wurde ?:. Einige Leute sagen, dass sie verwirrend sind, aber nichts könnte weiter von der Wahrheit entfernt sein. Wie alles andere können sie auf verwirrende Weise verwendet werden. Versuchen Sie daher, sie auf unkomplizierte Weise zu verwenden, wobei Sie ihre Stärken nach Möglichkeit ausnutzen.

EIN Schalter Anweisung ist nur ein Mehrfachpfad wenn Das durchsucht eine Liste konstanter ganzzahliger Werte nach Gleichheit mit einem ganzzahligen Ausdruck.

switch (choice) {case 0: printf ("Choice is 0. n"); Unterbrechung; // break bedeutet, dass der Schalter () fertig ist Fall 1: printf ("Auswahl ist 1. n"); Unterbrechung; // In C und C ++ ist die Unterbrechung nach jedem Fall optional. Fall 2: printf ("Auswahl ist 2. n"); Unterbrechung; // in C # ist es erforderlich, jeder Fall muss mit break default enden: printf ("Auswahl ist nicht 0, 1, 2. n"); }}

Das ?: Der Operator wird als ternärer Operator bezeichnet, da er aus drei Teilen besteht. Es funktioniert so:

int Ergebnis = Test? value_if_test_is_true: value_if_test_is_false;

int Maximum = 10; für (int i = 0; imaximum; i ++) {printf ("% d Dies ist% s das letzte Mal. n", i, (Maximum-1) == i? "": "nicht"); } Ausgabe: 0 Dies ist nicht das letzte Mal. 1 Dies ist nicht das letzte Mal. 2 Dies ist nicht das letzte Mal. 3 Dies ist nicht das letzte Mal. 4 Dies ist nicht das letzte Mal. 5 Dies ist nicht das letzte Mal. 6 Dies ist nicht das letzte Mal. 7 Dies ist nicht das letzte Mal. 8 Dies ist nicht das letzte Mal. 9 Dies ist das letzte Mal.

Ganzzahlen und Gleitkommazahlen im Speicher

Du bist jetzt ein Programmierer

Wenn Sie die Ideen in diesem Artikel verstehen, indem Sie Beispiele lesen und einige Rätsel selbst lösen, können Sie sich als C- oder C-ähnlicher Sprachprogrammierer betrachten. Ihre Programmierkenntnisse lassen sich leicht auf andere C-ähnliche Sprachen übertragen, wobei die größten Schwierigkeiten in verschiedenen E / A-Stilen (Eingabe / Ausgabe, Daten von der Tastatur, auf dem Bildschirm, zu und von Dateien usw.) und Speicher bestehen Management (C verwendet malloc () / free (), C ++ verwendet new / delete, C # und Java geben automatisch Speicher zurück, wenn er nicht mehr verwendet wird).

Es gibt immer noch unangenehme Lücken in Ihren Programmierkenntnissen. Sie kennen sich mit Datenstrukturen nicht aus. Beim Vergleich von Floats fehlt Ihnen die entsprechende Vorsicht. Sie haben nur ein begrenztes Verständnis dafür, wie Sie Rätsel lösen oder zwei Lösungen vergleichen, die auch als Algorithmen bezeichnet werden. All dies ist sehr typisch für fortgeschrittene Programmierer, aber wenn Sie Ihre Fähigkeiten verbessern möchten, stehen Bücher, Kurse und andere Ressourcen zur Verfügung, um Ihnen zu helfen.

Viel Glück Programmierer!

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Populäre Artikel

Das Meiste Lesen

5 Fragen, die vor dem Start eines Softwareentwicklungsprojekts zu beantworten sind
Computers

5 Fragen, die vor dem Start eines Softwareentwicklungsprojekts zu beantworten sind

Ich bin ein 25-jähriger profe ioneller Technologie-Veteran, ein 20-jähriger profe ioneller Vater von ech Kindern und ein 24-jähriger profe ioneller Ehemann.E gibt viele Gründe, Ihr...
Bester AC1900-Router: Linksys EA6900, Archer C9, Asus RT-AC68U oder Netgear Nighthawk R7000?
Computers

Bester AC1900-Router: Linksys EA6900, Archer C9, Asus RT-AC68U oder Netgear Nighthawk R7000?

Ich war chon immer daran intere iert, die be ten WLAN-Router und Modem zu den be ten Prei en zu finden.Wenn ie nach einem AC1900-Router uchen, finden ie hier vier der be ten, die derzeit auf dem Markt...