bis̊mi allãhi alrāḥmani alrāḥīm
Maschinen verstehen nur Binär. Wenn wir eine Liste menschenlesbarer Anweisungen für einen Computer schreiben, verstehen Maschinen nur das, was wir heute Maschinencode nennen. Dieser Maschinencode besteht nur aus Einsen und Nullen.
Mit einem speziellen Programm namens Compiler können wir den Quellcode in Maschinencode umwandeln.
Wir können guten Code anhand von 3 Kriterien beurteilen:
Wenn wir in der Programmiersprache C Text auf dem Bildschirm drucken möchten, verwenden wir die printf-Funktion:
#includeDie Funktionint main(void) { printf("salom, dunyo\n") }
printf druckt den Text hello, world. Das darin enthaltene Sonderzeichen \ teilt dem Compiler mit, dass das nächste Zeichen eine spezielle Anweisung ist. Und das nächste n-Symbol bedeutet "neue Zeile" (neue Zeile).
Der Ausdruck in der ersten Codezeile ist ein ganz besonderer Befehl, der besagt, dass wir die Funktionen einer Bibliothek namens stdio.h nutzen möchten. Mit dieser Bibliothek können wir die printf-Funktion verwenden.
Bibliotheken ist eine Sammlung vorgefertigter Funktionen, die wir in unserem Code verwenden können.
Lassen Sie uns einen Code in C schreiben, der den Benutzer begrüßt, indem er ihn nach seinem Namen fragt:
#include#include int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }
Die Funktionen der cs50.h-Bibliothek, die speziell für den CS50-Kurs entwickelt wurde, werden in diesem Kurs verwendet. Eine davon ist die Funktion get_string. Die Funktion get_string wird verwendet, um den vom Benutzer eingegebenen Text abzurufen.
Antwort ist ein Platz, der für die Speicherung eines speziellen, vom Benutzer eingegebenen Textes reserviert ist, den wir als Variable bezeichnen. Die Antwort ist vom Typ string. Außerdem gibt es neben int, bool, char usw. noch viele andere Datentypen.
%s ist ein Platzhalter namens Formatcode, der die printf-Funktion anweist, sich auf die Annahme einer Zeichenfolgenvariablen vorzubereiten.
Es gibt auch Formatcodes für andere Datentypen, zum Beispiel:
%i ist für int (Ganzzahlen).
Bitten wir den Benutzer, x- und y-Variablen vom Typ int einzugeben und die Eingabezahlen miteinander zu vergleichen:
#include#include int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x Hier erstellen wir zwei Variablen vom Typ int (integer), x und y. Ihre Werte werden mit der Funktion get_int der Bibliothek cs50.h gefüllt. Mithilfe des bedingten Operators vergleichen wir die x- und y-Werte und zeigen je nach Ergebnis eine Meldung auf dem Bildschirm an.
Blockdiagramm ist eine Möglichkeit, die Funktionsweise eines Computerprogramms zu überprüfen. Mit dieser Methode können wir die Effizienz unseres Codes überprüfen.
Sehen wir uns das Blockdiagramm unseres Codes oben an:
Wir können das Programm verbessern, indem wir wie folgt programmieren:
#include#include int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x y) { printf("x soni y sonidan katta\n"); } else { printf("x soni y soniga teng\n"); } } Alle möglichen Fälle werden nun berücksichtigt. Sehen wir uns das Blockdiagramm an:
Wiederholungsoperatoren
Lass uns dreimal "meow" drucken:
#includeint main(void) { printf("meow\n"); printf("meow\n"); printf("meow\n"); } Der von uns geschriebene Code funktioniert korrekt, aber wir können unser Programm verbessern, indem wir Wiederholungen darin vermeiden:
#includeint main(void) { int i = 0; while (i Dabei wird die Variable i vom Typ int erstellt und ihr der Wert 3 zugewiesen. Dann wird eine while-Schleife erstellt, die für i Wir können das Design unseres Programms weiter verbessern, indem wir die for-Schleife verwenden:
#includeint main(void) { for (int i = 0; i Eine for-Schleife benötigt drei Argumente.
Das erste Argument: int i = 0 initialisiert unseren Zähler.
Das zweite Argument: i Schließlich sagt uns das i-Argument, dass jedes Mal, wenn i um eins erhöht wird.
Wir können auch unsere eigene Funktion erstellen:
void meow(void) { printf("meow\n"); }void – bedeutet, dass die Funktion keinen Wert zurückgibt. In Klammern (void) – bedeutet, dass die Funktion keine Parameter akzeptiert. Wir verwenden diese erstellte Meow-Funktion innerhalb der Hauptfunktion:
#include
void miau(void); int main(void) { für (int i = 0; i #include void meow(void); int main(void) { for (int i = 0; i Der Funktionsprototyp wird oben im Code als void meow(void) angegeben, damit wir die Meow-Funktion innerhalb der Hauptfunktion aufrufen können. Arithmetische Operatoren und Abstraktion
Lassen Sie uns einen Taschenrechner in C erstellen:
#include
#include int main(void) { // Geben Sie den Wert von x ein int x = get_int("x: "); // Geben Sie den Wert von y ein int y = get_int("y: "); // Führe den Add-Vorgang aus printf("%i\n", x y); } #includevoid meow(void); int main(void) { for (int i = 0; i Die Funktion get_int fordert den Benutzer auf, Werte für die ganzzahligen Variablen x und y einzugeben. Die printf-Funktion druckt dann den Wert von x y unter Verwendung des Formatcodes für eine Ganzzahl – dem %i-Symbol.
Arithmetische Operatoren sind mathematische Operationen, die vom Compiler unterstützt werden. Zu den arithmetischen Operatoren in C gehören:
- hinzufügen;
- - - zu subtrahieren;
- * - multiplizieren;
- / - für Division;
- % – um den Rest zu berechnen, wenn eine Zahl durch eine andere Zahl geteilt wird.
Abstraktion ist die Kunst, unseren Code zu vereinfachen, indem ein Problem in kleinere Teile zerlegt wird. Wir können unseren obigen Code wie folgt abstrahieren:
#include
#include int add(int a, int b); int main(void) { // Geben Sie den Wert von x ein int x = get_int("x: "); // Geben Sie den Wert von y ein int y = get_int("y: "); // Führe den Add-Vorgang aus printf("%i\n", add(x, y)); } int add(int a, int b) { a b zurückgeben; } #includevoid meow(void); int main(void) { for (int i = 0; i Hierbei wird eine separate Additionsfunktion deklariert, die Ganzzahlen a und b als Parameter akzeptiert und deren Summe zurückgibt, und unsere Add(x, y)-Funktion wird aufgerufen, indem die Ganzzahlen x und y als Argumente in der Hauptfunktion verwendet werden. Kommentare
Kommentare sind die grundlegenden Teile eines Computerprogramms, die Kommentare, die wir anderen Programmierern und uns selbst gegenüber klar und prägnant machen und die erklären, was der von uns geschriebene Code tut. Wir verwenden einfach zwei //-Tags, um einen Kommentar zu schreiben:
#include
#include int main(void) { // Geben Sie eine positive Ganzzahl ein int n; Tun { n = get_int("Geben Sie eine positive Ganzzahl ein:"); } während (n #include void meow(void); int main(void) { for (int i = 0; i Datentypen
Datentypen gibt den Datentyp an, der in einer Variablen gespeichert werden kann. Variablen können beispielsweise Zahlen, Zeichen oder boolesche Werte speichern. Der Typ der Variablen teilt dem Computer mit, wie er mit diesen Daten umgehen soll. Gängige Datentypen in C sind:
bool: kann boolesche Werte wie
Jede Art hat ihre eigenen Grenzen. Aufgrund von Speicherbeschränkungen kann der maximale Wert eines int beispielsweise 4294967295 sein. Wenn wir versuchen, einen Int über seinen Maximalwert hinaus zu zählen, führt dies dazu, dass die Variable einen ungültigen Wert speichert (- true (true) oder false (false) enthalten.
char: kann nur ein Zeichen speichern.- float: eine reelle Zahl mit Dezimalwerten.
- int: eine Ganzzahl ohne Dezimalpunkt.
- long: kann eine Ganzzahl speichern, die größer als int ist, da mehr Bits verwendet werden.
- string: kann eine Folge von Zeichen (z. B. ein Wort) speichern.
Ganzzahlüberlauf). Eine unsachgemäße Verwendung des Speichers kann zu Fehlern oder Problemen in unserem Code führen. Um Probleme zu vermeiden, müssen wir sicherstellen, dass wir den richtigen Datentyp verwenden.
Dieser Artikel verwendet die CS50x 2024-Quelle.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3