1 00:00:00,000 --> 00:00:02,420 >> [Musik spiller] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 SPEAKER: Okay. 4 00:00:05,980 --> 00:00:08,540 Så lad os tale om en anden ting, der er lidt unikt til C, 5 00:00:08,540 --> 00:00:10,010 som er datatyper og variabler. 6 00:00:10,010 --> 00:00:12,340 Når jeg siger unikt til C, jeg virkelig kun betyde i forbindelse med, 7 00:00:12,340 --> 00:00:14,470 hvis du har været en programmør for en virkelig lang tid, 8 00:00:14,470 --> 00:00:16,270 du har nok ikke arbejdet med datatyper 9 00:00:16,270 --> 00:00:18,470 Hvis du har brugt moderne programmeringssprog. 10 00:00:18,470 --> 00:00:20,432 Moderne sprog som PHP og JavaScript, 11 00:00:20,432 --> 00:00:22,640 som vi også vil se lidt senere i kurset, 12 00:00:22,640 --> 00:00:25,550 du behøver faktisk ikke at angive datatypen af ​​en variabel 13 00:00:25,550 --> 00:00:26,270 når du bruger den. 14 00:00:26,270 --> 00:00:28,067 >> Du skal bare erklære den og begynde at bruge det. 15 00:00:28,067 --> 00:00:29,900 Hvis det er et heltal, det ved, det er et heltal. 16 00:00:29,900 --> 00:00:31,960 Hvis det er et tegn, er det ved at det er et tegn. 17 00:00:31,960 --> 00:00:35,320 Hvis det er et ord, det kender det er en streng, såkaldte. 18 00:00:35,320 --> 00:00:37,300 >> Men i C, som er en ældre sprog, vi har brug for 19 00:00:37,300 --> 00:00:39,420 at angive de data, type hver variabel 20 00:00:39,420 --> 00:00:42,990 at vi skaber for første gang at vi bruger denne variabel. 21 00:00:42,990 --> 00:00:45,030 Så C kommer med nogle indbygget datatyper. 22 00:00:45,030 --> 00:00:46,972 Og lad os blive fortrolig med nogle af dem. 23 00:00:46,972 --> 00:00:50,180 Og så bagefter vil vi også snakke lidt om nogle af de datatyper 24 00:00:50,180 --> 00:00:54,450 at vi har skrevet til dig, så du kan bruge dem i CS50. 25 00:00:54,450 --> 00:00:56,130 >> Den første er int. 26 00:00:56,130 --> 00:00:59,110 Int datatype anvendes til variabler der vil gemme heltalsværdier. 27 00:00:59,110 --> 00:01:03,210 Så 1, 2, 3, negative 1, 2, 3 og så videre. 28 00:01:03,210 --> 00:01:05,960 Heltal, der er noget, du skal huske på, for quizzen, 29 00:01:05,960 --> 00:01:09,590 altid tage op fire bytes hukommelse, som er 32 bits. 30 00:01:09,590 --> 00:01:11,620 Der er otte bits i en byte. 31 00:01:11,620 --> 00:01:14,470 >> Så det betyder, at intervallet værdier, et heltal kan gemme 32 00:01:14,470 --> 00:01:19,130 er begrænset af, hvad der kan passe ind i 32 bits værd af oplysninger. 33 00:01:19,130 --> 00:01:21,850 Nu da det viser sig, Det var længe siden besluttede 34 00:01:21,850 --> 00:01:24,310 at vi vil opdele at intervallet 32 ​​bit 35 00:01:24,310 --> 00:01:26,650 i negative heltal og positive heltal, 36 00:01:26,650 --> 00:01:28,390 hver få halvdelen af ​​intervallet. 37 00:01:28,390 --> 00:01:32,230 Så rækken af ​​værdier, som vi repræsenterer med et heltal området fra negativ 2 38 00:01:32,230 --> 00:01:36,520 til den 31. magt til 2 til 31. magt minus 1, 39 00:01:36,520 --> 00:01:38,190 medføre, at du også har brug for en plads til 0. 40 00:01:38,190 --> 00:01:41,650 >> Så dybest set halvdelen af ​​de mulige værdier du kan passe ind i en int er negative, 41 00:01:41,650 --> 00:01:42,610 og halvdelen er positive. 42 00:01:42,610 --> 00:01:47,270 Og omtrent her, det handler om negativ 2 milliarder til omkring positiv 2 mia. 43 00:01:47,270 --> 00:01:50,207 Give eller tage et par hundrede millioner. 44 00:01:50,207 --> 00:01:52,290 Så det er, hvad du kan passe i en heltalsvariabel. 45 00:01:52,290 --> 00:01:55,490 Nu har vi også noget kaldes en heltal uden fortegn. 46 00:01:55,490 --> 00:01:59,220 Nu ints usignerede er ikke en separat type variabel. 47 00:01:59,220 --> 00:02:01,590 Snarere, usigneret er hvad der kaldes en kvalifikationskamp. 48 00:02:01,590 --> 00:02:04,990 Det ændrer dataene type heltal lidt. 49 00:02:04,990 --> 00:02:07,850 >> Og i dette tilfælde, hvad usigneret means-- og du kan også 50 00:02:07,850 --> 00:02:11,530 bruge unsigned andre datatyper, heltal er ikke den eneste. 51 00:02:11,530 --> 00:02:15,310 Hvad det effektivt gør, er double den positive værdiområde 52 00:02:15,310 --> 00:02:19,350 at et heltal kan tage på i bekostning af ikke længere at tillade 53 00:02:19,350 --> 00:02:21,140 dig til at tage på negative værdier. 54 00:02:21,140 --> 00:02:25,400 Så hvis du har numre, som du kender vil få højere end 2 milliarder, men mindre 55 00:02:25,400 --> 00:02:31,280 end 4 milliarder, for example-- der er 2 til den 32. Power-- 56 00:02:31,280 --> 00:02:33,330 du måske ønsker at bruge en unsigned int, hvis du 57 00:02:33,330 --> 00:02:35,050 kender din værdi vil aldrig være negativ. 58 00:02:35,050 --> 00:02:37,216 >> Du vil lejlighedsvis have for variabler usignerede 59 00:02:37,216 --> 00:02:39,460 i CS50, hvilket er grunden til jeg nævner det her. 60 00:02:39,460 --> 00:02:43,830 Men igen, det område af værdier, som du kan repræsentere med en usigneret heltal 61 00:02:43,830 --> 00:02:48,240 som til t regelmæssig heltal, er 0 til 2 til den 32. magt minus 1, 62 00:02:48,240 --> 00:02:50,840 eller cirka 0-4000000000. 63 00:02:50,840 --> 00:02:53,730 Så du har faktisk fordoblet positiv interval, som du kan passe, 64 00:02:53,730 --> 00:02:56,270 men du har opgivet alle De negative værdier. 65 00:02:56,270 --> 00:03:00,040 >> Nu som en sidebemærkning, usigneret er ikke den eneste kvalifikator 66 00:03:00,040 --> 00:03:01,790 at vi måske se variable datatyper. 67 00:03:01,790 --> 00:03:05,779 Der er også ting kaldet kort og lang og konst. 68 00:03:05,779 --> 00:03:07,820 Const vi vil se lidt lidt senere i løbet. 69 00:03:07,820 --> 00:03:10,830 Kort og lang, vil vi sandsynligvis ikke. 70 00:03:10,830 --> 00:03:12,830 >> Men bare vide, at der er andre kvalifikationsturneringer. 71 00:03:12,830 --> 00:03:14,080 Unsigned er ikke den eneste. 72 00:03:14,080 --> 00:03:16,596 Men det er det eneste, vi er vil tale om lige nu. 73 00:03:16,596 --> 00:03:17,310 Så okay. 74 00:03:17,310 --> 00:03:18,393 Så vi har dækket heltal. 75 00:03:18,393 --> 00:03:19,200 Hvad bliver det næste? 76 00:03:19,200 --> 00:03:20,130 >> Chars. 77 00:03:20,130 --> 00:03:23,620 Så chars anvendes til variabler som vil gemme enkelte tegn. 78 00:03:23,620 --> 00:03:24,850 Char er en forkortelse for karakter. 79 00:03:24,850 --> 00:03:27,870 Og nogle gange er du måske høre folk udtale det som bil. 80 00:03:27,870 --> 00:03:32,020 >> Så tegn altid tage op en byte hukommelse, som ligger kun 8 bit. 81 00:03:32,020 --> 00:03:35,700 Det betyder altså, at de kun kan passe værdier i området fra 2 negative 82 00:03:35,700 --> 00:03:42,430 til den syvende magt, eller negativ 128, til 2 til 7. magt minus 1, eller 127. 83 00:03:42,430 --> 00:03:45,710 >> Takket være ASCII, var det længe siden besluttede en måde 84 00:03:45,710 --> 00:03:50,805 at kortlægge de positive tal fra 0 til 127 forskellige tegn 85 00:03:50,805 --> 00:03:52,182 at alle findes på vores tastatur. 86 00:03:52,182 --> 00:03:54,640 Så som vi vil se senere i kurset, og du vil sandsynligvis 87 00:03:54,640 --> 00:03:57,700 kommer til at huske på nogle punkt, kapital A, for example-- 88 00:03:57,700 --> 00:04:00,732 tegnet kapital en-- kort til antallet 65. 89 00:04:00,732 --> 00:04:02,940 Og grunden til det er fordi det er hvad er det er 90 00:04:02,940 --> 00:04:05,490 blevet tildelt af ASCII standard. 91 00:04:05,490 --> 00:04:07,850 >> Små bogstaver A er 97. 92 00:04:07,850 --> 00:04:11,900 Tegnet 0 til når du faktisk skrive tegnet, ikke 93 00:04:11,900 --> 00:04:13,532 repræsenterer tallet nul, er 48. 94 00:04:13,532 --> 00:04:15,240 Du vil lære et par af disse som du går. 95 00:04:15,240 --> 00:04:17,990 Og du vil helt sikkert komme til at brug dem lidt senere i CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Den næste store datatype er flydende tal. 98 00:04:23,390 --> 00:04:26,100 Så flydende komma tal er også kendt som reelle tal. 99 00:04:26,100 --> 00:04:28,850 De er stort set tal, har en decimal i dem. 100 00:04:28,850 --> 00:04:33,360 Floating point-værdier Ligesom heltal er også 101 00:04:33,360 --> 00:04:36,090 indeholdt inden for 4 bytes hukommelse. 102 00:04:36,090 --> 00:04:37,580 Nu er der ingen diagram her. 103 00:04:37,580 --> 00:04:40,890 Der er ingen tal linje, fordi beskriver området af et float 104 00:04:40,890 --> 00:04:44,550 er ikke ligefrem klar eller intuitivt. 105 00:04:44,550 --> 00:04:47,350 >> Er det tilstrækkeligt at sige, at du have 32 bit til at arbejde med. 106 00:04:47,350 --> 00:04:49,730 Og hvis du har en række ligesom pi, som har 107 00:04:49,730 --> 00:04:55,510 et heltal del 3, og en flydende punkt del, eller decimal del 0,14159, 108 00:04:55,510 --> 00:04:58,735 og så videre, skal du være stand til at repræsentere alle it-- 109 00:04:58,735 --> 00:05:02,420 heltalsdelen og decimal del. 110 00:05:02,420 --> 00:05:04,550 >> Så hvad tror du, der kunne betyde? 111 00:05:04,550 --> 00:05:08,180 En ting er, at hvis decimal del bliver længere og længere, 112 00:05:08,180 --> 00:05:10,660 hvis jeg har en meget stor heltal del, jeg måske ikke 113 00:05:10,660 --> 00:05:13,090 kunne være så præcis med decimal del. 114 00:05:13,090 --> 00:05:15,280 Og det er virkelig begrænsning af en svømmer. 115 00:05:15,280 --> 00:05:17,229 >> Flydere en præcision problem. 116 00:05:17,229 --> 00:05:19,270 Vi har kun 32 bit til arbejde med, så vi kan kun 117 00:05:19,270 --> 00:05:22,510 være så præcis med vores decimal del. 118 00:05:22,510 --> 00:05:27,300 Vi kan ikke nødvendigvis have en decimal del præcis til 100 eller 200 cifre, 119 00:05:27,300 --> 00:05:29,710 fordi vi kun har 32 bit til at arbejde med. 120 00:05:29,710 --> 00:05:31,590 Så det er en begrænsning af en flyder. 121 00:05:31,590 --> 00:05:33,590 >> Nu heldigvis er der en anden datatype kaldet 122 00:05:33,590 --> 00:05:36,530 dobbelt, hvilket i nogen grad omhandler dette problem. 123 00:05:36,530 --> 00:05:39,980 Doubler, ligesom flåd, anvendes også til at gemme reelle tal eller decimaltal 124 00:05:39,980 --> 00:05:40,840 værdier. 125 00:05:40,840 --> 00:05:44,340 Forskellen er, at Double er dobbelt præcision. 126 00:05:44,340 --> 00:05:48,177 De kan passe 64 bits data, eller otte bytes. 127 00:05:48,177 --> 00:05:49,010 Hvad betyder det? 128 00:05:49,010 --> 00:05:51,801 Tja, det betyder at vi kan være meget mere præcis med kommaet. 129 00:05:51,801 --> 00:05:54,830 I stedet for at have pi til syv steder måske, med en svømmer, 130 00:05:54,830 --> 00:05:56,710 Vi kan måske få det til 30 steder. 131 00:05:56,710 --> 00:05:59,824 Hvis det er vigtigt, kan du at anvende en dobbelt i stedet for en svømmer. 132 00:05:59,824 --> 00:06:01,740 Dybest set, hvis du er arbejder på noget, hvor 133 00:06:01,740 --> 00:06:06,540 at have en virkelig lang decimal og en masse præcision er vigtigt, 134 00:06:06,540 --> 00:06:08,630 du sandsynligvis ønsker at bruge en dobbelt overfloat. 135 00:06:08,630 --> 00:06:11,250 Nu for de fleste af dit arbejde i CS50, bør en flyder tilstrækkeligt. 136 00:06:11,250 --> 00:06:15,340 Men ved, at fordobler eksistere som måde at noget beskæftige sig med præcision 137 00:06:15,340 --> 00:06:20,980 Problemet ved at give dig en ekstra 32 bits til at arbejde med for dine numre. 138 00:06:20,980 --> 00:06:23,650 >> Nu er dette ikke en datatype. 139 00:06:23,650 --> 00:06:24,390 Dette er en type. 140 00:06:24,390 --> 00:06:25,340 Og det hedder ugyldig. 141 00:06:25,340 --> 00:06:27,506 Og jeg taler om det her, fordi vi har sikkert 142 00:06:27,506 --> 00:06:29,520 set det et par gange allerede i CS50. 143 00:06:29,520 --> 00:06:32,020 Og du kan være undrende hvad det hele handler om. 144 00:06:32,020 --> 00:06:33,390 >> Så tomrum er en type. 145 00:06:33,390 --> 00:06:34,097 Den findes. 146 00:06:34,097 --> 00:06:35,180 Men det er ikke en datatype. 147 00:06:35,180 --> 00:06:39,350 >> Vi kan ikke skabe en variabel af typen ugyldig og tildele en værdi til den. 148 00:06:39,350 --> 00:06:42,519 Men funktioner, for eksempel kan have en void returtype. 149 00:06:42,519 --> 00:06:45,060 Dybest set, hvis du ser en funktion der har en void returtype, 150 00:06:45,060 --> 00:06:46,970 Det betyder at den ikke returnerer en værdi. 151 00:06:46,970 --> 00:06:49,440 Kan du tænke på en fælles funktion, som vi har brugt hidtil 152 00:06:49,440 --> 00:06:52,780 i CS50, der ikke returnerer en værdi? 153 00:06:52,780 --> 00:06:54,700 >> Printf er én. 154 00:06:54,700 --> 00:06:56,820 Printf faktisk ikke returnere noget for dig. 155 00:06:56,820 --> 00:06:59,850 Den udskriver noget til skærmen, og det er dybest set 156 00:06:59,850 --> 00:07:01,650 en bivirkning af hvad printf gør. 157 00:07:01,650 --> 00:07:03,620 Men det giver dig ikke en værdi tilbage. 158 00:07:03,620 --> 00:07:08,419 Du behøver ikke fange resultat og butik det i visse variable til at bruge det senere. 159 00:07:08,419 --> 00:07:10,710 Det bare udskriver noget til skærmen, og du er færdig. 160 00:07:10,710 --> 00:07:14,360 >> Så vi siger, at printf er et tomrum funktion. 161 00:07:14,360 --> 00:07:16,450 Den returnerer ingenting. 162 00:07:16,450 --> 00:07:18,580 >> Perimeteren liste over en Funktionen kan også være ugyldige. 163 00:07:18,580 --> 00:07:21,410 Og du har også set, at ganske lidt i CS50 også. 164 00:07:21,410 --> 00:07:22,300 Int main tomrum. 165 00:07:22,300 --> 00:07:23,260 Er der ringer en klokke? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Dybest set, hvad det betyder, er, at vigtigste tager ikke nogen parametre. 168 00:07:27,220 --> 00:07:29,520 Der er ingen argument, få bestået i main. 169 00:07:29,520 --> 00:07:32,780 Nu senere vil vi se, at der er en måde at videregive argumenter ind i main, 170 00:07:32,780 --> 00:07:36,189 men indtil videre, hvad vi har set er int main ugyldig. 171 00:07:36,189 --> 00:07:37,730 Main bare ikke tage nogen argumenter. 172 00:07:37,730 --> 00:07:40,236 Og så vi specificere, at ved at sige ugyldige. 173 00:07:40,236 --> 00:07:42,110 Vi er bare at være meget eksplicit om det faktum, 174 00:07:42,110 --> 00:07:44,430 at det ikke tager nogen argumenter. 175 00:07:44,430 --> 00:07:47,160 >> Så for nu, er det tilstrækkeligt at sige, at ugyldige grundlæggende 176 00:07:47,160 --> 00:07:50,789 skal bare fungere som en pladsholder for dig som tænker som ingenting. 177 00:07:50,789 --> 00:07:52,080 Det er ikke rigtig gøre noget. 178 00:07:52,080 --> 00:07:53,550 Der er ingen returværdien her. 179 00:07:53,550 --> 00:07:54,770 Der er ingen parametre her. 180 00:07:54,770 --> 00:07:55,709 Det er ugyldige. 181 00:07:55,709 --> 00:07:57,250 Det er lidt mere kompliceret end som så. 182 00:07:57,250 --> 00:08:00,640 Men det bør være tilstrækkeligt for den bedre del af kurset. 183 00:08:00,640 --> 00:08:05,010 Og forhåbentlig nu du har lidt lidt mere af en opfattelse af, hvad tomrum er. 184 00:08:05,010 --> 00:08:08,460 >> Så det er de fem typer, du vil møde, der er indbygget i C. 185 00:08:08,460 --> 00:08:10,670 Men i CS50 har vi også et bibliotek. 186 00:08:10,670 --> 00:08:13,550 CS50.h, som du kan medtage. 187 00:08:13,550 --> 00:08:15,930 Og som vil give dig med yderligere to typer 188 00:08:15,930 --> 00:08:18,280 at du sandsynligvis vil være i stand at bruge på dine opgaver, 189 00:08:18,280 --> 00:08:21,210 eller bare arbejder generelt programmering. 190 00:08:21,210 --> 00:08:23,030 >> Den første af disse er bool. 191 00:08:23,030 --> 00:08:26,780 Så den boolesk datatype, bool, anvendes til variabler 192 00:08:26,780 --> 00:08:28,114 der vil gemme en boolesk værdi. 193 00:08:28,114 --> 00:08:29,863 Hvis du nogensinde har hørt dette udtryk før, du 194 00:08:29,863 --> 00:08:31,960 kunne vide, at en boolesk værdien er i stand til kun 195 00:08:31,960 --> 00:08:34,440 holder to forskellige adskilte værdier. 196 00:08:34,440 --> 00:08:35,872 Sandt og falsk. 197 00:08:35,872 --> 00:08:37,580 Nu er dette synes temmelig grundlæggende, ikke? 198 00:08:37,580 --> 00:08:40,496 Det er lidt af en overraskelse, at dette findes ikke i C, som det er indbygget. 199 00:08:40,496 --> 00:08:42,640 Og i mange moderne sprog, selvfølgelig, Booleans 200 00:08:42,640 --> 00:08:45,390 er en standard standard datatype. 201 00:08:45,390 --> 00:08:47,192 Men i C, de er faktisk ikke. 202 00:08:47,192 --> 00:08:48,400 Men vi har oprettet det for dig. 203 00:08:48,400 --> 00:08:51,910 Så hvis du nogensinde har brug for at skabe en variabel, hvis type er bool, 204 00:08:51,910 --> 00:08:55,230 bare være sikker på at # include CS50.h i starten af ​​dit program, 205 00:08:55,230 --> 00:08:57,800 og du vil være i stand til at skabe variable af bool type. 206 00:08:57,800 --> 00:09:02,095 >> Hvis du glemmer at # include CS50.h, og du begynder at bruge booleske-type variabler, 207 00:09:02,095 --> 00:09:04,970 du kan støde på nogle problemer når du kompilere dit program. 208 00:09:04,970 --> 00:09:06,490 Så bare være på udkig efter det. 209 00:09:06,490 --> 00:09:11,180 Og måske du kan bare lave den problemer ved pund herunder CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> Den anden store datatype, som vi sørge for dig i CS50 biblioteket 211 00:09:14,590 --> 00:09:15,670 er streng. 212 00:09:15,670 --> 00:09:17,130 Så hvad er en streng? 213 00:09:17,130 --> 00:09:18,520 Strenge er virkelig bare ord. 214 00:09:18,520 --> 00:09:20,000 De er samlinger af tegn. 215 00:09:20,000 --> 00:09:20,640 De er ord. 216 00:09:20,640 --> 00:09:21,390 De er sætninger. 217 00:09:21,390 --> 00:09:22,480 De er stykker. 218 00:09:22,480 --> 00:09:25,850 Kan være hele bøger, selv. 219 00:09:25,850 --> 00:09:29,690 >> Meget kort til meget lang række tegn. 220 00:09:29,690 --> 00:09:34,310 Hvis du har brug for at bruge strenge, for eksempel til at gemme et ord, 221 00:09:34,310 --> 00:09:37,609 bare være sikker på at medtage CS50.h i starten af ​​dit program 222 00:09:37,609 --> 00:09:38,900 så du kan bruge strengen type. 223 00:09:38,900 --> 00:09:43,910 Og så kan du oprette variabler hvis datatype er streng. 224 00:09:43,910 --> 00:09:46,160 Nu senere i kurset, vil vi også se, at det er 225 00:09:46,160 --> 00:09:47,752 ikke hele historien, enten. 226 00:09:47,752 --> 00:09:49,460 Vi vil støde ting kaldet strukturer, 227 00:09:49,460 --> 00:09:54,249 som giver dig mulighed for at gruppere hvad der kan være et heltal og en streng i en enhed. 228 00:09:54,249 --> 00:09:56,290 Og vi kan bruge det til nogle formål, som kan 229 00:09:56,290 --> 00:09:57,750 komme i handy senere i kurset. 230 00:09:57,750 --> 00:09:59,500 >> Og vi vil også lære om nærmere bestemte typer, 231 00:09:59,500 --> 00:10:01,720 som giver dig mulighed for at oprette dine egne datatyper. 232 00:10:01,720 --> 00:10:03,060 Vi behøver ikke at bekymre sig om det for nu. 233 00:10:03,060 --> 00:10:04,550 Men bare vide, at det er noget i horisonten, 234 00:10:04,550 --> 00:10:07,633 at der er meget mere til hele denne type ting, end jeg fortæller dig bare 235 00:10:07,633 --> 00:10:08,133 nu. 236 00:10:08,133 --> 00:10:10,591 Så nu, at vi har lært en lidt om de grundlæggende data 237 00:10:10,591 --> 00:10:14,230 typer og typerne CS50 data, lad os tale om, hvordan man arbejder med variabler 238 00:10:14,230 --> 00:10:18,530 og oprette dem ved hjælp af disse datatyper i vores programmer. 239 00:10:18,530 --> 00:10:22,670 Hvis du vil oprette en variabel, alt hvad du skal gøre, er to ting. 240 00:10:22,670 --> 00:10:24,147 >> Først skal du nødt til at give det en type. 241 00:10:24,147 --> 00:10:26,230 Den anden ting du har brug for at gøre, er at give den et navn. 242 00:10:26,230 --> 00:10:28,740 Når du har gjort det, og slog en semikolon i slutningen af ​​denne linje, 243 00:10:28,740 --> 00:10:29,830 du har oprettet en variabel. 244 00:10:29,830 --> 00:10:32,370 >> Så her er to eksempler. 245 00:10:32,370 --> 00:10:35,744 Int nummer; char brev ;. 246 00:10:35,744 --> 00:10:36,660 Hvad har jeg gjort her? 247 00:10:36,660 --> 00:10:38,110 Jeg har oprettet to variable. 248 00:10:38,110 --> 00:10:40,190 >> Den første, variablens navn er nummer. 249 00:10:40,190 --> 00:10:44,830 Og antallet er i stand til at holde heltal skriv værdier, fordi dens type er int. 250 00:10:44,830 --> 00:10:48,040 Letter er en anden variabel der kan holde tegn 251 00:10:48,040 --> 00:10:50,240 fordi dens datatype er char. 252 00:10:50,240 --> 00:10:51,772 >> Temmelig ligetil, ikke? 253 00:10:51,772 --> 00:10:53,480 Hvis du finder dig selv i en situation, hvor 254 00:10:53,480 --> 00:10:56,250 skal du oprette flere variabler af samme type, 255 00:10:56,250 --> 00:10:58,740 behøver du kun at angive typen navn én gang. 256 00:10:58,740 --> 00:11:01,600 Så bare liste så mange variabler af denne type, som du har brug for. 257 00:11:01,600 --> 00:11:04,230 >> Så jeg kunne for eksempel her i denne tredje linje kode, 258 00:11:04,230 --> 00:11:07,420 siger int højde ;, ny linje. 259 00:11:07,420 --> 00:11:08,291 Int bredde ;. 260 00:11:08,291 --> 00:11:09,290 Og det ville arbejde for. 261 00:11:09,290 --> 00:11:12,039 Jeg vil stadig få to variabler kaldet højde og bredde, som hver 262 00:11:12,039 --> 00:11:12,730 er et helt tal. 263 00:11:12,730 --> 00:11:16,970 Men jeg lov til, ting til C syntaks, konsolidere den i en enkelt linje. 264 00:11:16,970 --> 00:11:20,230 Int højde, bredde; Det er det samme. 265 00:11:20,230 --> 00:11:23,900 Jeg har oprettet to variabler, en kaldet højde: en kaldet bredde, som begge 266 00:11:23,900 --> 00:11:26,730 er i stand til bedriften heltal typen værdier. 267 00:11:26,730 --> 00:11:30,920 >> Ligeledes her, kan jeg oprette tre kommeværdier på én gang. 268 00:11:30,920 --> 00:11:33,350 Jeg kan måske oprette en variabel kaldes kvadratroden af ​​2-- 269 00:11:33,350 --> 00:11:35,766 som formentlig vil i sidste ende holde den flydende point-- 270 00:11:35,766 --> 00:11:39,222 at repræsentationen af ​​pladsen roden af ​​2-- kvadratroden af ​​3, og PI. 271 00:11:39,222 --> 00:11:41,180 Jeg kunne have gjort det på tre forskellige linjer. 272 00:11:41,180 --> 00:11:47,690 Float, kvadratrod 2; Float kvadratroden 3; flyde pi; og det ville arbejde for. 273 00:11:47,690 --> 00:11:50,590 >> Men igen, jeg kan bare konsolidere dette i en enkelt linje kode. 274 00:11:50,590 --> 00:11:54,050 Gør tingene en lille smule kortere, ikke så klodset. 275 00:11:54,050 --> 00:11:57,259 >> Nu i almindelighed, det er godt design til kun erklære en variabel, når du har brug for det. 276 00:11:57,259 --> 00:11:59,050 Og vi vil tale lidt lidt mere om det 277 00:11:59,050 --> 00:12:00,945 senere i løbet når vi diskuterer rækkevidde. 278 00:12:00,945 --> 00:12:03,320 Så behøver ikke nødvendigvis at oprette alle dine variabler 279 00:12:03,320 --> 00:12:05,990 ved begyndelsen af ​​programmet, som nogle mennesker måske har gjort tidligere, 280 00:12:05,990 --> 00:12:08,700 eller var bestemt en meget almindelig kodning praksis for mange år siden 281 00:12:08,700 --> 00:12:11,700 når du arbejder med C. Du kan bare ønsker at skabe en variabel ret, når 282 00:12:11,700 --> 00:12:13,140 du har brug for det. 283 00:12:13,140 --> 00:12:13,640 Okay. 284 00:12:13,640 --> 00:12:15,150 Så vi har oprettet variabler. 285 00:12:15,150 --> 00:12:16,790 Hvordan bruger vi dem? 286 00:12:16,790 --> 00:12:18,650 Efter at vi erklære en variabel, har vi ikke brug 287 00:12:18,650 --> 00:12:21,237 at angive datatypen af denne variabel længere. 288 00:12:21,237 --> 00:12:24,070 I virkeligheden, hvis du gør det, kan du ender med nogle underlige konsekvenser 289 00:12:24,070 --> 00:12:25,490 at vi vil slags tilsløre for nu. 290 00:12:25,490 --> 00:12:27,365 Men er det tilstrækkeligt at sige, underlige ting går 291 00:12:27,365 --> 00:12:30,740 at begynde at ske, hvis du uforvarende re-erklære variabler med samme navn 292 00:12:30,740 --> 00:12:32,210 igen og igen. 293 00:12:32,210 --> 00:12:33,882 >> Så her har jeg fire linjer kode. 294 00:12:33,882 --> 00:12:36,090 Og jeg har et par kommentarer der bare indikerer 295 00:12:36,090 --> 00:12:37,840 hvad der sker på hver linje bare for at hjælpe 296 00:12:37,840 --> 00:12:40,520 du får beliggende i, hvad der foregår. 297 00:12:40,520 --> 00:12:41,520 Så int antal ;. 298 00:12:41,520 --> 00:12:42,520 Du så, at tidligere. 299 00:12:42,520 --> 00:12:44,000 Det er en variabel erklæring. 300 00:12:44,000 --> 00:12:46,670 >> Jeg har nu oprettet en variabel kaldte nummer, der er 301 00:12:46,670 --> 00:12:48,970 stand til at holde heltalsregning værdier. 302 00:12:48,970 --> 00:12:50,210 Jeg har erklæret det. 303 00:12:50,210 --> 00:12:53,770 >> Den næste linje jeg tildele en værdi til nummer. 304 00:12:53,770 --> 00:12:54,992 Antal lig 17. 305 00:12:54,992 --> 00:12:55,950 Hvad sker der? 306 00:12:55,950 --> 00:12:58,880 Jeg sætte nummer 17 indersiden af ​​denne variabel. 307 00:12:58,880 --> 00:13:02,760 >> Så hvis jeg nogensinde så udskrive hvad indholdet af antallet er senere, 308 00:13:02,760 --> 00:13:04,030 de vil fortælle mig er det 17. 309 00:13:04,030 --> 00:13:07,030 Så jeg har erklæret en variabel, og så har jeg tildelt den. 310 00:13:07,030 --> 00:13:10,570 >> Vi kan gentage processen igen med char bogstav ;. 311 00:13:10,570 --> 00:13:11,640 Det er en erklæring. 312 00:13:11,640 --> 00:13:14,010 Brev lig kapital H. Det er en opgave. 313 00:13:14,010 --> 00:13:16,030 Temmelig ligetil, også. 314 00:13:16,030 --> 00:13:18,319 >> Nu er denne proces måske synes slags fjollet. 315 00:13:18,319 --> 00:13:20,110 Hvorfor gør vi det i to linjer kode? 316 00:13:20,110 --> 00:13:21,401 Findes der en bedre måde at gøre det? 317 00:13:21,401 --> 00:13:22,250 I virkeligheden er der. 318 00:13:22,250 --> 00:13:24,375 Nogle gange vil du måske se dette kaldes initialisering. 319 00:13:24,375 --> 00:13:28,446 Det er, når du erklærer en variabel og tildele en værdi på samme tid. 320 00:13:28,446 --> 00:13:30,320 Dette er faktisk en temmelig fælles ting at gøre. 321 00:13:30,320 --> 00:13:32,870 Når du opretter en variabel, du normalt ønsker, at den skal have nogle grundlæggende værdi. 322 00:13:32,870 --> 00:13:34,330 Selv om det er 0 eller noget. 323 00:13:34,330 --> 00:13:36,180 Du skal bare du give det en værdi. 324 00:13:36,180 --> 00:13:38,360 >> Du kan initialisere en variabel. 325 00:13:38,360 --> 00:13:42,320 Int antal lig 17 er det samme som de to første linjer kode op ovenfor. 326 00:13:42,320 --> 00:13:46,829 Char skrivelse lig h er den samme som tredje og fjerde linjer kode ovenfor. 327 00:13:46,829 --> 00:13:49,620 Den vigtigste takeaway her når vi erklære og tildele 328 00:13:49,620 --> 00:13:51,740 variabler er efter vi har erklærede det, varsel 329 00:13:51,740 --> 00:13:53,700 Jeg er ikke en gang ved hjælp af datatype. 330 00:13:53,700 --> 00:13:57,916 Jeg siger ikke int nummer lig 17 på den anden linje i kode, f.eks. 331 00:13:57,916 --> 00:13:59,290 Jeg siger bare nummer lig 17. 332 00:13:59,290 --> 00:14:02,537 >> Igen, igen at erklære en variabel efter du allerede har erklæret det kan føre 333 00:14:02,537 --> 00:14:03,620 til nogle underlig konsekvens. 334 00:14:03,620 --> 00:14:05,950 Så bare være forsigtig med det. 335 00:14:05,950 --> 00:14:06,660 >> Jeg er Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Og det er CS50. 337 00:14:08,870 --> 00:14:10,499