>> [Musikwiedergabe]
SPRECHER: In Ordnung.
Lassen Sie uns also zu einem anderen zu sprechen Sache, die Art von einzigartigen ist auf C,
Welches ist, Datentypen und Variablen.
Wenn ich sage, die spezifisch für C, ich habe wirklich nur im Rahmen der meine,
wenn Sie noch ein Programmierer gewesen für eine wirklich lange Zeit,
Sie haben wahrscheinlich nicht mit Datentypen bearbeitet
wenn Sie moderne benutzt habe Programmiersprachen.
Moderne Sprachen wie PHP und JavaScript,
was wir auch ein wenig zu sehen später im Verlauf,
Sie eigentlich nicht haben, um anzugeben, der Datentyp eines variablen
wenn Sie es verwenden.
>> Sie erklären es und starten Sie es.
Wenn er eine ganze Zahl ist, ist wissen, dass es eine ganze Zahl ist.
Wenn es ein Zeichen, es ist weiß, es ist ein Zeichen.
Wenn es ein Wort, weiß er, es ist ein String, sogenannte.
>> Aber in C, das ist ein älteren Sprache, wir brauchen
um die Daten zu spezifizieren Art der jede Variable
dass wir schaffen das erste Mal dass wir diese Variable.
So C kommt mit einigen eingebauten Datentypen.
Und lassen Sie uns kennen mit einige von denen.
Und dann später werden wir auch reden ein wenig über einige der Datentypen
dass wir für Sie geschrieben haben, so können Sie sie in CS50 verwenden.
>> Die erste ist int.
Der Datentyp int für Variablen verwendet das wird ganzzahlige Werte zu speichern.
Also 1, 2, 3, negativ 1, 2, 3 und so weiter.
Ganzen Zahlen, die etwas, das Sie ist sollten im Hinterkopf für das Quiz zu halten,
immer nehmen vier Bytes Speicher, der ist 32 Bit.
Es gibt acht Bits in einem Byte.
>> Dies bedeutet also, dass der Bereich der Werte, die eine ganze Zahl speichern
wird durch das, was innerhalb passen begrenzt 32-Bit-Wert von Informationen.
Nun, wie sich herausstellt, es wurde vor langer Zeit entschieden,
dass wir uns trennen dass Bereich von 32 Bit
in negativen ganzen Zahlen und positive ganze Zahlen,
jeweils immer die Hälfte des Bereichs.
So Bereich der Werte, die wir vertreten, mit einem ganzzahligen Bereich von negativen 2
bis 31. Macht, 2 bis der 31. Kraft minus 1,
dazu führen, müssen Sie auch einen Ort für 0.
>> Also im Grunde die Hälfte der möglichen Werte Sie können in einem int passen negativ sind,
und die Hälfte sind positiv.
Und etwa hier, das ist über negative 2 Milliarden, um positive 2 Milliarden.
Geben oder nehmen ein paar hundert Millionen.
Also das ist, was Sie zu passen kann in einer ganzzahligen Variablen.
Jetzt haben wir auch etwas, genannt Ganzzahl ohne Vorzeichen.
Jetzt unsigned ints sind kein getrennte Variablentyp.
Vielmehr ist unsigned eine so genannte Qualifikationsspiel.
Es ändert die Daten Art der Ganzzahl geringfügig.
>> Und in diesem Fall, was für unsigned means-- und Sie können auch
benutzen unsigned anderen Datentypen, ganze Zahl ist nicht der einzige.
Was es tut, ist effektiv verdoppelt der positive Wertebereich
daß eine ganze Zahl kann auf zu nehmen die Kosten für nicht mehr erlaubt
Sie negative Werte annehmen.
Also, wenn Sie Zahlen, die Sie wissen müssen wird höher sein als 2 Milliarden, aber weniger bekommen
als 4 Milliarden, für example-- Das ist 2 bis 32. power--
möchten Sie vielleicht zu verwenden ein unsigned int, wenn Sie
Ihre Wert wird niemals negativ sein.
>> Sie werden gelegentlich für unsigned Variablen
in CS50, weshalb ich erwähne es hier.
Aber noch einmal, der Bereich der Werte, die Sie kann mit einer Ganzzahl ohne Vorzeichen darstellen
wie regelmäßig ganze Zahl T, 0 In den 2 bis 32 minus 1,
oder ungefähr 0-4000000000.
So haben Sie effektiv verdoppelt die positiven Bereich, die Ihnen passen,
aber du hast die ganze gegebene die negativen Werte.
>> Jetzt Nebenbei unsigned ist nicht das einzige Qualifi
dass wir für sehen könnte variable Datentypen.
Es gibt auch Dinge genannt kurze und lange und konst.
Const wir ein wenig zu sehen Etwas später im Verlauf.
Kurze und lange, werden wir wahrscheinlich nicht.
>> Aber genau wissen, dass es sind weitere Qualifikanten.
Unsigned ist nicht der einzige.
Aber es ist der einzige, der wir sind werde über im Augenblick sprechen.
Also alles in Ordnung.
Also haben wir ganze Zahlen bedeckt.
Was kommt als nächstes?
>> Chars.
So chars werden für Variablen verwendet das wird ein einzelnes Zeichen zu speichern.
Char ist die Abkürzung für Charakter.
Und manchmal möchte man hören Menschen sprechen es als Auto.
>> So Charaktere stets up one Byte Speicher, der nur 8 Bit ist.
Dies bedeutet also, dass sie nur passen Werte im Bereich von negativen 2
dem siebten Macht, oder negativ 128, In den 2 bis 7. Macht minus 1 oder 127.
>> Dank ASCII war es vor langer Zeit beschlossen, einen Weg
um diese positiven Zahlen von map 0 bis 127 verschiedene Zeichen
dass alle bestehen auf unserer Tastatur.
So, wie wir später in zu sehen der Kurs, und Sie werden wahrscheinlich
kommen, um auf einige merken Punkt, Kapital A, für example--
der Charakter der Hauptstadt A-- Karten an die Nummer 65.
Und der Grund dafür ist, denn das ist, was es ist
nach dem ASCII-Standard zugewiesen.
>> Kleinbuchstaben A 97.
Das Zeichen 0 für, wenn Sie tatsächlich geben Sie die Zeichen, nicht
repräsentieren die Zahl Null, ist 48.
Sie werden ein paar lernen von ihnen, wie Sie gehen.
Und Sie werden mit Sicherheit kommen zu müssen sie ein wenig später in CS50.
>> Die nächste große Datentyp wird Gleitkommazahlen.
So Gleitkommazahlen sind auch als reelle Zahlen bekannt.
Im Grunde sind sie Zahlen, haben eine Dezimalstelle in ihnen.
Fließkommazahlen wie ganze Zahlen sind auch
innerhalb von 4 Byte Speicher enthalten.
Jetzt gibt es keine Diagramm hier.
Es gibt keinen Zahlengeraden, denn die Reichweite eines float beschreiben
ist nicht genau klar oder intuitiv.
>> Es genügt zu sagen haben 32 Bits, mit zu arbeiten.
Und wenn Sie eine Nummer haben wie pi, der hat
eine ganze Zahl Teil 3 und ein Floating- Punkt teilweise nicht oder Dezimalteil 0,14159,
und so weiter, müssen Sie sich Lage, alle es-- vertreten
der ganzzahlige Teil und der Dezimalteil.
>> Also, was tun Sie denken, dass vielleicht das?
Eine Sache ist, dass wenn der Dezimalstelle Teil immer länger,
wenn ich eine sehr große Integer-Teil, könnte ich nicht
in der Lage, präzise sein mit dem Dezimalteil.
Und das ist wirklich die Begrenzung von einem Schwimmer.
>> Floats eine Genauigkeit Problem.
Wir haben nur 32 Bit auf arbeiten mit, so können wir nur
so präzise mit unseren Dezimalteil.
Wir können nicht notwendigerweise eine Dezimalzahl Teil genau zu 100 oder 200 Ziffern,
weil wir nur 32 Bit, mit zu arbeiten.
Also das ist eine Einschränkung des Schwimmers.
>> Nun zum Glück gibt es ein anderer Datentyp mit dem Namen
Doppel, die etwas befasst sich mit diesem Problem.
Doubles, wie Schwimmer, werden auch verwendet, Realzahlen oder Fließkomma speichern
Werte.
Der Unterschied ist, dass Doppelzimmer sind mit doppelter Genauigkeit.
Sie können 64 Bits passen Daten oder acht Bytes.
Was bedeutet das?
Na ja, bedeutet dies, wir können noch viel mehr und zwar mit dem Komma.
Anstelle von pi bis sieben Plätze vielleicht, mit einem Schwimmer,
können wir vielleicht haben es 30 Plätze.
Wenn es das ist wichtig, möchten Sie vielleicht einen Doppel anstelle eines Schwimmers zu verwenden.
Grundsätzlich, wenn Sie arbeitet an etwas, wo
mit einer wirklich langen Dezimalstelle und eine Menge Präzision ankommt,
möchten Sie wahrscheinlich verwenden Sie ein Doppel overfloat.
Jetzt für die meisten Ihrer Arbeit in CS50 sollte ein float ausreichen.
Aber wissen, dass Doppel existieren als ein Möglichkeit, etwas mit der Präzision befassen
Problem umgehen, indem Sie eine zusätzliche 32 Bits, die mit für Ihren Zahlen.
>> Nun ist dies nicht ein Datentyp.
Dies ist eine Art.
Und es ist ungültig bezeichnet.
Und ich bin darüber reden hier, weil wir haben wahrscheinlich
ein paar Mal schon im CS50 gesehen.
Und Sie fragen sich vielleicht, , was es überhaupt geht.
>> So nichtig ist ein Typ.
Es existiert.
Aber es ist kein Datentyp.
>> Wir können eine Variable vom Typ erstellen nichtig, und weisen Sie ihr einen Wert zu.
Aber Funktionen, beispielsweise kann dem Rückgabetyp void haben.
Grundsätzlich, wenn Sie eine Funktion zu sehen das hat einen Rückgabetyp void,
es bedeutet, dass es keinen Wert zurück.
Können Sie sich einen gemeinsamen denken Funktion, die wir bisher verwendet
in CS50, die keinen Wert zurückgeben?
>> Printf gehört.
Printf nicht wirklich nichts an Sie zurück.
Er druckt etwas, das Bildschirm, und es ist im Grunde
eine Nebenwirkung, was printf tut.
Aber es nicht geben Ihnen einen Wert zurück.
Sie können das Ergebnis und speichern erfassen es in irgendeiner Variable, um sie später zu verwenden.
Er druckt nur etwas zu der Bildschirm, und Sie sind fertig.
>> Also sagen wir, dass printf ist eine Lücke Funktion.
Es gibt nichts zurück.
>> Der Umfang Liste ein Funktion kann auch ungültig.
Und Sie haben auch gesehen, dass ziemlich viel in CS50 auch.
Int main nichtig.
Heißt das klingeln?
Im Grunde, was das bedeutet, ist, dass Haupt hat keine Parameter.
Es gibt kein Argument, dass in den Hauptübergeben bekommen.
Jetzt später werden wir sehen, dass es ein Weg, um Argumente in den Hauptpass,
aber bis jetzt, was wir gesehen ist int main nichtig.
Haupt einfach nicht nehmen keine Argumente.
Und so geben wir damit, nichtig.
Gerade als wir sehr expliziten über die Tatsache,
dass es nicht nehmen keine Argumente.
>> So jetzt, es genügt zu sagen, diese Lücke zu Grunde
sollte nur als Platzhalter dienen, für Sie, darüber nachzudenken, wie nichts.
Es ist nicht wirklich etwas zu tun.
Es gibt keinen Rückgabewert hier.
Es gibt keine Parameter hier.
Es ist nichtig.
Es ist ein wenig komplexer als die.
Aber dies sollte für ausreichend der bessere Teil des Kurses.
Und hoffentlich jetzt haben Sie ein wenig bisschen mehr von einem Konzept, was nichtig ist.
>> Das sind also die fünf Arten du wirst Begegnung, die den C eingebaut sind
Aber in CS50 wir haben auch eine Bibliothek.
CS50.h, die Sie zählen können.
Und die von Ihnen übermittelten Daten mit zwei zusätzlichen Arten
dass Sie wahrscheinlich in der Lage sein, auf Ihre Aufträge zu verwenden,
oder einfach nur arbeiten in der Regel die Programmierung.
>> Der erste von diesen ist bool.
Also das Boolean-Datentyp, bool wird für Variablen verwendet
das wird einen Boolean-Wert zu speichern.
Wenn Sie je gehört habe dieser Begriff vor, Sie
vielleicht, dass ein Boolean wissen Wert in der Lage, nur ist
Halten zwei verschiedene unterschiedliche Werte.
Wahr und falsch.
Nun scheint dieses hübsche grundlegende, nicht wahr?
Es ist ein bisschen von einer Überraschung, dass diese nicht in C existiert, wie es eingebaut.
Und in vielen modernen Sprachen, natürlich Booleans
sind ein Standard-Default-Datentyp.
Aber in C, sind sie eigentlich nicht.
Aber wir haben es für Sie erstellt haben.
Also, wenn Sie jemals brauchen werden, um zu erstellen eine Variable, deren Typ Bool,
nur sicher sein, CS50.h # include sein zu Beginn des Programms,
und du wirst in der Lage, zu schaffen Variablen vom Typ BOOL.
>> Wenn Sie vergessen, CS50.h # include, und Sie Boolean-Typ-Variablen beginnen,
Sie könnten einige Probleme auftreten wenn Sie der Zusammenstellung Ihres Programms sind.
Also einfach auf der Suche nach, dass sein.
Und vielleicht können Sie nur fix die Probleme Pfund einschließlich CS50.h.
>> Die andere große Datentyp, den wir bieten für Sie in der CS50-Bibliothek
ist String.
Also, was ist ein String?
Strings sind wirklich nur Worte.
Sie sind Sammlungen von Zeichen.
Sie sind Worte.
Sie sind Sätze.
Sie sind Absätzen.
Könnte ganze Bücher selbst zu sein,.
>> Sehr kurze, sehr lange Reihe von Zeichen.
Wenn Sie Zeichenfolgen verwenden müssen, zum Beispiel, um ein Wort zu speichern,
nur sicher sein, CS50.h einzuschließen zu Beginn Ihres Programms
so können Sie die String-Typ zu verwenden.
Und dann können Sie Variablen erstellen dessen Datentyp String.
Jetzt später im Verlauf, Wir werden auch sehen, dass das ist,
nicht die ganze Geschichte, auch nicht.
Wir werden die Dinge stoßen genannt Strukturen,
die Sie zu einer Gruppe, was auch sein mag ermöglichen eine ganze Zahl und ein String in einer Einheit.
Und wir können die für die Verwendung einige Zweck, die Macht
kommen in praktisch, später im Verlauf.
>> Und wir werden auch lernen, über Typen,
die Sie erstellen können Ihre eigenen Datentypen.
Wir brauchen keine Sorgen zu machen etwa, dass für jetzt.
Aber weiß nur, dass das ist, etwas auf dem Horizont,
dass es noch viel mehr zu dieser ganzen Art Sache, als ich sage Ihnen gerade
Jetzt.
So, jetzt, dass wir gelernt haben, ein wenig über die Grunddaten
Typen und die CS50-Datentypen, lassen Sie uns sprechen über den Umgang mit Variablen arbeiten
und erstellen Sie sie mit diesen Datentypen in unseren Programmen.
Wenn Sie eine Variable erstellen möchten, alles, was Sie tun müssen, ist zweierlei.
>> Zuerst müssen Sie es eine Art zu geben.
Das zweite, was Sie brauchen zu tun ist, geben Sie ihm einen Namen.
Sobald Sie das getan haben und schlug ein Strichpunkt am Ende der Zeile,
Sie eine Variable erstellt haben.
>> Also hier ist zwei Beispiele.
Int-Nummer; char Brief ;.
Was habe ich hier gemacht?
Ich habe zwei Variablen erstellt.
>> Die erste, die Variablen heiße Nummer.
Und die Anzahl der Lage ist, ganze Zahl ist Geben Sie Werte, weil sein Typ ist int.
Schreiben ist eine andere Variable dass Zeichen enthalten
weil ihre Datentyp char.
>> Ziemlich einfach, nicht wahr?
Wenn Sie sich selbst zu finden in einer Situation, in der
Sie mehrere erstellen müssen Variablen des gleichen Typs,
müssen Sie nur angeben, der Typname einmal.
Dann einfach aufzulisten, so viele Variablen dieser Art, wie Sie benötigen.
>> So konnte ich zum Beispiel hier in dieser dritten Zeile des Codes,
sagen, int height ;, neuen Zeile.
Int Breite ;.
Und das auch funktionieren würde.
Ich würde immer noch zwei Variablen namens Höhe und Breite, von denen jede
eine ganze Zahl ist.
Aber ich bin zu dürfen, Dinge zu C-Syntax, Konsolidierung in eine einzige Zeile.
Int Höhe, Breite; Es ist die gleiche Sache.
Ich habe zwei Variablen, nannte man erstellt Höhen sogenannte Breite, wobei beide
in der Lage sind Halte Typ Integer-Werte.
>> Ebenso hier, kann ich drei erstellen Fließkommazahlen auf einmal.
Ich kann eine variable vielleicht erstellen genannt Quadratwurzel 2--
die vermutlich wird schließlich Halten Sie die schwimmenden point--
dass die Vertretung des Platzes Wurzel 2-- Quadratwurzel von 3 und pi.
Ich konnte dies getan haben auf drei separate Leitungen.
Float, Quadratwurzel 2; Float Quadratwurzel 3; float pi; und das auch funktionieren würde.
>> Aber auch hier kann ich nur zu konsolidieren diese in eine einzige Zeile Code.
Macht die Dinge ein wenig kürzere, nicht so klobig.
>> Jetzt in der Regel, es ist ein gutes Design, um nur eine Variable, wenn Sie es brauchen.
Und wir werden ein wenig sprechen etwas mehr über die
später im Laufe wenn wir Umfang zu diskutieren.
Also nicht unbedingt brauchen, erstellen alle Ihre Variablen
zu Beginn des Programms, die einige Leute der Vergangenheit getan haben,
oder war sicherlich eine sehr häufige Vor Codierung der Praxis seit vielen Jahren
bei der Arbeit mit C. Sie können nur wollen eine variable Recht, wenn erstellen
du brauchst es.
Gut.
Also haben wir Variablen erstellt.
Wie verwenden wir diese?
Nachdem wir erklären ein Variable, die wir nicht brauchen
um den Datentyp angeben, dieser Variable mehr.
In der Tat, wenn Sie dies tun, könnten Sie am Ende mit einigen seltsamen Folgen
dass wir Art von beschönigen für jetzt.
Aber es genügt zu sagen, seltsame Dinge gehen
passiert, wenn Sie versehentlich starten neu deklarieren Variablen mit dem gleichen Namen
über und über.
>> Also hier habe ich vier Zeilen Code.
Und ich habe ein paar Kommentare gibt nur anzeigt,
was passiert auf jede Zeile nur helfen
Sie erhalten in was los entfernt.
So int Anzahl ;.
Sie sah, dass zuvor.
Das ist eine Variablendeklaration.
>> Ich habe nun erstellt eine Variable rufene Nummer, die ist
halten können Integer-Werte.
Ich habe es erklärt.
>> Die nächste Zeile ich Zuordnung ein Wert, der Nummer.
Zahl entspricht 17.
Was ist dort passiert?
Ich setze die Zahl 17 innerhalb dieser Variablen.
>> Also, wenn ich überhaupt dann drucken Sie heraus, was der Inhalt der Zahl sind später,
sie werden mir sagen, es ist 17.
Also habe ich eine Variable deklariert, und dann habe ich es zugeordnet.
>> Wir können den Prozess zu wiederholen erneut mit char Brief ;.
Das ist eine Erklärung.
Schreiben gleich Hauptstadt H. Das ist eine Zuordnung.
Ziemlich einfach, auch.
>> Jetzt Dieser Vorgang kann scheinen irgendwie albern.
Warum tun wir das in zwei Zeilen Code?
Gibt es einen besseren Weg, es zu tun?
In der Tat gibt es.
Manchmal werden Sie vielleicht sehen, Dies als Initialisierung bezeichnet.
Es ist, wenn Sie eine Variable deklarieren und weisen einen Wert zur gleichen Zeit.
Dies ist eigentlich ein ziemlich gemeinsame Sache zu tun.
Wenn Sie eine Variable, die Sie in der Regel zu erstellen wollen, dass es einige grundlegende Wert haben.
Auch wenn es 0 oder so etwas.
Sie haben Sie ihm einen Wert.
>> Sie können eine Variable zu initialisieren.
Int Anzahl gleich 17 ist die gleiche wie die ersten zwei Zeilen von Code oben.
Char Buchstaben gleich h ist die gleiche wie die dritte und vierte Codezeilen darüber.
Das Wichtigste zum Mitnehmen hier wenn wir erklären, und Zuweisen
Variablen, nachdem wir erklärte sie, Ankündigung
Ich bin nicht mit dem Datentyp wieder.
Ich sage nicht, int Zahl entspricht 17 auf die zweite Zeile des Codes, zum Beispiel.
Ich sage nur, Nummer entspricht 17.
>> Auch erneute Deklaration einer Variablen nach Sie haben bereits erklärt, es führen kann,
um einige seltsame Konsequenz.
Also nur vorsichtig davon zu sein.
>> Ich bin Doug Lloyd.
Und das ist CS50.