Hallo en welkom.
In deze lezing wil ik beschrijven: enkele van de gegevenstypen
die ik in onze laatste lezing noemde.
Gegevenstypen zijn belangrijk omdat je dit moet opgeven wanneer je
een variabele declareert.
En ze vertellen de eigenlijke compiler hoeveel geheugen u wilt creëren.
Het is dus ook specifiek voor de maat.
Dus de compiler heeft dit nodig informatie, maar laten we
het hebben over degenen die worden ondersteund door de programmeertaal c.
Tot nu toe weten we dat c heeft veel verschillende soorten variabelen
met verschillende soorten gegevens.
Dat weten we van het creëren en initialiseren van variabelen.
U kunt typen hebben om op te slaan gehele getallen, getallen in wezen.
Je kunt typen hebben die winkel niet-geheel
getal numeriek varieert, dingen zoals um wetenschappelijk notatie of dingen zoals Booleans wat waar
en onwaar is.
En dan heb je ook nog data die moeten worden
opgeslagen, zoals tekens, ofwel een enkele teken of veel tekens, wat
een tekenreeks wordt genoemd.
Maar we weten dat we hebben deze verschillende soorten gegevens.
Nogmaals, voor een c-programma om krachtig te zijn, het zal gegevens moeten manipuleren en het
zal moeten manipuleren alle verschillende soorten gegevens.
Dus enkele van de voorbeelden die c ondersteunt de basisgegevenstypen.
Er zijn veel gegevenstypen in c, maar de
basis waarover we het vandaag gaan hebben in deze lezing zijn de int.
En onthoud, deze gegevens typen zijn speciale trefwoorden.
Dus als je int zegt in een c-programma, de compiler zal weten dat dit
een gegevenstype is.
Dus we willen praten over int, float, double, char
of care en underscore bool.
Dit zijn de belangrijkste die je gaat
gebruiken en dan zijn er verschillende variaties af van die weer afhankelijk van
het type gegevens dat u wilt opslaan en hoe groot de gegevens zijn.
Dus het verschil tussen deze typen is de hoeveelheid geheugen.
Dat zijn alle gegevenstypen in het specificeren van de gegevenstypen gaat over.
Het gaat om het geheugen dat moet worden toegewezen, en het varieert afhankelijk
van het type architectuur dat u heeft.
Maar het geheugen en de hoeveelheid is om het bereik van de waarden te
bepalen die kunnen worden opgeslagen.
Dus de hoeveelheid opslagruimte die is toegewezen om een bepaald type gegevens op
te slaan, is belangrijk voor de compiler.
Het hangt allemaal af van de computer die u gebruikt.
En hier wordt naar verwezen als machine afhankelijk.
Dus als ik het programma wil zien op een Linux-systeem met andere hardware
versus een Windows-systeem met bepaalde hardware kan een geheel getal 4
bytes in het geheugen zijn of misschien 8 bytes, nogmaals, het hangt ervan af.
Het is dus afhankelijk van de machine je draait op hoeveel geheugen is
toegewezen, afhankelijk van de gegevens die u wilt opslaan.
Dus je weet dat een geheel getal kan 32 bits in beslag nemen, dat is 4
bytes of het kan 8 bytes in beslag nemen.
Laten we het dus eerst hebben over de int.
Dit is een van de meest veelgebruikte datatypes.
Het is een gegevenstype dat kan worden opgeslagen integrale waarden, waarden
die geen decimalen bevatten, gehele getallen.
Dit is wanneer je zou identificeren dit gegevenstype
wanneer u een variabele int naar opgeslagen nummer maakt.
Je kunt ook een minteken plaatsen voorafgaand aan het gegevenstype, inverteer in de variabele
en dat geeft aan: dat de waarde negatief is.
Dus als je een minteken hebt verder gaan met de eigenlijke letterlijke.
Dus waar ik het hier over heb is: wanneer u de
variabele maakt en er gegevens aan toewijst, als u een negatieve zet nummer een waarde is het een negatief getal.
Dus ints kunnen negatieve getallen opslaan is eigenlijk wat dit zegt.
Het is ook een geheel getal met teken.
We zullen meer praten over wat dat betekent, maar een geheel getal met teken betekent
alleen dat het positief, negatief of 0 kan zijn.
En daarom kun je zetten een minpunt ervoor.
Als een geheel getal wordt voorafgegaan door een 0 in de letter x.
Dus hier hebben we het over constanten.
Hier hebben we het over wanneer u wijst gegevens toe aan een int.
Ik probeer je het type te beschrijven gegevens die hierin kunnen worden opgeslagen.
En dus wanneer u gegevens toewijst, we weten hoe we gegevens aan variabelen moeten
toewijzen omdat we dat hebben geleerd.
Eerder definiëren we gewoon de gegevenstype en dan wijzen we het toe met behulp
van de is gelijk aan operator.
Nu kunt u waarden toewijzen aan ints.
U kunt nummers toewijzen wat de meest intuïtieve en gemakkelijke manier
is om het te doen, zoals 15.
Maar u kunt ook toewijzen hexadecimale getallen.
De computer in de programmering taal laat dat toe.
Als u een hexadecimaal wilt toewijzen getal naar een variabele die een
geheel getal opslaat, zet je gewoon de 0 en de x ervoor, en dat vertelt de compiler dat
dit een hexadecimaal getal is.
Hexadecimale getallen is grondtal 16 dus u kunt de letters a tot en met f opslaan.
Dus hexadecimaal lijkt op 0xFEFOD.
Dus misschien zie je dit af en toe in uw programma
waar iemand een hexadecimaal getal toekent, en je denkt waarschijnlijk dat je mobiele
telefoon alleen maar beweegt een decimaal of een geheel getal.
Maar het kan ook opslaan verschillende voorstellingen.
En dit is er dus een met 0x ervoor.
De waarden 158 min 10 en 0 zijn allemaal geldige voorbeelden
van constanten die u aan integer-variabelen kunt toewijzen.
Er zijn geen ingesloten spaties toegestaan tussen de cijfers.
En als u een waarde probeert toe te kennen groter dan 999, kunt u geen komma's gebruiken.
Probeer dus geen waarde toe te kennen naar een variabele met de
naam x met 12.000, moet je 12000 doen.
Float, nog een heel belangrijke data type, een van de basisgegevenstypen.
Dit is een variabele die kan gegevens opslaan voor
getallen met drijvende komma, wat getallen betekent die decimalen bevatten.
Dus waarden als 3.
125. 8 en negatief. 001 zijn allemaal geldige voorbeelden van gegevens die kunnen
worden toegewezen aan variabelen van het type float.
Er zijn ook drijvende puntconstanten in c.
Dit kan worden uitgedrukt in wetenschappelijke notatie.
Dus als je er bijvoorbeeld 1 hebt. 7e4, dat is een drijvende-kommawaarde
en wordt uitgedrukt in de wetenschappelijke notatie en vertegenwoordigt
de waarde 1. 7 x 10 tot de macht van 4.
Dus dat is 17 keer 10000 dat zou 170000 zijn.
Een dubbel, zeer, zeer vergelijkbaar met de vlotter.
Het slaat decimaal op getallen, decimalen.
Het enige verschil is dat het groter is zodat u grotere aantallen kunt opslaan.
Dus dat zou betekenen dat het verzamelt meer gegevens in het geheugen.
Dus je wilt een dubbele gebruiken wanneer de vlotter niet voldoende
is, is deze te klein.
Dus zweven, ik denk dat winkels houden van zeg zeg a float slaat op afhankelijk van
je architectuur zeg a float slaat acht bytes op.
Dat betekent dat het kan opslaan
waarden van ongeveer 32000 tot een positieve 32000.
Als je hetzelfde probeert te vertegenwoordigen gegevens en geheugen met behulp van een dubbele,
kunt u dan nog hogere nummers opslaan.
Dus je wilt in principe gebruiken twee keer zoveel significante cijfers gaan lang als
miljoenen en miljoenen en biljoenen wat veel groter is
dan een vlotter.
Dus de meeste computers vertegenwoordigen een dubbele waarde met 64 bits, dat is 8 bytes.
Floats zijn meestal 4, doubles of ik zou daar kunnen spreken.
En dat betekent alleen jij meer gegevens kan opslaan.
En de manier waarop je zou
maak de variabele is je zou zeggen dubbel trefwoord voor de voordat u de variabele een naam geeft.
Alle drijvende-kommaconstanten zijn genomen als dubbele waarden door de c-compiler.
Dat is dus standaard.
Als je specifiek wilt maken iets een float, je voegt gewoon een f2 toe aan het einde
ervan wanneer je het toewijst.
Dus om expliciet een float uit te drukken constant, zet dat f daar 12. F.
Bool onderstrepen.
Dit is een gegevenstype dat kan worden gebruikt om alleen de waarden 0 en 1 op te slaan.
Deze term hoor je vaak Booleaans.
Booleaanse uitdrukking in bool, het betekent allemaal waar of onwaar.
Het is een ja of nee 0 of 1.
Het is dus aangewezen voor binaire keuzes in wezen.
En we gaan het er nog veel over hebben Booleaanse en Booleaanse uitdrukkingen als
we het hebben over beslissingsverklaringen.
Booleaanse variabelen worden gebruikt in programma's die een
Booleaanse voorwaarde moeten aangeven, een true of vals type antwoord.
Dus bijvoorbeeld een variabele this type kan worden gebruikt om
aan te geven of alle gegevens zijn uit een bestand lezen, ja of nee.
Zijn alle gegevens geweest? uit een bestand lezen?
Als het 0 is, onwaar, 1 ja, waar we het nu over zullen hebben.
Dus 0 wordt gebruikt om een false aan te geven waarde, 1 geeft een werkelijke waarde aan.
Dus ook al is het waar of valse waarden, de manier waarop
de gegevens in het geheugen worden opgeslagen is 0 of 1 als numeriek.
Maar hun cijfers betekenen dat: 0 betekent onwaar, 1 is gelijk aan waar.
Dus als je Booleans zou uitprinten, u zou de waarden 0 en 1 afgedrukt zien,
niet waar en niet waar.
Maar ze bedoelen waar of onwaar.
Ze kunnen maar 2 waarden hebben.
Dus hier is een voorbeeld met wat gegevens.
Laten we doorgaan en dit in code zetten blokken en kijk hoe we het doen.
Dus hier hebben we weer onze basis programma, en we hebben onze hoofdroutine.
We weten hoe te declareren variabelen, waarbij we het
gegevenstype moeten opgeven.
Nu weten we hoe we meer moeten declareren dan een voordat we alleen een int.
Nu kunnen we echt declareren zoiets als een vlotter.
Je gebruikt gewoon het float-trefwoord, en uw intelligentie zal u helpen.
En dan volg je de naamgeving conventies, laten we het nog maar eens Jason zeggen en dan
kunnen we er een waarde aan toekennen.
Floats bestaan uit decimalen.
Dus we kunnen zeggen 23. 22, en dat bevat een float en wij wijzen deze toe.
Dus we zijn aan het initialiseren en creëren een variabele van het type float
die de waarde 23 bevat. 33, en je merkt het de puntkomma aan het einde daar.
We kunnen hetzelfde doen voor dubbel.
We moeten gekomen zijn met een andere naam.
We zouden Jason2 kunnen zeggen.
We willen betekenisvolle namen hebben hoewel we weten dat het hier gewoon een
groter aantal zou zijn.
Dus het zou zoals zovelen zijn.
En we zouden dit ook kunnen uitdrukken met wetenschappelijke notatie als we wilden.
We zouden hier een e plus 11 kunnen zetten.
Je weet wel, maar die grote grote nummer zou niet kunnen worden opgeslagen in
de vlotter en dat is waarom zouden we een dubbel gebruiken.
We kunnen een bool maken.
En hier gewoon bool variabele meestal wil je een kameelkoffer.
En dan kunnen we hier gewoon... zeg waar, ook al staat dat er niet per se in als je print
het uit of we kunnen het op 1 zetten.
En dan wil je altijd compileer en voer uw opdracht uit.
Het bool-type heeft meestal ook: alias geweest voor andere namen, dus je hoeft niet altijd gewoon gebruik underscore
bool, hangt af van de compiler die
je gebruikt.
Dit is eigenlijk prima gecompileerd.
Er staat alleen dat ik gebruik variabelen die waarschuwingen geeft.
Onthoud dat c verschillende standaarden heeft.
De C89-standaard betekent dat u: om underscore bool te gebruiken zoals we hebben geleerd,
underscore bull met een hoofdletter b enzovoort.
Met de C99-standaard staat het toe: u om de true false-waarden
in het bool-gegevenstype te gebruiken.
Dus je hoeft niet te gebruiken onderstreping bool
en maak vervolgens een variabele my Boolean and stel het dan gelijk aan 1 of 0.
1 waar, 0 onwaar.
Dat hoef je bij C99 niet te doen.
Underscore bool is alleen in de C89-standaard.
Dus als je een C99-compiler gebruikt, kan het gegevenstype bool daadwerkelijk gebruiken.
Het enige wat je hoeft te doen is je hebt om te zeggen inclusief
en dan kun je zeggen inclusief standaard bool. H.
Dit gaat een macro hebben die stelt u in staat om een ander
gegevenstype te gebruiken, het traditionele bool-gegevenstype.
Dus als je standaard opneemt bool. h, je kunt nu zeggen
in plaats van bool te onderstrepen, je kunt zeg gewoon bool en het zal dat
herkennen als een gegevenstype.
In plaats van 1 of 0 te zeggen, kun je zeg waar of je kunt bool
zeggen, nog een Boolean en je kunt onwaar zeggen.
Dus als je het niet leuk vindt om onderstrepingstekens te gebruiken bool voor
uw gegevenstype, wat, nogmaals, niet is wat de meeste talen gebruiken,
gebruiken ze meestal gewoon iets als bool of Boolean include standard bool. h en specificeer bool en dan kun je de true en
false gebruiken trefwoorden in het gegevenstype bool.
Dus andere gegevenstypen, vraag je je misschien af jezelf de vraag goed, hey, waarom heb
ik meer gegevenstypen nodig.
Ik heb vrij veel gesproken over getallen, waarom moet ik getallen op verschillende
manieren weergeven.
Dus we hebben het er nog steeds niet over gehad karakters,
waar we het over gaan hebben, en er is wat andere nieuwe andere gegevenstypen.
Maar wat de cijfers betreft, we hebben het gehad
over getallen die decimalen of niet-decimalen zijn int verdubbelt en drijft.
En dat zou je zeggen waarschijnlijk is genoeg.
En meestal is de int voldoende.
Het enige wat je nodig hebt is een mier.
Je zult een behoorlijk wat gebruiken.
Maar c is een flexibele taal.
En als een van de voordelen is er: zijn veel andere gegevenstypen waar u
andere integer-typen kunt vertegenwoordigen.
En het geeft wat flexibiliteit naar de programmeur.
Afhankelijk van de gebruikssituatie, afhankelijk van de gegevens kan het
nog nauwkeuriger zijn.
Dit is een van de manieren waarop c nog efficiënter kan worden.
Als je bent als je hebt iets heel, heel specifieks.
U kunt een specifieke gegevenstype als onderdeel als onderdeel als een integraal of een
geheel getal en it zorgt ervoor dat het programma sneller loopt.
Dus het geeft de programmeur opties, flexibiliteit met
extra datatypes.
Gehele typen kunnen variëren in bereiken an en of negatieve getallen kunnen
worden gebruikt.
Dus sommige van de gegevenstypen die ik ga gebruiken om over
te praten in termen van gehele getallen, maar deze zijn ook van toepassing op
floats en doubles zijn enkele trefwoorden die u al aan de int kunt toewijzen, maar het is niet altijd nodig.
Dus je kunt in principe meer hebben gespecificeerde versies van ints,
meer gespecificeerde versies van floats of doubles of u kunt deze
trefwoorden alleen gebruiken.
Dus je zou bijvoorbeeld kunnen zeggen: korte int, dat is een gegevenstype.
En ik ga je vertellen wat dat is betekent of long int of unsigned
int of short double of long double.
Dit zijn allemaal aanvullende gegevens typen met deze 3 bijvoeglijke naamwoorden.
Maar u hoeft ook geen gebruik te maken van de int, float of verdubbelt ermee.
Je zou gewoon kort kunnen zeggen of je zou gewoon lang
of gewoon kunnen zeggen - en dat zal voorzien specifieke gegevens die u kunt opslaan.
Maar dit gaat allemaal over zijn nauwkeuriger en maakt
het programma efficiënter.
Nogmaals, je zult waarschijnlijk gewoon int gebruiken, verdubbelen en drijven voor het grootste deel.
Maar als je er nog een krijgt geavanceerde c, je
gaat kort, lang en niet-ondertekend gebruiken samen met de int, dubbele float.
Typ dus bijvoorbeeld kort int of gewoon kort op zichzelf, zoals ik al zei, je zou
beide kunnen gebruiken.
Het gebruikt minder opslagruimte dan een int, dus het kan ruimte besparen.
Dus als je een programma schrijft dat heeft veel geheugen nodig en het programma
moet efficiënt zijn en geen a . gebruiken veel geheugen, je kunt korte broeken maken.
Dus laat die flexibiliteit toe, het maakt uw code is efficiënter als u een short gebruikt in
plaats van een int.
Je hoeft het niet kort te gebruiken, maar het zal minder geheugen gebruiken.
En hetzelfde geldt voor lange.
Ze gebruiken meer geheugen en het zijn eigenlijk grotere gegevens.
Dus een lang uiteinde gaat meer gebruiken opslag dan een int, zodat u grotere gehele waarden
kunt opslaan of u zegt lang drijven of je kunt gewoon lang alleen zeggen en
dat zal een grotere zijn geheel getal dat u kunt opslaan.
Je vraagt je misschien af waarom geen dubbele gebruiken, want
een dubbele herinnering heeft decimalen.
Dus misschien wilt u opslaan en daarin gewoon een heel grote
int, die je lang kunt gebruiken.
Dus een type long long int een ander type of long long kan meer opslagruimte
gebruiken dan een long.
En nogmaals, het hangt allemaal af van het computerplatform dat
u in de architectuur gebruikt.
U kunt waarden toewijzen, gebruik al deze verschillende soorten.
Veel van hen hebben een andere letters die u kunt toevoegen.
Dus bijvoorbeeld hier als je... als je een lange lange constante
waarde toewijst, zet je gewoon de hoofdletter l of kleine letter l aan het einde ervan en dat
zal die waarde toewijzen als een lange long.
Hetzelfde geldt als je een deel van de korte broek doen.
U kunt ook achtervoegsels toepassen aan het einde om er zeker van
te zijn dat de compiler het expliciet weet waar je mee bezig bent.
Dus typespecificaties kunnen: ook worden toegepast op dubbels.
Zoals ik al zei, deze shorts en longs kun je zeggen long double.
En hier maken we een lange dubbel noemde ons tekort 2017.
Dat kan voor de lange dubbels.
U kunt de hoofdletter L gebruiken, als Ik noemde of kleine letters l op dezelfde
manier als je zou doen met de ints.
Voor zover de andere gegevenstypen behalve kort en lang waarover we
spraken over niet-ondertekende, je kunt het voorvoegsel unsigned instellen op int, doubles of
floats, en dit wordt alleen gebruikt voor variabelen die niet-negatieve
waarden hebben.
Dus onthoud dat een int kan niet-negatieve getallen opslaan,
je zegt gewoon min.
Als je niet wilt opslaan een negatief getal, u kunt het
declareren als een niet-ondertekend int of gewoon niet ondertekend, en dat zorgt ervoor dat alles
die daaraan wordt toegekend, is positief.
Zo werkt het nu in theorie.
Sommige compilers dwingen het niet af.
Maar als u een niet-ondertekend int en je probeerde een negatief getal toe te kennen,
zou de compiler moeten klagen.
Dus ongesigneerde ontmoeting bijvoorbeeld.
En nogmaals, hierdoor kan de werkelijke de energievariabele moet worden uitgebreid om alleen positieve
waarden toe te staan.
Dus het maakt je programma meer efficiënt door al deze verschillende
gegevenstypen te gebruiken, deze meer gespecificeerde datatypes hiervoor.
Ook zijn er de ondertekende gegevens type dat kan
worden toegepast op ints, floats en doubles of korte broek gesigneerd, korte gesigneerd int.
Het kan worden gebruikt met elk van de typen om de bedoeling duidelijker te maken.
Gesigneerde korte broek int, korte broeken, ze zijn allemaal hetzelfde.
Ondertekend betekent dat het kan negatief en positief zijn.
Dit zijn dus slechts de basisgegevens soorten waar ik het over wilde hebben.
Dit zijn degenen die je gaat om de meeste tijd te gebruiken, samen met een
paar meer waar ik het over heb over in de volgende lezing.
Je hoeft meestal niet te krijgen in het gebruik van
shorts en unsigns en longs, tenzij je meer bent vooruit en u probeert uw
programma efficiënter te maken.
Maar al deze gegevenstypen, ze zijn... gegeven vlak voor de naam van de variabele
wanneer u de variabele declareert.
En als u er dan gegevens aan toewijst variabelen van deze verschillende typen,
kunt u achtervoegsels gebruiken zoals hoofdletter l of kleine letter l om een expliciete bedoeling te hebben.
Dank u.