1 00:00:00,000 --> 00:00:02,420 >> [Muziek] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 SPEAKER: Oké. 4 00:00:05,980 --> 00:00:08,540 Dus laten we praten over een ander ding dat is een soort van unieke naar C, 5 00:00:08,540 --> 00:00:10,010 die gegevenstypen en variabelen. 6 00:00:10,010 --> 00:00:12,340 Als ik zeg dat uniek is voor C, ik werkelijk alleen maar betekenen in de context van, 7 00:00:12,340 --> 00:00:14,470 als je een programmeur bent geweest voor een hele lange tijd, 8 00:00:14,470 --> 00:00:16,270 U hebt waarschijnlijk niet gewerkt met data types 9 00:00:16,270 --> 00:00:18,470 als je moderne hebt gebruikt programmeertalen. 10 00:00:18,470 --> 00:00:20,432 Moderne talen zoals PHP en JavaScript, 11 00:00:20,432 --> 00:00:22,640 die we ook zullen zien een beetje later in de cursus, 12 00:00:22,640 --> 00:00:25,550 je eigenlijk niet hoeft te specificeren het datatype van een variabele 13 00:00:25,550 --> 00:00:26,270 wanneer je het gebruikt. 14 00:00:26,270 --> 00:00:28,067 >> Verklaart u het gewoon en gaan gebruiken. 15 00:00:28,067 --> 00:00:29,900 Als het een integer, dan weet dat het een integer. 16 00:00:29,900 --> 00:00:31,960 Als het een karakter is het weet dat het een teken. 17 00:00:31,960 --> 00:00:35,320 Als het een woord, het weet Het is een string, zogenaamde. 18 00:00:35,320 --> 00:00:37,300 >> Maar in C, wat een oudere taal, moeten we 19 00:00:37,300 --> 00:00:39,420 om de gegevens te specificeren soort van elke variabele 20 00:00:39,420 --> 00:00:42,990 die we creëren de eerste keer dat we die variabele. 21 00:00:42,990 --> 00:00:45,030 Dus C wordt geleverd met een aantal ingebouwde gegevenstypen. 22 00:00:45,030 --> 00:00:46,972 En laten we bekend enkele van deze. 23 00:00:46,972 --> 00:00:50,180 En dan daarna gaan we ook praten beetje over sommige van de data types 24 00:00:50,180 --> 00:00:54,450 die we hebben geschreven voor u, zodat u ze kunt gebruiken in CS50. 25 00:00:54,450 --> 00:00:56,130 >> De eerste is int. 26 00:00:56,130 --> 00:00:59,110 Het type int gegevens worden gebruikt voor variabelen die integer waarden opslaan. 27 00:00:59,110 --> 00:01:03,210 Dus 1, 2, 3, negatief 1, 2, 3, enzovoort. 28 00:01:03,210 --> 00:01:05,960 Getallen, dat is iets wat je moeten in gedachten houden voor de quiz, 29 00:01:05,960 --> 00:01:09,590 neem altijd vier bytes geheugen, dat is 32 bits. 30 00:01:09,590 --> 00:01:11,620 Er zijn acht bits een byte. 31 00:01:11,620 --> 00:01:14,470 >> Dus dit betekent dat het bereik van Waarden die een integer kan opslaan 32 00:01:14,470 --> 00:01:19,130 wordt beperkt door wat binnen kan passen 32-bits waarde van informatie. 33 00:01:19,130 --> 00:01:21,850 Nu zo blijkt, Het was lang geleden besloten 34 00:01:21,850 --> 00:01:24,310 dat we zouden verdelen die variëren van 32-bits 35 00:01:24,310 --> 00:01:26,650 in negatieve getallen en positieve gehele getallen, 36 00:01:26,650 --> 00:01:28,390 elk krijgt de helft van het assortiment. 37 00:01:28,390 --> 00:01:32,230 Zodat het bereik van de waarden die wij vertegenwoordigen met een integer bereik van negatieve 2 38 00:01:32,230 --> 00:01:36,520 het 31 vermogen om 2 tot de 31ste macht minus 1, 39 00:01:36,520 --> 00:01:38,190 ertoe leiden dat u ook behoefte aan een plek voor 0. 40 00:01:38,190 --> 00:01:41,650 >> Dus in principe de helft van de mogelijke waarden U kunt passen in een int zijn negatief, 41 00:01:41,650 --> 00:01:42,610 en de helft van zijn positief. 42 00:01:42,610 --> 00:01:47,270 En ongeveer hier, dit is ongeveer negatief 2 miljard tot ongeveer positief 2 miljard. 43 00:01:47,270 --> 00:01:50,207 Geven of nemen een paar honderd miljoen. 44 00:01:50,207 --> 00:01:52,290 Dus dat is wat je kan passen een integer variabele. 45 00:01:52,290 --> 00:01:55,490 Nu hebben we ook iets riep een unsigned integer. 46 00:01:55,490 --> 00:01:59,220 Nu unsigned ints zijn niet apart type variabele. 47 00:01:59,220 --> 00:02:01,590 Integendeel, is unsigned wat heet een qualifier. 48 00:02:01,590 --> 00:02:04,990 Het wijzigt de gegevens type integer iets. 49 00:02:04,990 --> 00:02:07,850 >> En in dit geval, wat unsigned means-- en kunt u ook 50 00:02:07,850 --> 00:02:11,530 Gebruik unsigned andere soorten data, integer is niet de enige. 51 00:02:11,530 --> 00:02:15,310 Wat het daadwerkelijk doet is dubbelspel het positieve bereik van de waarden 52 00:02:15,310 --> 00:02:19,350 die een geheel getal kan aannemen op koste van niet meer toestaan 53 00:02:19,350 --> 00:02:21,140 u op negatieve waarden over te nemen. 54 00:02:21,140 --> 00:02:25,400 Dus als je nummers die je kent hoger zal zijn dan 2 miljard, maar minder krijgen 55 00:02:25,400 --> 00:02:31,280 dan 4 miljard, voor example-- die 2 de 32 power-- 56 00:02:31,280 --> 00:02:33,330 je zou willen gebruiken een unsigned int als je 57 00:02:33,330 --> 00:02:35,050 weet je waarde zal nooit negatief zijn. 58 00:02:35,050 --> 00:02:37,216 >> Je zult af en toe voor unsigned variabelen 59 00:02:37,216 --> 00:02:39,460 in CS50, dat is de reden waarom ik noem het hier. 60 00:02:39,460 --> 00:02:43,830 Maar nogmaals, het waardebereik u kan vertegenwoordigen met een unsigned integer 61 00:02:43,830 --> 00:02:48,240 als regelmatig integer t, zijn 0 2 tot de macht 32 min 1, 62 00:02:48,240 --> 00:02:50,840 of ongeveer 0 naar 4 miljard. 63 00:02:50,840 --> 00:02:53,730 Dus je hebt effectief verdubbelde de positieve bereik dat u past, 64 00:02:53,730 --> 00:02:56,270 maar je hebt alles opgegeven de negatieve waarden. 65 00:02:56,270 --> 00:03:00,040 >> Nu als een terzijde, unsigned is niet de enige kwalificatie 66 00:03:00,040 --> 00:03:01,790 opdat wij zouden zien variabele data types. 67 00:03:01,790 --> 00:03:05,779 Er zijn ook dingen genoemd korte en lange en Const. 68 00:03:05,779 --> 00:03:07,820 Const zien we wel een beetje Wat later in de cursus. 69 00:03:07,820 --> 00:03:10,830 Korte en lange, zullen we waarschijnlijk niet. 70 00:03:10,830 --> 00:03:12,830 >> Maar weet gewoon dat er zijn andere qualifiers. 71 00:03:12,830 --> 00:03:14,080 Unsigned is niet de enige. 72 00:03:14,080 --> 00:03:16,596 Maar het is de enige die we zijn gaan praten over nu. 73 00:03:16,596 --> 00:03:17,310 Dus alles goed. 74 00:03:17,310 --> 00:03:18,393 Dus we hebben bedekt getallen. 75 00:03:18,393 --> 00:03:19,200 Wat is het volgende? 76 00:03:19,200 --> 00:03:20,130 >> Chars. 77 00:03:20,130 --> 00:03:23,620 Dus tekens worden gebruikt voor variabelen dat zal enkele personages slaan. 78 00:03:23,620 --> 00:03:24,850 Char is de afkorting van karakter. 79 00:03:24,850 --> 00:03:27,870 En soms moet je kunnen horen mensen spreken het als auto. 80 00:03:27,870 --> 00:03:32,020 >> Dus tekens nemen een steeds byte van het geheugen, dat is slechts 8 bits. 81 00:03:32,020 --> 00:03:35,700 Dus dit betekent dat ze alleen kunnen passen waarden in de reeks van negatieve 2 82 00:03:35,700 --> 00:03:42,430 tot de zevende macht, of negatief 128, 2 tot de macht 7 min 1 of 127. 83 00:03:42,430 --> 00:03:45,710 >> Dankzij ASCII, was lang geleden besloot een manier 84 00:03:45,710 --> 00:03:50,805 om die positieve getallen kaart van 0 tot 127 verschillende karakters 85 00:03:50,805 --> 00:03:52,182 die al bestaan ​​op onze toetsenbord. 86 00:03:52,182 --> 00:03:54,640 Zo zullen we later in te zien de cursus, en je zult waarschijnlijk 87 00:03:54,640 --> 00:03:57,700 komen te onthouden op een bepaald punt, hoofdletter A, voor example-- 88 00:03:57,700 --> 00:04:00,732 het karakter hoofdstad A-- kaarten om het nummer 65. 89 00:04:00,732 --> 00:04:02,940 De reden daarvoor is want dat is wat het is 90 00:04:02,940 --> 00:04:05,490 toegewezen door de ASCII standaard. 91 00:04:05,490 --> 00:04:07,850 >> Kleine letters A 97. 92 00:04:07,850 --> 00:04:11,900 Het karakter 0 voor als je eigenlijk typ het karakter, niet 93 00:04:11,900 --> 00:04:13,532 vertegenwoordigt het getal nul, is 48. 94 00:04:13,532 --> 00:04:15,240 Je hebt een paar leren van deze als je gaat. 95 00:04:15,240 --> 00:04:17,990 En zult u zeker komen naar behoefte ze een beetje later in CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> De volgende belangrijke data type is floating point getallen. 98 00:04:23,390 --> 00:04:26,100 Dus floating point getallen zijn ook bekend als reële getallen. 99 00:04:26,100 --> 00:04:28,850 Ze zijn in principe nummers die een komma in hen. 100 00:04:28,850 --> 00:04:33,360 Floating point waarden zoals integers zijn ook 101 00:04:33,360 --> 00:04:36,090 vervat in 4 bytes geheugen. 102 00:04:36,090 --> 00:04:37,580 Nu is er geen grafiek hier. 103 00:04:37,580 --> 00:04:40,890 Er is geen nummer lijn, omdat beschrijft het bereik van een vlotter 104 00:04:40,890 --> 00:04:44,550 is niet precies duidelijk of intuïtief. 105 00:04:44,550 --> 00:04:47,350 >> Het volstaat om je zegt hebben 32 bits werken. 106 00:04:47,350 --> 00:04:49,730 En als je een nummer zoals pi, die heeft 107 00:04:49,730 --> 00:04:55,510 een integer deel 3, en een drijvende punt deel of decimale deel 0,14159, 108 00:04:55,510 --> 00:04:58,735 en ga zo maar door, moet je in staat om alle het-- vertegenwoordigen 109 00:04:58,735 --> 00:05:02,420 het gehele deel en de decimale gedeelte. 110 00:05:02,420 --> 00:05:04,550 >> Dus wat denk je dat zou kunnen betekenen? 111 00:05:04,550 --> 00:05:08,180 Een is dat als de decimale deel krijgt langer en langer, 112 00:05:08,180 --> 00:05:10,660 als ik een zeer groot integer deel, zou ik niet 113 00:05:10,660 --> 00:05:13,090 kunnen zo precies te zijn met het decimale gedeelte. 114 00:05:13,090 --> 00:05:15,280 En dat is echt de beperking van een vlotter. 115 00:05:15,280 --> 00:05:17,229 >> Praalwagens hebben een precisie probleem. 116 00:05:17,229 --> 00:05:19,270 We hebben slechts 32 bits mee te werken, zodat we kunnen alleen 117 00:05:19,270 --> 00:05:22,510 zo precies met onze decimale gedeelte. 118 00:05:22,510 --> 00:05:27,300 We kunnen niet noodzakelijk een decimaal deel nauwkeurig tot 100 of 200 cijfers, 119 00:05:27,300 --> 00:05:29,710 want we hebben maar 32 bits werken. 120 00:05:29,710 --> 00:05:31,590 Dus dat is een beperking van een vlotter. 121 00:05:31,590 --> 00:05:33,590 >> Nu gelukkig is er ander datatype genaamd 122 00:05:33,590 --> 00:05:36,530 dubbel, die enigszins behandelt dit probleem. 123 00:05:36,530 --> 00:05:39,980 Dubbel, zoals drijvers, worden ook gebruikt om slaan reële getallen of floating point 124 00:05:39,980 --> 00:05:40,840 waarden. 125 00:05:40,840 --> 00:05:44,340 Het verschil is dat tweepersoonskamers zijn dubbele precisie. 126 00:05:44,340 --> 00:05:48,177 Zij kunnen passen 64 bits data, of acht bytes. 127 00:05:48,177 --> 00:05:49,010 Wat betekent dat? 128 00:05:49,010 --> 00:05:51,801 Nou, het betekent dat we veel meer nauwkeurig met de komma. 129 00:05:51,801 --> 00:05:54,830 In plaats van zeven pi plaatsen misschien, met een vlotter, 130 00:05:54,830 --> 00:05:56,710 kunnen we het misschien hebben tot 30 plaatsen. 131 00:05:56,710 --> 00:05:59,824 Als dat belangrijk is, wilt u misschien een dubbel gebruiken in plaats van een vlotter. 132 00:05:59,824 --> 00:06:01,740 Kortom, als je werken aan iets waar de 133 00:06:01,740 --> 00:06:06,540 het hebben van een heel lange decimaal en veel precisie belangrijk, 134 00:06:06,540 --> 00:06:08,630 wilt u waarschijnlijk gebruik maken van een dubbele overfloat. 135 00:06:08,630 --> 00:06:11,250 Nu het grootste deel van uw werk in CS50, een vlotter moeten volstaan. 136 00:06:11,250 --> 00:06:15,340 Maar weet wel dat tweepersoonskamers bestaan ​​als een manier enigszins gaan met de precisie 137 00:06:15,340 --> 00:06:20,980 probleem door het geven u een extra 32 bits werken voor getallen. 138 00:06:20,980 --> 00:06:23,650 >> Nu is dit niet een soort data. 139 00:06:23,650 --> 00:06:24,390 Dit is een soort. 140 00:06:24,390 --> 00:06:25,340 En het is leegte genoemd. 141 00:06:25,340 --> 00:06:27,506 En ik heb het over is hier omdat we hebben waarschijnlijk 142 00:06:27,506 --> 00:06:29,520 al een paar keer in CS50 gezien. 143 00:06:29,520 --> 00:06:32,020 En u vraagt ​​zich misschien af waar het allemaal over gaat. 144 00:06:32,020 --> 00:06:33,390 >> Dus nietig is een type. 145 00:06:33,390 --> 00:06:34,097 Het bestaat. 146 00:06:34,097 --> 00:06:35,180 Maar het is niet een soort van gegevens. 147 00:06:35,180 --> 00:06:39,350 >> We kunnen een variabele van het type niet te creëren ongeldig maken en toewijzen van een waarde aan. 148 00:06:39,350 --> 00:06:42,519 Maar functies, bijvoorbeeld, kan een soort leegte return hebben. 149 00:06:42,519 --> 00:06:45,060 Kortom, als je een functie te zien dat heeft een soort leegte return, 150 00:06:45,060 --> 00:06:46,970 betekent het geen waarde retourneren. 151 00:06:46,970 --> 00:06:49,440 Kun je denken aan een gemeenschappelijke functie die we tot nu toe hebben gebruikt 152 00:06:49,440 --> 00:06:52,780 in CS50 dat betekent een waarde niet terug? 153 00:06:52,780 --> 00:06:54,700 >> Printf is één. 154 00:06:54,700 --> 00:06:56,820 Printf doet eigenlijk niet alles om je terug. 155 00:06:56,820 --> 00:06:59,850 Hij drukt iets aan de scherm, en het is eigenlijk 156 00:06:59,850 --> 00:07:01,650 een neveneffect van wat printf doet. 157 00:07:01,650 --> 00:07:03,620 Maar het geeft je niet een waarde terug. 158 00:07:03,620 --> 00:07:08,419 Je hoeft niet het resultaat vast te leggen en op te slaan het in een variabele om het later te gebruiken. 159 00:07:08,419 --> 00:07:10,710 Hij drukt gewoon iets aan het scherm en je bent klaar. 160 00:07:10,710 --> 00:07:14,360 >> Dus we zeggen dat printf is een leegte functie. 161 00:07:14,360 --> 00:07:16,450 Het geeft niets. 162 00:07:16,450 --> 00:07:18,580 >> De omtrek van een lijst functie kan ook ongeldig. 163 00:07:18,580 --> 00:07:21,410 En je hebt ook gezien dat wel een beetje in CS50 ook. 164 00:07:21,410 --> 00:07:22,300 Int main leegte. 165 00:07:22,300 --> 00:07:23,260 Is dat een belletje rinkelen? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Eigenlijk wat dat betekent is dat main geen parameters nemen. 168 00:07:27,220 --> 00:07:29,520 Er is geen argument dat krijgen doorgegeven in de belangrijkste. 169 00:07:29,520 --> 00:07:32,780 Nu later zullen we zien dat er sprake is een manier om argumenten door te geven in de belangrijkste, 170 00:07:32,780 --> 00:07:36,189 maar tot nu toe wat we hebben gezien is int main nietig. 171 00:07:36,189 --> 00:07:37,730 Hoofd gewoon geen argumenten nemen. 172 00:07:37,730 --> 00:07:40,236 En dus hebben we aangeven dat door te zeggen leegte. 173 00:07:40,236 --> 00:07:42,110 We zijn gewoon erg expliciet over het feit 174 00:07:42,110 --> 00:07:44,430 dat het geen argumenten neemt. 175 00:07:44,430 --> 00:07:47,160 >> Dus voor nu, volstaat het om zeggen dat de leegte in principe 176 00:07:47,160 --> 00:07:50,789 moet gewoon dienen als een placeholder voor u zo denken als niets. 177 00:07:50,789 --> 00:07:52,080 Het is niet echt iets te doen. 178 00:07:52,080 --> 00:07:53,550 Er is geen return waarde hier. 179 00:07:53,550 --> 00:07:54,770 Er is geen parameters hier. 180 00:07:54,770 --> 00:07:55,709 Het is leegte. 181 00:07:55,709 --> 00:07:57,250 Het is een beetje ingewikkelder dan dat. 182 00:07:57,250 --> 00:08:00,640 Maar dit moeten volstaan ​​voor het grootste deel van de cursus. 183 00:08:00,640 --> 00:08:05,010 En hopelijk nu heb je een beetje hebt beetje meer van een concept van wat leegte is. 184 00:08:05,010 --> 00:08:08,460 >> Dus dat zijn de vijf soorten u zult ontmoeting die zijn ingebouwd in C. 185 00:08:08,460 --> 00:08:10,670 Maar in CS50 hebben we ook een bibliotheek. 186 00:08:10,670 --> 00:08:13,550 CS50.h, die u kunt nemen. 187 00:08:13,550 --> 00:08:15,930 En dat zal u met twee extra types 188 00:08:15,930 --> 00:08:18,280 dat je waarschijnlijk zult kunnen te gebruiken op uw opdrachten, 189 00:08:18,280 --> 00:08:21,210 of gewoon aan het werk in het algemeen programmeren. 190 00:08:21,210 --> 00:08:23,030 >> De eerste is bool. 191 00:08:23,030 --> 00:08:26,780 Dus de Boolean data type, bool wordt gebruikt voor variabelen 192 00:08:26,780 --> 00:08:28,114 die een Booleaanse waarde op te slaan. 193 00:08:28,114 --> 00:08:29,863 Als je ooit hebt gehoord deze term voor u 194 00:08:29,863 --> 00:08:31,960 zouden weten, dat een Booleaanse waarde kan slechts 195 00:08:31,960 --> 00:08:34,440 die twee verschillende verschillende waarden. 196 00:08:34,440 --> 00:08:35,872 Waar en onwaar. 197 00:08:35,872 --> 00:08:37,580 Nu lijkt dit vrij fundamenteel, toch? 198 00:08:37,580 --> 00:08:40,496 Het is een beetje een verrassing dat dit bestaat niet in C zoals het is ingebouwd. 199 00:08:40,496 --> 00:08:42,640 En in veel moderne talen, Natuurlijk Booleans 200 00:08:42,640 --> 00:08:45,390 zijn een standaard type standaard data. 201 00:08:45,390 --> 00:08:47,192 Maar in C, ze zijn eigenlijk niet. 202 00:08:47,192 --> 00:08:48,400 Maar we hebben het voor u gemaakt. 203 00:08:48,400 --> 00:08:51,910 Dus als je ooit nodig hebt om te creëren een variabele waarvan het type is Bool, 204 00:08:51,910 --> 00:08:55,230 gewoon zeker #include CS50.h aan het begin van je programma, 205 00:08:55,230 --> 00:08:57,800 en je zult in staat zijn om te creëren variabelen van het type Bool. 206 00:08:57,800 --> 00:09:02,095 >> Als u vergeet om #include CS50.h en je begint met Boolean-type variabelen, 207 00:09:02,095 --> 00:09:04,970 je zou een aantal problemen tegenkomen als je het samenstellen van uw programma. 208 00:09:04,970 --> 00:09:06,490 Dus gewoon op de uitkijk voor. 209 00:09:06,490 --> 00:09:11,180 En misschien kun je gewoon vaststellen van de problemen door pond inclusief CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> De andere belangrijke data type dat we voor u in de CS50 bibliotheek 211 00:09:14,590 --> 00:09:15,670 is string. 212 00:09:15,670 --> 00:09:17,130 Dus wat is een string? 213 00:09:17,130 --> 00:09:18,520 Strings zijn eigenlijk alleen maar woorden. 214 00:09:18,520 --> 00:09:20,000 Ze zijn verzamelingen van karakters. 215 00:09:20,000 --> 00:09:20,640 Ze zijn woorden. 216 00:09:20,640 --> 00:09:21,390 Ze zijn zinnen. 217 00:09:21,390 --> 00:09:22,480 Ze zijn paragrafen. 218 00:09:22,480 --> 00:09:25,850 Misschien hele boeken, zelfs. 219 00:09:25,850 --> 00:09:29,690 >> Zeer korte tot zeer lange tekenreeks. 220 00:09:29,690 --> 00:09:34,310 Als u strings gebruiken, bijvoorbeeld een woord opslaan 221 00:09:34,310 --> 00:09:37,609 gewoon zeker te CS50.h omvatten aan het begin van het programma 222 00:09:37,609 --> 00:09:38,900 dus je kunt het type string. 223 00:09:38,900 --> 00:09:43,910 En dan kun je variabelen waarvan het type data is string. 224 00:09:43,910 --> 00:09:46,160 Nu later in de cursus, zullen we ook zien dat dat is 225 00:09:46,160 --> 00:09:47,752 niet het hele verhaal niet. 226 00:09:47,752 --> 00:09:49,460 We zullen dingen tegenkomen genoemd structuren, 227 00:09:49,460 --> 00:09:54,249 die u toelaten om de groep wat er kan zijn een integer en een string in één eenheid. 228 00:09:54,249 --> 00:09:56,290 En we kunnen gebruiken voor een doel, dat zou kunnen 229 00:09:56,290 --> 00:09:57,750 pas komen later in de cursus. 230 00:09:57,750 --> 00:09:59,500 >> En we zullen ook leren over bepaalde soorten, 231 00:09:59,500 --> 00:10:01,720 waarmee u te maken je eigen data types. 232 00:10:01,720 --> 00:10:03,060 We hebben geen zorgen te maken over dat voor nu. 233 00:10:03,060 --> 00:10:04,550 Maar weet dat dat iets aan de horizon, 234 00:10:04,550 --> 00:10:07,633 dat er veel meer aan deze hele soort dingen dan ik zeg je gewoon 235 00:10:07,633 --> 00:10:08,133 nu. 236 00:10:08,133 --> 00:10:10,591 Dus nu dat we hebben geleerd beetje over de basisgegevens 237 00:10:10,591 --> 00:10:14,230 soorten en de CS50 data types, laten we praten over hoe te werken met variabelen 238 00:10:14,230 --> 00:10:18,530 en ze maken gebruik van deze types data in onze programma's. 239 00:10:18,530 --> 00:10:22,670 Als u een variabele wilt maken, alles wat je hoeft te doen is twee dingen. 240 00:10:22,670 --> 00:10:24,147 >> Eerst moet je om het een type. 241 00:10:24,147 --> 00:10:26,230 Het tweede wat je nodig hebt te doen is geef het een naam. 242 00:10:26,230 --> 00:10:28,740 Zodra je dat gedaan hebt en sloeg een puntkomma aan het einde vormt, 243 00:10:28,740 --> 00:10:29,830 u een variabele hebt gemaakt. 244 00:10:29,830 --> 00:10:32,370 >> Dus hier zijn twee voorbeelden. 245 00:10:32,370 --> 00:10:35,744 Int nummer; char letter ;. 246 00:10:35,744 --> 00:10:36,660 Wat heb ik hier gedaan? 247 00:10:36,660 --> 00:10:38,110 Ik heb twee variabelen gecreëerd. 248 00:10:38,110 --> 00:10:40,190 >> De eerste, de variabele naam is nummer. 249 00:10:40,190 --> 00:10:44,830 En nummer kan voor integer Typ waarden, omdat het type int. 250 00:10:44,830 --> 00:10:48,040 Brief is een andere variabele die kunnen tekens vasthouden 251 00:10:48,040 --> 00:10:50,240 omdat de data type is char. 252 00:10:50,240 --> 00:10:51,772 >> Vrij eenvoudig, toch? 253 00:10:51,772 --> 00:10:53,480 Als je jezelf in een situatie waarin 254 00:10:53,480 --> 00:10:56,250 u meerdere creëren variabelen van hetzelfde type, 255 00:10:56,250 --> 00:10:58,740 je hoeft alleen maar aan te geven de typenaam keer. 256 00:10:58,740 --> 00:11:01,600 Dan gewoon een lijst van zoveel variabelen van dat type als u nodig heeft. 257 00:11:01,600 --> 00:11:04,230 >> Zo kon ik bijvoorbeeld hier In deze derde regel code, 258 00:11:04,230 --> 00:11:07,420 zeggen int hoogte ;, nieuwe regel. 259 00:11:07,420 --> 00:11:08,291 Int breedte ;. 260 00:11:08,291 --> 00:11:09,290 En dat zou ook werken. 261 00:11:09,290 --> 00:11:12,039 Ik zou nog steeds krijg twee variabelen genoemd hoogte en breedte, die elk 262 00:11:12,039 --> 00:11:12,730 een geheel getal. 263 00:11:12,730 --> 00:11:16,970 Maar ik mag, dingen C syntax, consolideren in een enkele lijn. 264 00:11:16,970 --> 00:11:20,230 Int hoogte, breedte; Het is hetzelfde. 265 00:11:20,230 --> 00:11:23,900 Ik heb twee variabelen, een zogenaamde gecreëerd hoogte een zogenaamde breedte, beide 266 00:11:23,900 --> 00:11:26,730 in staat zijn van het bedrijf integer soort waarden. 267 00:11:26,730 --> 00:11:30,920 >> Op dezelfde manier, kan ik drie creëren floating point waarden in een keer. 268 00:11:30,920 --> 00:11:33,350 Ik kan misschien het creëren van een variabele genaamd vierkantswortel van 2-- 269 00:11:33,350 --> 00:11:35,766 die vermoedelijk zal uiteindelijk Houd de drijvende point-- 270 00:11:35,766 --> 00:11:39,222 dat de vertegenwoordiging van het plein wortel van 2-- vierkantswortel van 3 en pi. 271 00:11:39,222 --> 00:11:41,180 Ik zou dit hebben gedaan op drie verschillende lijnen. 272 00:11:41,180 --> 00:11:47,690 Vlotter, vierkantswortel 2; Zweven vierkantswortel 3; drijven pi; en dat zou te werken. 273 00:11:47,690 --> 00:11:50,590 >> Maar nogmaals, ik kan alleen maar te consolideren dit in een enkele regel code. 274 00:11:50,590 --> 00:11:54,050 Maakt de dingen een beetje kortere, niet zo onhandig. 275 00:11:54,050 --> 00:11:57,259 >> Nu in het algemeen, het is een goed ontwerp om alleen verklaren een variabele wanneer u het nodig hebt. 276 00:11:57,259 --> 00:11:59,050 En we zullen een beetje praten wat meer over dat 277 00:11:59,050 --> 00:12:00,945 later in de cursus wanneer we bespreken omvang. 278 00:12:00,945 --> 00:12:03,320 Dus niet per se nodig om maken van al uw variabelen 279 00:12:03,320 --> 00:12:05,990 aan het begin van het programma, dat sommige mensen kunnen het verleden hebben gedaan, 280 00:12:05,990 --> 00:12:08,700 of was zeker een veel voorkomende codering praktijk vele jaren geleden 281 00:12:08,700 --> 00:12:11,700 bij het werken met C. Je zou net wil een variabele gelijk toen creëren 282 00:12:11,700 --> 00:12:13,140 je hebt het nodig. 283 00:12:13,140 --> 00:12:13,640 Prima. 284 00:12:13,640 --> 00:12:15,150 Dus we hebben gemaakt variabelen. 285 00:12:15,150 --> 00:12:16,790 Hoe kunnen we ze gebruiken? 286 00:12:16,790 --> 00:12:18,650 Nadat we verklaren een variabele, hebben we niet nodig 287 00:12:18,650 --> 00:12:21,237 om het type gegevens opgeven van die variabele meer. 288 00:12:21,237 --> 00:12:24,070 In feite, als u dat doet, zou je eindigen met een aantal rare gevolgen 289 00:12:24,070 --> 00:12:25,490 dat we soort glans over voor nu. 290 00:12:25,490 --> 00:12:27,365 Maar het volstaat om te zeggen, rare dingen gaan 291 00:12:27,365 --> 00:12:30,740 om te beginnen met het gebeuren als je per ongeluk opnieuw te verklaren variabelen met dezelfde naam 292 00:12:30,740 --> 00:12:32,210 opnieuw en opnieuw. 293 00:12:32,210 --> 00:12:33,882 >> Dus hier Ik heb vier regels code. 294 00:12:33,882 --> 00:12:36,090 En ik heb een paar Commentaren er gewoon aangeeft 295 00:12:36,090 --> 00:12:37,840 wat er gebeurt op elke lijn alleen maar om te helpen 296 00:12:37,840 --> 00:12:40,520 je krijgt gelegen in wat er gaande is. 297 00:12:40,520 --> 00:12:41,520 Zo int nummer ;. 298 00:12:41,520 --> 00:12:42,520 Je zag die eerder. 299 00:12:42,520 --> 00:12:44,000 Dat is een variabele verklaring. 300 00:12:44,000 --> 00:12:46,670 >> Ik heb nu gemaakt van een variabele opgeroepen nummer dat is 301 00:12:46,670 --> 00:12:48,970 kunnen houden integer-type waarden. 302 00:12:48,970 --> 00:12:50,210 Ik heb verklaard. 303 00:12:50,210 --> 00:12:53,770 >> De volgende regel ik het toewijzen een waarde naar nummer. 304 00:12:53,770 --> 00:12:54,992 Nummer 17 is gelijk. 305 00:12:54,992 --> 00:12:55,950 Wat gebeurt er? 306 00:12:55,950 --> 00:12:58,880 Ik zet het nummer 17 binnenzijde van die variabele. 307 00:12:58,880 --> 00:13:02,760 >> Dus als ik ooit vervolgens uitprinten wat de inhoud van getal zijn later 308 00:13:02,760 --> 00:13:04,030 ze me vertellen dat het 17. 309 00:13:04,030 --> 00:13:07,030 Dus ik heb een variabele gedeclareerd, en dan heb ik het toegewezen. 310 00:13:07,030 --> 00:13:10,570 >> We kunnen het proces herhalen opnieuw met char letter ;. 311 00:13:10,570 --> 00:13:11,640 Dat is een verklaring. 312 00:13:11,640 --> 00:13:14,010 Letter gelijk hoofdstad H. Dat is een opdracht. 313 00:13:14,010 --> 00:13:16,030 Vrij eenvoudig, ook. 314 00:13:16,030 --> 00:13:18,319 >> Nu dit proces zou lijkt soort dom. 315 00:13:18,319 --> 00:13:20,110 Waarom doen we dit in twee lijnen van de code? 316 00:13:20,110 --> 00:13:21,401 Is er een betere manier om het te doen? 317 00:13:21,401 --> 00:13:22,250 In feite is er. 318 00:13:22,250 --> 00:13:24,375 Soms heb je zou kunnen zien dit heet initialisatie. 319 00:13:24,375 --> 00:13:28,446 Het is wanneer je een variabele declareert en wijst een waarde tegelijk. 320 00:13:28,446 --> 00:13:30,320 Dit is eigenlijk een vrij gemeenschappelijk ding te doen. 321 00:13:30,320 --> 00:13:32,870 Wanneer u een variabele, je meestal te maken wil dat het aantal fundamentele waarde. 322 00:13:32,870 --> 00:13:34,330 Zelfs als het 0 of zoiets. 323 00:13:34,330 --> 00:13:36,180 Je gewoon je het een waarde. 324 00:13:36,180 --> 00:13:38,360 >> U kunt een variabele initialiseren. 325 00:13:38,360 --> 00:13:42,320 Int getal gelijk 17 is gelijk aan de eerste twee regels code boven. 326 00:13:42,320 --> 00:13:46,829 Char letter h gelijk is gelijk aan de derde en vierde regels code hierboven. 327 00:13:46,829 --> 00:13:49,620 De belangrijkste afhaalrestaurant hier als we verklaren en het toewijzen 328 00:13:49,620 --> 00:13:51,740 variabelen is nadat we verklaarde het, bericht 329 00:13:51,740 --> 00:13:53,700 Ik ben niet meer met behulp van de data type. 330 00:13:53,700 --> 00:13:57,916 Ik zeg niet dat int aantal is gelijk aan 17 op de tweede regel van de code, bijvoorbeeld. 331 00:13:57,916 --> 00:13:59,290 Ik zeg alleen maar dat aantal is gelijk aan 17. 332 00:13:59,290 --> 00:14:02,537 >> Nogmaals, opnieuw waarbij een variabele na je hebt al verklaard het kan leiden 333 00:14:02,537 --> 00:14:03,620 wat raar gevolg. 334 00:14:03,620 --> 00:14:05,950 Dus wees voorzichtig met dat. 335 00:14:05,950 --> 00:14:06,660 >> Ik ben Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 En dit is CS50. 337 00:14:08,870 --> 00:14:10,499