Hallo und willkommen zurück.
Reden wir über die Grundlagen eines Programms.
Da dies ein Anfang ist Programmierklasse, speziell werden
wir darüber sprechen C, bevor Sie überhaupt eine Programmiersprache verstehen
können, benötigen Sie zu verstehen, was ein Programm ist.
Also möchte ich einige grundlegende beschreiben, Grundlegende Konzepte für Sie, bevor wir mit
den Details von C beginnen.
Computer sind sehr dumme Maschinen.
Ihr seid sicher mehr als mehr als nicht vertraut damit,
was ein Computer kann und was er tut.
Speziell aber unter der Haube und was passiert, wenn Sie auf Ihren
Browser klicken, wenn Sie klicken Ihre verschiedenen Anwendungen, die Sie verwenden, was unter der
Haube passiert Gibt es eine Art Programm, das ausgeführt
wird und dieses Programm ist Sagen Sie dem Computer, was zu tun ist.
Computer sind wirklich dumm.
Sie tun nur das, was ihnen gesagt wurde.
Also die Grundoperationen von a Der Computer bildet den
sogenannten Befehlssatz des Computers.
Ein Befehlssatz, wenn Sie können Denken Sie darüber nach, es ist das, wie es
etwas tun wird. Also müssen
wir es diesem Computer sagen wie es geht.
Wir machen es in Form eines Programm auf einem noch niedrigeren Niveau.
Jeder Computer hat was einen Befehlssatz genannt.
Ein Befehlssatz ist grundsätzlich die Anweisungen auf der CPU, dem
Prozessor des Computers.
So lösen Sie ein Problem mit einem Computer Indem Sie Ihnen sagen, was zu tun
ist, stellen Sie diese Lösung bereit, indem Sie diese senden Anweisungen zum Befehlssatz.
Das ist es also, was wann
passiert Wenn Sie ein Computerprogramm schreiben, senden Sie bestimmte Anweisungen um ein bestimmtes Problem
über Befehle an die CPU, den Prozessor, zu lösen.
Und der Ansatz oder die Methode, die wird verwendet, um das Problem zu lösen,
ist als Algorithmus bekannt.
Also für euch, die verstehen Mathe, ein Algorithmus ist, wie Sie ein
Problem lösen.
Also zum Beispiel, wenn Sie es wären Erstellen Sie ein gesamtes Programm
und testen Sie lediglich, ob a Der Benutzer gibt eine ungerade oder gerade Zahl ein.
Was würde als die beschrieben werden Der Algorithmus selbst ist der Test, ob die Zahl
gerade ist oder nicht oder seltsam, das ist der Algorithmus.
Die Aussagen, die das Problem lösen in seiner Gesamtheit wird das Programm.
Und wir werden das diskutieren Konzept und Algorithmus.
Algorithmus sind gerade ist gerade mehr Art von Beziehung - im Zusammenhang mit
der Modulprogrammierung.
Also werden wir darüber reden, wenn wir Sprechen Sie mehr über die Details, um zu sehen.
Aber ich möchte dich wieder lassen Verstehe, was du tust, wenn du
Code schreibst.
Was ist los im sehr, sehr niedrigste Schicht.
Du wirst schreiben diese
Algorithmen, die in einem Programm enthalten sind.
Um ein Programm zu schreiben, bist du es
Ich muss die Anweisungen richtig schreiben Implementieren Sie den Algorithmus.
Diese Anweisungen können ausgedrückt werden in jeder Art von
Anweisungen einer bestimmten Programmiersprache.
Also konzentrieren wir uns auf c für diese Klasse, aber ich
bin sicher, Sie haben von anderen Programmen gehört Sprachen wie
Java, C ++, Objective C werden aber in iOS-Anwendungen verwendet Eigentlich wird jetzt mehr Swift verwendet.
Aber es gibt all diese Programmierungen Sprachen, die Sie
lernen können und die es Ihnen im Wesentlichen ermöglichen werden Senden Sie Anweisungen in Form
von Algorithmen und Anweisungen an die CPU.
Außerdem möchte ich über einige sprechen Grundterminologie, die
CPU, die Zentraleinheit.
Dies ist das Gehirn des Computers.
Hier sind die meisten Die Arbeit wird erledigt.
Das ist wo Anweisungen werden ausgeführt.
Erinnerung, du oft höre dieses Termgedächtnis.
Und Schüler bekommen oft Gedächtnis sehr verwirrt mit der Festplatte.
Der Speicher ist nicht der gleiche als Festplatte.
Speicher wird oft als bezeichnet RAM, der Arbeitsspeicher.
Alle Daten, die im Speicher gespeichert
sind, sind eine separate Hardwarekomponente.
Es ist kein tatsächliches Laufwerk.
Alle Daten im Programm wird im Speicher die separate
Hardwarekomponente gespeichert.
So speichert es die Daten der Programm, während es läuft.
Und wir werden darüber reden Variablen und was sie bedeuten.
Ein Programm muss jedoch Daten haben um Berechnungen
durchzuführen, um Algorithmen durchzuführen.
Diese Daten werden sein im RAM gespeichert, Speicher.
Der Grund, warum wir es im Speicher speichern Im Gegensatz zum Speichern
auf einer Festplatte ist dieser Speicher ist viel schneller, es ermöglicht dem
Programm, viel schneller zu laufen.
Aber Erinnerung ist in der Regel auch Nicht dauerhaft über Neustarts hinweg eine
andere Art der Klarstellung.
Aber du solltest verstehen nur dieser Begriff RAM.
Es bedeutet Erinnerung.
Es sind die Variablen und die Daten in das Programm selbst, in dem es gespeichert ist.
Die separate Hardware Komponente dann die Festplatte.
Das Hardware-Laufwerk ist etwas Sie kaufen, wenn der Computer - das
ist permanenter Speicher.
Das ist normalerweise sehr, sehr groß. Es enthält Gigabyte, Terabyte an Daten.
Hier werden möglicherweise Dateien gespeichert Ressourcen eines Programms sein.
Und wenn Sie den Computer drehen aus und wieder einschalten, diese Dateien
sind noch da.
Wenn Sie den Computer drehen Aus und Ein für ein Programm, das Programm
stoppt tatsächlich die Ausführung und es ist nichts im Widder.
Verstehe also den Unterschied zwischen RAM und Festplatte.
Es ist ein wichtiges Konzept.
Stellen Sie sich Ram erneut als verwandt vor zu programmieren, da Festplatte
mit permanentem Speicher
verbunden ist und wir dort normalerweise Ressourcen bereitstellen.
Wir werden alle Betriebssystemdateien haben verschiedene Programmressourcen.
Ein Betriebssystem wird entwickelt, um Im Grunde genommen machen Sie Ihr Leben viel einfacher, wenn Sie den
Computer benutzen möchten.
Weil auf einem sehr niedrigen Niveau a Der Computer tut
nur das, was ihm gesagt wurde, und es sind nur Anweisungen mit einem Befehlssatz.
Es wäre sehr schwierig zu verwenden, wenn Sie alle
diese Anweisungen verstehen müssen.
Es gibt also ein Programm namens an Betriebssystem, das es
einem Benutzer erleichtert, einen Computer zu verwenden.
Es steuert den gesamten Betrieb des Computers, behandelt alle Ein- und Ausgabe
über Hardware so Es versteht es, mit einer Tastatur,
einer Maus oder einem Monitor zu interagieren.
Es verwaltet auch die Computer Ressourcen, behandelt die Ausführung
verschiedener Anwendungen.
Ein Betriebssystem ist a völlig getrennte Klasse.
Es geht viel hinein ein Betriebssystem, aber verstehen
Sie die Grundlagen davon.
Es erlaubt Ihnen nur zu verwenden Ihren Computer auf einfachere Weise.
Einige Beispiele von sehr Gängige Betriebssysteme sind Dinge wie
Windows, richtig.
Jeder benutzt Windows.
Windows 10,
Windows XP, wie auch immer.
Linux, UNIX was wir werden Sprechen Sie mehr darüber, wenn wir
über die Geschichte von C sprechen.
Android ist ein Betriebssystem für mobile Geräte iOS.
Dies sind spezifische Programme, die sind sehr groß, die viele verschiedene Programme
enthalten können, die interagieren, Erleichtern Sie sich die Interaktion mit
dem Computer erheblich.
Der Abrufausführungszyklus.
Dies ist die Lebenszyklus-CPU.
Ich erwähne das nur, weil, Auch hier beschreiben
wir nur die grundlegende Terminologie.
So gehen Sie vor, wenn Sie Anweisungen senden Für einen Computer, die CPU, ist das, was
tatsächlich passiert, dass Sie es sind Abrufen der Anweisungen aus dem
Speicher, da dies das Programm ist.
Und dann gehst du Führen Sie das auf der CPU aus, und es ist diese Art von Schleife,
die Sie sind mach es immer und immer und immer wieder.
Du wiederholst es.
Und wenn Sie jemals davon gehört haben Begriff Gigahertz, eine Gigahertz-CPU kann etwa
eine Milliarde Mal pro Sekunde leisten, eine Milliarde Anweisungen pro Sekunde.
Sie können sich also vorstellen Was
ist los, wenn Sie einen Computer damit betreiben? Ausführungslebenszyklus abrufen.
Und hier ist eine kleine Illustration das habe ich von einem
Bild im Internet genommen, das Ihnen diese Effekte zeigt Ausführungszyklus etwas klarer.
Was geht wann runter? Sie
interagieren mit der CPU und diesen Anweisungen.
Was passiert ist Du greifst nach dem Widder.
Und Widder, denk dran, enthält Programmdaten.
Sie greifen nach Daten dort für Anweisungen.
Und Sie entschlüsseln ständig die Daten, die in Registern und RAM gespeichert sind
und dann ausgeführt werden verschiedene Teile der CPU, entweder die Steuereinheit
oder die ALU.
Das ist allerdings eine Schleife.
Es wiederholt sich einfach und immer und immer wieder.
Und heutzutage wieder für CPUs Milliarden mal pro Sekunde.
Also, wenn wir über c Programme und sprechen Wir schreiben C-Programme
auf sehr niedrigem Niveau unter allem Interaktion mit der CPU über
unsere übergeordnete Programmiersprache.
Also ein höheres Level Programmiersprache.
Übergeordnete Programmiersprachen Erleichtern Sie das Schreiben von Programmen.
Nun, wenn wir müssten Verstehe wieder alle
diese Anweisungen auf der CPU sehr schwer zu schreiben sein.
Und all das zu verstehen Anweisungen, das bedeutet normalerweise, dass es sich um
eine Assemblersprache handelt.
Wenn Sie jemals den Begriff Versammlung gehört haben Sprache bedeutet nur,
dass Sie ein Programm auf einem sehr niedrigen Niveau schreiben wo es so niedrig ist,
dass Sie den Befehlssatz verstehen.
Und das können Sie sich vorstellen, wenn Sie sollten alle Ihre
Programme mit all diesen Anweisungen schreiben, es wäre sehr ineffizient und
sehr schwierig, ein Programm zu schreiben.
Also übergeordnete Programmierung Sprache sind das
Gegenteil einer Assemblersprache.
Es ist ein viel höheres Level.
Ein Beispiel ist c.
C ist eine höhere Ebene Programmiersprache.
Es beschreibt die Aktionen, die Das Programm wird
viel abstrakter ablaufen.
Sie müssen nicht auswendig lernen die Anweisungen auf der CPU.
Du verstehst nur die Sprache selbst, und Sie lösen Probleme durch
diese Algorithmen.
Es sieht viel mehr nach die englische Sprache.
Es ist viel einfacher zu verstehen.
Wenn Sie sich eine ansehen würden
In der Assemblersprache sehen Sie Verschiebungsbefehle mit Registern, mit Zahlen, im
Grunde nur numerische Anweisungen.
Und durch die Verwendung einer höheren Ebene Sprache wie c, Sie müssen
sich darüber keine Sorgen machen.
Du musst dir keine Sorgen machen über den Befehlssatz.
Sie müssen sich keine Sorgen machen Assembler-Anweisungen.
Es ist also viel effizienter und es ist viel einfacher,
Probleme zu lösen und zu lösen.
Und so werden wir c als unsere studieren
höhere Programmiersprachen, aber andere Beispiele wären Java, Ziel c, Dinge, die ich erwähnt habe.
Dies sind High-Level-Programmierung Sprachen, die Ihr Leben viel einfacher
und effizienter machen.
Neben diesen höheren Ebene Programmiersprachen, wenn Sie diese Sprache haben, die abstrakter ist,
Sie müssen in der Lage sein, diese Sprache zu verwenden
und sie dann auf einer CPU auszuführen.
Sie müssen es im Wesentlichen in konvertieren Anweisungen, die die CPU versteht.
Und hier ist ein Compiler kommt ins Spiel.
Oft, wenn Sie Code schreiben Beim Programmieren verwenden
Sie einen Compiler, der übersetzt Diese Hochsprache,
Quellcode in detailliert Maschinensprachenanweisungen, im
Grunde Assemblersprache.
Also wirst du eine schreiben Programm,
das abstraktes Denken auf hohem Niveau ermöglicht.
Und dann geht der Compiler um all die Millionen
von Anweisungen zu generieren, die an die gehen CPU im Befehlssatz.
Also werden wir einen Compiler verwenden in dieser Klasse genau das zu tun.
Wir werden Quellcode schreiben eine viel höhere abstrakte Form.
Und dann werden wir eine laufen lassen Programm rief
den Compiler auf, um diesen Code in etwas zu konvertieren dass die CPU versteht.
Hier ist die andere Sache über Compiler ist, dass sie auch prüfen werden, ob
Ihr Programm eine gültige Syntax hat oder nicht.
Also, wenn Sie Code schreiben, Sie Sie müssen die
Regeln der Sprache befolgen.
Die Regeln der Sprache sind Im Wesentlichen die Syntax, unabhängig davon, ob
Sie ein Semikolon bei haben oder nicht das Ende einer Anweisung, unabhängig davon,
ob Sie bestimmte Schlüsselwörter verwenden oder nicht.
Wenn Sie diese Dinge tun Falsch, Sie
können Ihr Programm nicht ausführen.
Also wird der Compiler finden all diese Fehler, und es wird
Ihnen sagen und zurück melden Sie und sagen, hey,
Sie haben Ihren Code nicht richtig
geschrieben, Sie müssen Repariere sie, bevor wir dieses Zeug tatsächlich konvertieren der Befehlssatz auf der CPU.
Also werden wir uns vertraut machen mit
Compilern im Allgemeinen, wie man sie benutzt, wie man Verstehe, was sie uns erzählen.
Hochsprachen sind viel einfacher zu lernen, viel einfacher zu
programmieren als Maschinensprachen.
Das ist der Kern dieser Folie Im Moment wird es so sein, wenn man eine
Sprache wie c verwendet viel effizienter und einfacher.
Wenn wir ein Programm schreiben, sind wir wird tatsächlich mehrere,
mehrere Schritte ausführen.
Und ich habe diese Illustration gefunden das beschreibt
die Schritte wirklich sehr schön.
Also habe ich das aus einem Buch genommen.
Es ist eine grundlegende Reihe von Schritten, wenn Sie schreiben jede Art von Programm.
Ab dem ersten Schritt der Definition der Programmziele, Verständnis
der Anforderungen, zur Aufrechterhaltung und Ändern des Programms.
Gehen wir also einfach durch diese Schritte ganz schnell und Sie
werden feststellen, dass Sie tun - gehen dies in dieser Klasse zu tun.
Wenn Sie anfangen zu schreiben a Programm, werden
Sie alle diese Schritte befolgen.
Der erste Schritt wird sein Definieren Sie die Programmziele.
Hier gehst du hin die Anforderungen verstehen.
Sie können nur dann mit dem Schreiben von Code beginnen Sie verstehen, was Sie tun müssen.
Sie müssen sich also klar werden Vorstellung davon, was
Sie in diesem Schritt erreichen möchten.
Nachdem Sie das verstanden haben Anforderungen, werden Sie dann
beginnen, den Code zu entwerfen.
Wenn Sie den Code entwerfen, Auf diese Weise wird der Code
die Anforderungen erfüllen.
Was ist die Benutzeroberfläche los um so auszusehen, als ob es erforderlich wäre.
Wie wirst du deine organisieren? Programm, werden
Sie verschiedene Funktionen erstellen und versuchen zu erstellen verschiedene Algorithmen und so weiter.
Dann gehst du zu Starten Sie die Implementierung von Code.
Hier schreiben Sie tatsächlich das Code und fügen Sie es in einen
Editor in einer integrierten Entwicklungsumgebung.
Sie übersetzen das Design in die Syntax der Programmiersprache, in diesem
Fall c, verstehen die Regeln der c-Sprache.
Sie können also einen beliebigen Texteditor verwenden.
Wir werden tatsächlich verwenden so etwas wie kalte Blöcke.
Normalerweise möchten Sie etwas verwenden mehr als ein Texteditor, eine sogenannte
IDE, über die wir sprechen werden.
Sobald Sie mit dem Schreiben des Codes fertig
sind, Sie müssen es kompilieren, weil es die Quelle konvertieren muss Code in die Low-Level-Sprache.
Wir haben bereits darüber gesprochen, Das ist also ein ziemlich grundlegender Schritt.
Und dann führen Sie das Programm aus. Das Ausführen des Programms
führt es aus, verwendet es.
Und dann geht es los der fünfte Schritt sein.
Nachdem Sie das Programm ausgeführt haben, sind Sie nicht getan, weil, obwohl
Sie den Code geschrieben haben und es vielleicht die erfüllen Anforderungen der Sprache, es kann sein, dass es nicht
das tut, was es beabsichtigt, also müssen
Sie es testen und Sie haben um Ihre Fehler zu finden und zu beheben.
Also nur weil ein Programm ist Laufen heißt nicht, dass es funktioniert.
Ich bekomme viele Studenten dazu sag, hey, kompiliert, ich bin fertig. Nein.
Sie müssen das sicherstellen Wenn Sie es ausführen, erfüllt
es die Anforderungen und macht was Sie denken, es wird reichen.
Man muss also ständig testen.
Und Sie werden die ersten Schritte ausführen durch sechs immer und immer und
immer wieder. Du wirst es
sein Finden, dass Sie Code schreiben, testen, Code schreiben Testen, Code schreiben, Testen.
Und normalerweise, wenn Sie dies tun, Sie will es in sehr kleinen Stücken machen.
Sie möchten zwei Zeilen schreiben Code, Test. Weitere zwei Codezeilen, Test
und so weiter.
Sie müssen also testen und debuggen.
Debugging ist ein anderes Konzept.
Wir werden viele Vorträge halten Debuggen, aber dies ist, wenn Sie Ihre
Programmierfehler finden und beheben.
Es gibt bestimmte Techniken, die Sie können, bestimmte Tools, die Sie verwenden können, um
diese Fehler zu finden.
Und Sie werden eine Menge lernen, indem Sie testen und Debuggen, weil Sie
immer eine große Menge lernen können Informationen durch Fehler.
Und das wird normal sein.
Du wirst kompilieren und das Das Programm wird
nicht das tun, was Sie tun, was Sie gesagt haben, und du wirst daraus lernen.
Und genau das sind wir werde in dieser Klasse tun.
Ich werde es dir nicht nur zeigen die richtige Art, Dinge zu tun.
Ich werde dir das Falsche zeigen Weg, um Dinge zu tun, und dann werden
Sie sehen, warum dies falsch ist.
Der letzte Schritt ist die Wartung.
Dies ist, wenn die Programme sind veröffentlicht und dann von vielen
Menschen verwendet, kann aber immer noch Fehler haben.
So zum Beispiel bei Windows 10 Wenn Sie veröffentlicht werden, werden Sie feststellen, dass es immer noch
Fehler gibt oder immer noch abstürzt.
Und so bist du ständig Updates bekommen.
Und wenn Sie diese Updates erhalten, Das nennt man Wartung des Programms.
Also nur weil du fertig bist Das Schreiben des Codes und
die Freigabe für die Öffentlichkeit ist nicht der Fall Ich meine, du bist fertig damit, es zu pflegen.
Wartung ist oft die umfangreichste Phase, der umfangreichste Schritt, denn wenn Sie veröffentlichen
Sie ein Programm, das fünf oder zehn Jahre lang
verfügbar sein könnte.
Sie müssen diese beheben Fehler, damit Ihre Kunden zufrieden sind.
Möglicherweise möchten Sie auch neue Funktionen hinzufügen um es auf dem Markt auf dem neuesten Stand zu halten.
Wartung ist also wirklich wichtig auch.
Die Wartung erfolgt nach Ihnen Geben Sie das Produkt an den Kunden weiter.
Für all diese Schritte können Sie also herumspringen, Schritte in
unterschiedlicher Reihenfolge ausführen, je nachdem was Programmiermethodik, das ist auch eine
ganz andere Vorlesung.
Du wirst es nicht immer unbedingt tun Führen Sie diese Schritte in einem Wasserfall-Ansatz aus, bei dem
Sie am Anfang beginnen und ende am - ende am letzten schritt.
Sie können entwerfen und dann gehe zurück und mache deine Tests und gehe
dann zurück und Neugestaltung und so weiter.
Also wirst du springen Alles in allem, je
nachdem, was am praktischsten ist.
Aus meiner Erfahrung viele neue Programmierer in
vielen Klassen in udemy ignorieren Schritte eins und zwei und direkt zum
Schreiben des Codes.
Sie zeigen dir, wie man schreibt den Code, aber sie zeigen
Ihnen nicht, warum Sie den Code schreiben.
Das ist also ein großer Fehler.
Wenn Sie anfangen, Code zu schreiben, Sie Um die Konzepte zu verstehen,
müssen Sie die Anforderungen verstehen.
Und damit können Sie durchkommen in wirklich winzigen Programmen,
aber mit größeren Programmen werden Sie müssen sich voll und ganz auf das Design konzentrieren.
Also je größer und je mehr Je komplexer das Programm
ist, desto mehr Planung ist erforderlich.
Sie sollten die Gewohnheit entwickeln der Planung vor dem Codieren.
Tauchen Sie nicht einfach ein und Sie gehen Aus den Vorlesungen in dieser Klasse
zu ersehen, dass ich viel plane.
Ich werde es dir in der sagen Herausforderungen, wenn Sie anfangen, Code zu schreiben, der
genau das ist, was Sie brauchen tun und wie Sie es gestalten sollten.
Weil das es schaffen wird Es ist einfacher für Sie, den Code tatsächlich
zu implementieren. Dies ist Schritt drei.
Denken Sie also daran kann oft Dinge pflanzen, indem man sie
auf Papier schreibt.
Es gibt alles Mögliche Dokumentation zum Entwerfen von Sprachen und Dingen, die
Sie verwenden können.
Aber du willst immer im Grunde effizient planen.
Und dann, während Sie programmieren, ich erwähnte dies
früher, aber dies ist eine andere sehr, sehr wichtige Konzept, wollen
Sie immer in kleinen Schritten arbeiten, teilen und erobern Sie möchten ständig testen.
Sie möchten nicht 100 schreiben Codezeilen und dann sagen, oh, ich bin
fertig, lass mich testen gehen.
Denn jetzt, wenn nicht Bei der Arbeit kann ein Fehler in
100 Codezeilen auftreten.
Es wird viel schwieriger um dieses Problem zu lösen.
Aber wenn Sie Code in wenig schreiben Chunks, fünf Codezeilen, testen Sie es und schreiben Sie
dann weitere fünf Zeilen Code, testen Sie es. Es wird viel einfacher sein,
Ihre Fehler zu finden und zu beheben.
Konzentrieren wir uns also auf Teilen und Erobern wenn wir unseren Code in diese Klasse schreiben.
Ich hoffe das hat geholfen.
Auch dies sind nur einige Grundlagen.
Ich wollte zur Verfügung stellen einige grundlegende Terminologie.
Viele von Ihnen wissen es vielleicht schon viele dieser Informationen.
Aber wenn du a lernst Programmiersprache müssen Sie
diese Grundlagen verstehen.
Danke.