1 00:00:00,000 --> 00:00:02,420 >> [MUSIC JOC] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 Vorbitor: Bine. 4 00:00:05,980 --> 00:00:08,540 Deci, hai sa vorbim despre un alt lucru care e un fel de unic pentru C, 5 00:00:08,540 --> 00:00:10,010 care este tipurile de date și variabile. 6 00:00:10,010 --> 00:00:12,340 Când spun unic la C, eu chiar înseamnă doar în contextul, 7 00:00:12,340 --> 00:00:14,470 Dacă ați fost un programator pentru un timp foarte lung, 8 00:00:14,470 --> 00:00:16,270 nu ați probabil a lucrat cu tipuri de date 9 00:00:16,270 --> 00:00:18,470 Dacă ați utilizat modernă limbaje de programare. 10 00:00:18,470 --> 00:00:20,432 Limbi moderne, cum ar PHP și JavaScript, 11 00:00:20,432 --> 00:00:22,640 care vom vedea, de asemenea, un pic mai târziu, în cursul, 12 00:00:22,640 --> 00:00:25,550 nu trebuie de fapt să specificați tipul de date unei variabile 13 00:00:25,550 --> 00:00:26,270 atunci când este utilizat. 14 00:00:26,270 --> 00:00:28,067 >> Trebuie doar declare și a începe să utilizați-l. 15 00:00:28,067 --> 00:00:29,900 Dacă este un număr întreg, se Știu că e un număr întreg. 16 00:00:29,900 --> 00:00:31,960 Dacă e un personaj, e știe că e un personaj. 17 00:00:31,960 --> 00:00:35,320 Dacă e un cuvânt, ea știe este un șir de caractere, așa-numitele. 18 00:00:35,320 --> 00:00:37,300 >> Dar în C, care este o limbă mai mari, avem nevoie de 19 00:00:37,300 --> 00:00:39,420 pentru a specifica datele tip de fiecare variabilă 20 00:00:39,420 --> 00:00:42,990 să creăm pentru prima dată pe care le folosim ca variabilă. 21 00:00:42,990 --> 00:00:45,030 Deci, C vine cu unele built-in tipuri de date. 22 00:00:45,030 --> 00:00:46,972 Și să se familiarizeze cu unele dintre acestea. 23 00:00:46,972 --> 00:00:50,180 Și după aceea vom vorbi, de asemenea, o pic despre unele dintre tipurile de date 24 00:00:50,180 --> 00:00:54,450 pe care le-am scris pentru tine, astfel încât să puteți utiliza în CS50 le. 25 00:00:54,450 --> 00:00:56,130 >> Primul este int. 26 00:00:56,130 --> 00:00:59,110 Tipul de date int este utilizat pentru variabilele care va stoca valori întregi. 27 00:00:59,110 --> 00:01:03,210 Deci 1, 2, 3, negativ 1, 2, 3, și așa mai departe. 28 00:01:03,210 --> 00:01:05,960 Întregi, care este tu ceva ar trebui să țină cont de test, 29 00:01:05,960 --> 00:01:09,590 ia întotdeauna patru octeți de memorie, care este de 32 biți. 30 00:01:09,590 --> 00:01:11,620 Există opt biți într-un octet. 31 00:01:11,620 --> 00:01:14,470 >> Deci, aceasta înseamnă că gama de valori care un număr întreg poate stoca 32 00:01:14,470 --> 00:01:19,130 este limitat de ceea ce se poate potrivi în 32 de biți în valoare de informații. 33 00:01:19,130 --> 00:01:21,850 Acum se pare că, sa decis mult timp în urmă 34 00:01:21,850 --> 00:01:24,310 care ne-ar despărțim că gama de 32 de biți 35 00:01:24,310 --> 00:01:26,650 în numere întregi negative, și numere naturale, 36 00:01:26,650 --> 00:01:28,390 fiecare jumătate obținerea a intervalului. 37 00:01:28,390 --> 00:01:32,230 Deci, intervalul de valori pe care le reprezintă cu o gamă număr întreg de la 2 negativ 38 00:01:32,230 --> 00:01:36,520 la puterea 31 la 2 la puterea 31 minus 1, 39 00:01:36,520 --> 00:01:38,190 provoca ai nevoie, de asemenea, un loc pentru 0. 40 00:01:38,190 --> 00:01:41,650 >> Deci, practic jumătate din valorile posibile puteți potrivi un int sunt negative, 41 00:01:41,650 --> 00:01:42,610 și jumătate sunt pozitive. 42 00:01:42,610 --> 00:01:47,270 Și aproximativ aici, este vorba despre negativ 2 miliarde la circa 2 miliarde de pozitiv. 43 00:01:47,270 --> 00:01:50,207 Da sau de a lua o câteva sute de milioane de euro. 44 00:01:50,207 --> 00:01:52,290 Deci, asta e ceea ce se poate potrivi într-o variabilă întreg. 45 00:01:52,290 --> 00:01:55,490 Acum avem, de asemenea, ceva numit un număr întreg fără semn. 46 00:01:55,490 --> 00:01:59,220 Acum, int nesemnate nu o au tip separat de variabilă. 47 00:01:59,220 --> 00:02:01,590 Mai degrabă, este nesemnat ceea ce se numește un calificativ. 48 00:02:01,590 --> 00:02:04,990 Acesta modifică datele tip de întreg ușor. 49 00:02:04,990 --> 00:02:07,850 >> Și în acest caz, ceea ce nesemnat înseamnă: și puteți, de asemenea 50 00:02:07,850 --> 00:02:11,530 utiliza nesemnate alte tipuri de date, întreg nu e singurul. 51 00:02:11,530 --> 00:02:15,310 Ceea ce face în mod eficient este dublu intervalul de valori pozitive 52 00:02:15,310 --> 00:02:19,350 că un număr întreg poate lua pe la cheltuiala nu mai permițând 53 00:02:19,350 --> 00:02:21,140 a lua pe valori negative. 54 00:02:21,140 --> 00:02:25,400 Deci, dacă aveți un număr pe care le cunoașteți va primi mai mult de 2 miliarde, dar mai puțin 55 00:02:25,400 --> 00:02:31,280 de 4 miliarde de euro, pentru example-- care este de 2 la a 32-power-- 56 00:02:31,280 --> 00:02:33,330 s-ar putea doriți să utilizați int nesemnate, dacă 57 00:02:33,330 --> 00:02:35,050 știu valoarea ta nu va fi negativ. 58 00:02:35,050 --> 00:02:37,216 >> Veți avea ocazional folosit pentru variabile nesemnate 59 00:02:37,216 --> 00:02:39,460 în CS50, motiv pentru care am menționa aici. 60 00:02:39,460 --> 00:02:43,830 Dar, din nou, gama de valori pe care le poate reprezenta cu un întreg fără semn 61 00:02:43,830 --> 00:02:48,240 ca de t întreg regulat, sunt 0 la 2 la puterea 32 minus 1, 62 00:02:48,240 --> 00:02:50,840 sau aproximativ 0 la 4000000000. 63 00:02:50,840 --> 00:02:53,730 Deci ai dublat în mod eficient Gama pozitive pe care le pot potrivi, 64 00:02:53,730 --> 00:02:56,270 dar ai dat tot valorile negative. 65 00:02:56,270 --> 00:03:00,040 >> Acum ca o paranteza, nesemnat nu este singura calificare 66 00:03:00,040 --> 00:03:01,790 că am putea vedea pentru tipuri de date variabile. 67 00:03:01,790 --> 00:03:05,779 Există, de asemenea lucruri, numite scurt și lung și const. 68 00:03:05,779 --> 00:03:07,820 Const vom vedea un pic Puțin mai târziu, în cursul. 69 00:03:07,820 --> 00:03:10,830 Scurt și lung, noi, probabil, nu va. 70 00:03:10,830 --> 00:03:12,830 >> Dar știu doar că acolo sunt alte calificative. 71 00:03:12,830 --> 00:03:14,080 Nesemnate nu este singurul. 72 00:03:14,080 --> 00:03:16,596 Dar e singurul suntem vorbi despre acum. 73 00:03:16,596 --> 00:03:17,310 Deci, în regulă. 74 00:03:17,310 --> 00:03:18,393 Deci ne-am acoperit întregi. 75 00:03:18,393 --> 00:03:19,200 Ce urmeaza? 76 00:03:19,200 --> 00:03:20,130 >> Caractere. 77 00:03:20,130 --> 00:03:23,620 Deci caractere sunt utilizate pentru variabile care va stoca caractere unice. 78 00:03:23,620 --> 00:03:24,850 Char este prescurtarea de la caracter. 79 00:03:24,850 --> 00:03:27,870 Și, uneori, s-ar putea auzi oamenii pronunță ca masina. 80 00:03:27,870 --> 00:03:32,020 >> Deci caractere ia întotdeauna un byte de memorie, care este la doar 8 biți. 81 00:03:32,020 --> 00:03:35,700 Deci, aceasta înseamnă că ei pot potrivi numai valori în intervalul de negativ 2 82 00:03:35,700 --> 00:03:42,430 la a șaptea putere, sau negativ 128, la 2 la puterea 7a minus 1, sau 127. 83 00:03:42,430 --> 00:03:45,710 >> Datorită ASCII, a fost mult timp în urmă a decis un mod 84 00:03:45,710 --> 00:03:50,805 pentru a mapa aceste numere pozitive de la 0-127 la diferite caractere 85 00:03:50,805 --> 00:03:52,182 ca toate exista pe tastatura noastră. 86 00:03:52,182 --> 00:03:54,640 Deci, după cum vom vedea mai târziu în cursul, și veți probabil 87 00:03:54,640 --> 00:03:57,700 vin să memoreze la un punct, de capital A, pentru example-- 88 00:03:57,700 --> 00:04:00,732 capitalul caracter un-- hărți la numărul 65. 89 00:04:00,732 --> 00:04:02,940 Și motivul pentru care este pentru că asta e ceea ce este e 90 00:04:02,940 --> 00:04:05,490 fost atribuit de standardul ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Litere mici A este de 97. 92 00:04:07,850 --> 00:04:11,900 Caracterul 0 pentru atunci când tip de fapt caracterul, nu 93 00:04:11,900 --> 00:04:13,532 reprezentând numărul de zero, este 48. 94 00:04:13,532 --> 00:04:15,240 Veți afla un cuplu dintre acestea ca te duci. 95 00:04:15,240 --> 00:04:17,990 Și veți veni cu siguranță nevoie de le un pic mai târziu, în CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Următorul tip de date mai mare este flotantă numere de puncte. 98 00:04:23,390 --> 00:04:26,100 Deci, numere reale cu virgulă sunt De asemenea, cunoscut sub numele de numere reale. 99 00:04:26,100 --> 00:04:28,850 Sunt practic numere care au un punct zecimal în ele. 100 00:04:28,850 --> 00:04:33,360 Plutitoare valori punctuale ca numere întregi, de asemenea, 101 00:04:33,360 --> 00:04:36,090 conținut în 4 bytes de memorie. 102 00:04:36,090 --> 00:04:37,580 Acum nu există nici o diagramă aici. 103 00:04:37,580 --> 00:04:40,890 Nu e nici o linie număr, pentru că descrie gama de un flotor 104 00:04:40,890 --> 00:04:44,550 nu este tocmai limpede sau intuitiv. 105 00:04:44,550 --> 00:04:47,350 >> Este suficient să spui au 32 de biți pentru a lucra cu. 106 00:04:47,350 --> 00:04:49,730 Și, dacă aveți un număr ca pi, care are 107 00:04:49,730 --> 00:04:55,510 o parte întreg 3, și un plutitoare punct parte, sau o parte zecimală 0.14159, 108 00:04:55,510 --> 00:04:58,735 și așa mai departe, trebuie să fie capabil de a reprezenta toate it-- 109 00:04:58,735 --> 00:05:02,420 partea întreagă și partea zecimală. 110 00:05:02,420 --> 00:05:04,550 >> Deci, ce credeți că ar putea să însemne? 111 00:05:04,550 --> 00:05:08,180 Un lucru este că, dacă zecimal parte devine mai mult și mai mult, 112 00:05:08,180 --> 00:05:10,660 dacă am o foarte mare partea întreagă, nu s-ar putea 113 00:05:10,660 --> 00:05:13,090 putea fi la fel de precis cu partea zecimală. 114 00:05:13,090 --> 00:05:15,280 Și asta e într-adevăr limitarea un flotor. 115 00:05:15,280 --> 00:05:17,229 >> Flotoare o problemă de precizie. 116 00:05:17,229 --> 00:05:19,270 Avem doar 32 de biți pentru a lucra cu, astfel încât să putem doar 117 00:05:19,270 --> 00:05:22,510 să fie atât de precis, cu partea noastră zecimal. 118 00:05:22,510 --> 00:05:27,300 Nu putem avea o zecimală neapărat parte de precisă pentru a 100 sau 200 de cifre, 119 00:05:27,300 --> 00:05:29,710 pentru că avem doar 32 de biți pentru a lucra cu. 120 00:05:29,710 --> 00:05:31,590 Deci asta este o limitare de un flotor. 121 00:05:31,590 --> 00:05:33,590 >> Acum, din fericire există un alt tip de date numit 122 00:05:33,590 --> 00:05:36,530 dublu, care oarecum se ocupă cu această problemă. 123 00:05:36,530 --> 00:05:39,980 Dublu, cum ar fi flotoare, sunt, de asemenea, folosite pentru a stoca numere reale, sau în virgulă mobilă 124 00:05:39,980 --> 00:05:40,840 valori. 125 00:05:40,840 --> 00:05:44,340 Diferența este că duble sunt duble precizie. 126 00:05:44,340 --> 00:05:48,177 Ele pot potrivi 64 de biți de date, sau opt bytes. 127 00:05:48,177 --> 00:05:49,010 Ce înseamnă asta? 128 00:05:49,010 --> 00:05:51,801 Ei bine, aceasta înseamnă că poate fi mult mai mult precis cu punctului zecimal. 129 00:05:51,801 --> 00:05:54,830 În loc de a pi la șapte locuri, poate, cu un float, 130 00:05:54,830 --> 00:05:56,710 putem poate avea la 30 de locuri. 131 00:05:56,710 --> 00:05:59,824 Dacă asta e important, ați putea dori de a utiliza o dublă în loc de un flotor. 132 00:05:59,824 --> 00:06:01,740 Practic, dacă sunteți de lucru pe ceva în cazul în care 133 00:06:01,740 --> 00:06:06,540 având o zecimală foarte lung și o mulțime de precizie este important, 134 00:06:06,540 --> 00:06:08,630 probabil că doriți să utilizați o overfloat dublu. 135 00:06:08,630 --> 00:06:11,250 Acum, pentru cea mai mare a muncii în CS50, un flotor ar fi suficiente. 136 00:06:11,250 --> 00:06:15,340 Dar știu că duble exista ca modalitate de a face oarecum cu precizia 137 00:06:15,340 --> 00:06:20,980 problemă oferindu-vă un plus de 32 biți pentru a lucra cu pentru numerele. 138 00:06:20,980 --> 00:06:23,650 >> Acum, acest lucru nu este un tip de date. 139 00:06:23,650 --> 00:06:24,390 Acesta este un tip. 140 00:06:24,390 --> 00:06:25,340 Și se numește nulă. 141 00:06:25,340 --> 00:06:27,506 Și vorbesc despre ea aici pentru că ne-am, probabil, 142 00:06:27,506 --> 00:06:29,520 văzut-o de câteva ori deja în CS50. 143 00:06:29,520 --> 00:06:32,020 Și s-ar putea fi mirat ce este vorba. 144 00:06:32,020 --> 00:06:33,390 >> Deci gol este un tip. 145 00:06:33,390 --> 00:06:34,097 Ea există. 146 00:06:34,097 --> 00:06:35,180 Dar nu este un tip de date. 147 00:06:35,180 --> 00:06:39,350 >> Nu putem crea o variabilă de tip anula și atribui o valoare la acesta. 148 00:06:39,350 --> 00:06:42,519 Dar funcții, de exemplu, poate avea un tip de întoarcere nule. 149 00:06:42,519 --> 00:06:45,060 Practic, dacă vedeți o funcție care are un tip de întoarcere void, 150 00:06:45,060 --> 00:06:46,970 aceasta înseamnă că nu se întoarce o valoare. 151 00:06:46,970 --> 00:06:49,440 Te poți gândi la o comun Funcția pe care le-am folosit până acum 152 00:06:49,440 --> 00:06:52,780 în CS50 care nu se întoarce o valoare? 153 00:06:52,780 --> 00:06:54,700 >> Printf este unul. 154 00:06:54,700 --> 00:06:56,820 Printf nu de fapt, reveni ceva pentru tine. 155 00:06:56,820 --> 00:06:59,850 Se imprimă ceva la ecran, și este practic 156 00:06:59,850 --> 00:07:01,650 un efect secundar a ceea ce face printf. 157 00:07:01,650 --> 00:07:03,620 Dar nu vă oferă o valoare înapoi. 158 00:07:03,620 --> 00:07:08,419 Tu nu surprinde rezultatul și magazin se, în unele variabile să-l folosească mai târziu. 159 00:07:08,419 --> 00:07:10,710 Se imprimă doar ceva pentru a ecranul și ați terminat. 160 00:07:10,710 --> 00:07:14,360 >> Deci, noi spunem că printf este o funcție void. 161 00:07:14,360 --> 00:07:16,450 Se întoarce nimic. 162 00:07:16,450 --> 00:07:18,580 >> Lista perimetru al unui Funcția poate fi, de asemenea, nulă. 163 00:07:18,580 --> 00:07:21,410 Și le-ați văzut, de asemenea, că destul de un pic în CS50 prea. 164 00:07:21,410 --> 00:07:22,300 Void main Int. 165 00:07:22,300 --> 00:07:23,260 Are acel inel un clopot? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Practic ceea ce înseamnă că este faptul că principal nu ia nici un parametru. 168 00:07:27,220 --> 00:07:29,520 Nu e nici un argument care se în principal a trecut. 169 00:07:29,520 --> 00:07:32,780 Acum mai târziu vom vedea că nu există o modalitate de a trece argumente în principal, 170 00:07:32,780 --> 00:07:36,189 dar până acum ceea ce am văzut este void main Int. 171 00:07:36,189 --> 00:07:37,730 Principalul doar nu ia nici un argument. 172 00:07:37,730 --> 00:07:40,236 Și așa ne-am specifica faptul ca prin a spune nule. 173 00:07:40,236 --> 00:07:42,110 Suntem doar fiind foarte explicit despre faptul 174 00:07:42,110 --> 00:07:44,430 că nu ia nici un argument. 175 00:07:44,430 --> 00:07:47,160 >> Deci, pentru moment, este suficient să se spun că, practic, nule 176 00:07:47,160 --> 00:07:50,789 ar trebui să servească doar ca un substituent pentru tine, ca gândesc ca nimic. 177 00:07:50,789 --> 00:07:52,080 Nu face nimic. 178 00:07:52,080 --> 00:07:53,550 Nu e nici o valoare întoarcere aici. 179 00:07:53,550 --> 00:07:54,770 Nu sunt parametrii aici. 180 00:07:54,770 --> 00:07:55,709 E gol. 181 00:07:55,709 --> 00:07:57,250 E un pic mai complex decât atât. 182 00:07:57,250 --> 00:08:00,640 Dar acest lucru ar trebui suficient pentru cea mai mare parte a cursului. 183 00:08:00,640 --> 00:08:05,010 Și, sperăm, acum ai un pic de pic mai mult de un concept de ceea ce este nul. 184 00:08:05,010 --> 00:08:08,460 >> Deci, acestea sunt cele cinci tipuri veți întâlnire care sunt built-in pentru a C. 185 00:08:08,460 --> 00:08:10,670 Dar în CS50, avem, de asemenea, o bibliotecă. 186 00:08:10,670 --> 00:08:13,550 CS50.h, pe care le pot include. 187 00:08:13,550 --> 00:08:15,930 Și care vă va oferi cu două tipuri suplimentare 188 00:08:15,930 --> 00:08:18,280 că veți fi probabil în măsură pentru a utiliza pe sarcinile tale, 189 00:08:18,280 --> 00:08:21,210 sau pur și simplu de lucru, în general, de programare. 190 00:08:21,210 --> 00:08:23,030 >> Primul dintre acestea este bool. 191 00:08:23,030 --> 00:08:26,780 Deci, boolean, bool, se folosește pentru variabilele 192 00:08:26,780 --> 00:08:28,114 care va stoca o valoare Boolean. 193 00:08:28,114 --> 00:08:29,863 Dacă ați auzit vreodată acest termen înainte, 194 00:08:29,863 --> 00:08:31,960 să știe că un Boolean Valoarea este capabil de numai 195 00:08:31,960 --> 00:08:34,440 care deține două valori distincte diferite. 196 00:08:34,440 --> 00:08:35,872 Adevărat și fals. 197 00:08:35,872 --> 00:08:37,580 Acum, acest lucru pare destul de fundamental, nu? 198 00:08:37,580 --> 00:08:40,496 Este un fel de o surpriză faptul că această nu există în C, este construit-in. 199 00:08:40,496 --> 00:08:42,640 Și în mai multe limbi moderne, desigur, Booleans 200 00:08:42,640 --> 00:08:45,390 sunt un tip de date implicit standard de. 201 00:08:45,390 --> 00:08:47,192 Dar, în C, nu sunt de fapt. 202 00:08:47,192 --> 00:08:48,400 Dar l-am creat pentru tine. 203 00:08:48,400 --> 00:08:51,910 Deci, dacă aveți nevoie pentru a crea o variabilă a cărei tip este bool, 204 00:08:51,910 --> 00:08:55,230 doar asigurați-vă că pentru a #include CS50.h la începutul programului, 205 00:08:55,230 --> 00:08:57,800 și veți putea crea variabile de tip bool. 206 00:08:57,800 --> 00:09:02,095 >> Dacă uitați să #include CS50.h, și a începe să utilizați variabile de tip Boolean, 207 00:09:02,095 --> 00:09:04,970 -ar putea întâlni unele probleme atunci când sunteți compilarea programul. 208 00:09:04,970 --> 00:09:06,490 Astfel încât să fie doar cu ochii în patru pentru asta. 209 00:09:06,490 --> 00:09:11,180 Și poate că poate repara doar Probleme de lire, inclusiv CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> Alt tip important de date pe care le prevăd tine în bibliotecă CS50 211 00:09:14,590 --> 00:09:15,670 este șir. 212 00:09:15,670 --> 00:09:17,130 Deci, ce este un șir? 213 00:09:17,130 --> 00:09:18,520 Siruri de caractere sunt foarte doar cuvinte. 214 00:09:18,520 --> 00:09:20,000 Sunt colecții de caractere. 215 00:09:20,000 --> 00:09:20,640 Sunt cuvinte. 216 00:09:20,640 --> 00:09:21,390 Sunt propoziții. 217 00:09:21,390 --> 00:09:22,480 Sunt punctele. 218 00:09:22,480 --> 00:09:25,850 S-ar putea să fie cărți întregi, chiar. 219 00:09:25,850 --> 00:09:29,690 >> Foarte scurt la foarte lung serie de caractere. 220 00:09:29,690 --> 00:09:34,310 Dacă aveți nevoie pentru a utiliza siruri de caractere, de exemplu, pentru a stoca un cuvânt, 221 00:09:34,310 --> 00:09:37,609 doar asigurați-vă că pentru a include CS50.h la începutul programului de 222 00:09:37,609 --> 00:09:38,900 astfel încât să puteți utiliza tipul de șir. 223 00:09:38,900 --> 00:09:43,910 Și apoi puteți crea variabile al cărui tip de date este șir. 224 00:09:43,910 --> 00:09:46,160 Acum mai târziu, în cursul, vom vedea, de asemenea, că este 225 00:09:46,160 --> 00:09:47,752 nu intreaga poveste, fie. 226 00:09:47,752 --> 00:09:49,460 Vom întâlni lucruri numite structuri, 227 00:09:49,460 --> 00:09:54,249 care vă permit să grup ceea ce poate fi un număr întreg și un șir într-o singură unitate. 228 00:09:54,249 --> 00:09:56,290 Și putem folosi asta pentru un scop, care ar putea 229 00:09:56,290 --> 00:09:57,750 veni la îndemână mai târziu, în cursul. 230 00:09:57,750 --> 00:09:59,500 >> Și vom afla, de asemenea despre tipurile definite, 231 00:09:59,500 --> 00:10:01,720 care vă permit să creați dvs. tipuri de date proprii. 232 00:10:01,720 --> 00:10:03,060 Nu avem nevoie să vă faceți griji despre asta de acum. 233 00:10:03,060 --> 00:10:04,550 Dar știu doar că asta e ceva la orizont, 234 00:10:04,550 --> 00:10:07,633 că există o mult mai mult la acest ansamblu Tipul lucru decât vă spun doar 235 00:10:07,633 --> 00:10:08,133 acum. 236 00:10:08,133 --> 00:10:10,591 Deci, acum că am învățat-o pic despre datele de bază 237 00:10:10,591 --> 00:10:14,230 tipurile și tipurile de date CS50, să vorbesc despre modul de a lucra cu variabile 238 00:10:14,230 --> 00:10:18,530 și de a crea-le folosind aceste tipurile de date din programele noastre. 239 00:10:18,530 --> 00:10:22,670 Dacă doriți să creați o variabilă, tot ce trebuie să faceți este de două lucruri. 240 00:10:22,670 --> 00:10:24,147 >> În primul rând, aveți nevoie pentru a da un tip. 241 00:10:24,147 --> 00:10:26,230 Al doilea lucru care aveți nevoie să faceți este să dea un nume. 242 00:10:26,230 --> 00:10:28,740 Odată ce ați făcut asta și pălmuit o punct și virgulă la sfârșitul acestei linii, 243 00:10:28,740 --> 00:10:29,830 ați creat o variabilă. 244 00:10:29,830 --> 00:10:32,370 >> Deci, aici sunt două exemple. 245 00:10:32,370 --> 00:10:35,744 Numărul Int; scrisoare char ;. 246 00:10:35,744 --> 00:10:36,660 Ce-am făcut aici? 247 00:10:36,660 --> 00:10:38,110 Am creat două variabile. 248 00:10:38,110 --> 00:10:40,190 >> Primul, variabila anii Numele este numărul. 249 00:10:40,190 --> 00:10:44,830 Și numărul este capabil să mențină întreg tip valori, pentru că tipul său este Int. 250 00:10:44,830 --> 00:10:48,040 Scrisoarea este o altă variabilă care poate stoca caractere 251 00:10:48,040 --> 00:10:50,240 pentru că tipul de date este char. 252 00:10:50,240 --> 00:10:51,772 >> Destul de simplu, nu? 253 00:10:51,772 --> 00:10:53,480 Dacă vă aflați în situația în care 254 00:10:53,480 --> 00:10:56,250 aveți nevoie pentru a crea mai multe variabile de același tip, 255 00:10:56,250 --> 00:10:58,740 trebuie doar să specificați numele de tip dată. 256 00:10:58,740 --> 00:11:01,600 Apoi, lista la fel de multe variabile de acest tip ca ai nevoie. 257 00:11:01,600 --> 00:11:04,230 >> Așa că am putut, de exemplu, aici în această a treia linie de cod, 258 00:11:04,230 --> 00:11:07,420 spune înălțime Int ;, nouă linie. 259 00:11:07,420 --> 00:11:08,291 Lățimea Int ;. 260 00:11:08,291 --> 00:11:09,290 Și că ar lucra prea. 261 00:11:09,290 --> 00:11:12,039 Aș obține încă două variabile numite înălțime și lățime, fiecare dintre care 262 00:11:12,039 --> 00:11:12,730 este un număr întreg. 263 00:11:12,730 --> 00:11:16,970 Dar am voie să, lucruri C sintaxa, consolideze o într-o singură linie. 264 00:11:16,970 --> 00:11:20,230 Înălțime Int, lățime; E același lucru. 265 00:11:20,230 --> 00:11:23,900 Am creat două variabile, unul numit înălțimea cea numita lățime, ambele 266 00:11:23,900 --> 00:11:26,730 sunt capabile de exploatație Valorile tip întreg. 267 00:11:26,730 --> 00:11:30,920 >> În mod similar aici, pot crea trei Valorile în virgulă mobilă, la o dată. 268 00:11:30,920 --> 00:11:33,350 Pot crea o variabilă poate numit rădăcină pătrată a 2-- 269 00:11:33,350 --> 00:11:35,766 care probabil va în cele din urmă țineți point-- plutitoare 270 00:11:35,766 --> 00:11:39,222 că reprezentare a pătrat rădăcină de 2-- rădăcina pătrată a 3, și pi. 271 00:11:39,222 --> 00:11:41,180 Am fi putut face acest lucru pe trei linii separate. 272 00:11:41,180 --> 00:11:47,690 Float, rădăcină pătrată 2; Float rădăcină pătrată 3; float pi; și că ar lucra prea. 273 00:11:47,690 --> 00:11:50,590 >> Dar, din nou, pot consolida doar aceasta într-o singură linie de cod. 274 00:11:50,590 --> 00:11:54,050 Face lucrurile un pic mai scurte, nu ca greoaie. 275 00:11:54,050 --> 00:11:57,259 >> Acum, în general, este un design bun la numai declara o variabilă atunci când aveți nevoie. 276 00:11:57,259 --> 00:11:59,050 Și vom vorbi un pic mai multe despre asta ceva 277 00:11:59,050 --> 00:12:00,945 mai târziu, în cursul când vom discuta domeniul de aplicare. 278 00:12:00,945 --> 00:12:03,320 Deci, nu trebuie neapărat să a crea toate variabilele 279 00:12:03,320 --> 00:12:05,990 la începutul programului, care unii oameni ar putea fi făcut în trecut, 280 00:12:05,990 --> 00:12:08,700 sau a fost cu siguranță un foarte frecvente Acum practica de codificare multi ani 281 00:12:08,700 --> 00:12:11,700 atunci când se lucrează cu C. S-ar putea doar doriți să creați un drept variabilă, atunci când 282 00:12:11,700 --> 00:12:13,140 aveți nevoie de ea. 283 00:12:13,140 --> 00:12:13,640 In regula. 284 00:12:13,640 --> 00:12:15,150 Deci am creat variabile. 285 00:12:15,150 --> 00:12:16,790 Cum le folosim? 286 00:12:16,790 --> 00:12:18,650 Dupa ce am declara o variabilă, nu avem nevoie de 287 00:12:18,650 --> 00:12:21,237 pentru a specifica tipul de date din variabile mai. 288 00:12:21,237 --> 00:12:24,070 De fapt, dacă faceți acest lucru, s-ar putea termina cu unele consecințe ciudate 289 00:12:24,070 --> 00:12:25,490 că vom fel de luciu peste pentru acum. 290 00:12:25,490 --> 00:12:27,365 Dar este suficient să spunem, lucruri ciudate se întâmplă 291 00:12:27,365 --> 00:12:30,740 pentru a începe întâmplă dacă din greșeală re-declare variabile cu același nume 292 00:12:30,740 --> 00:12:32,210 din nou si din nou. 293 00:12:32,210 --> 00:12:33,882 >> Deci, aici am patru linii de cod. 294 00:12:33,882 --> 00:12:36,090 Și am o pereche de Comentarii Nu doar indicând 295 00:12:36,090 --> 00:12:37,840 ceea ce se întâmplă pe fiecare linie doar pentru a ajuta la 296 00:12:37,840 --> 00:12:40,520 te situat în ceea ce se întâmplă. 297 00:12:40,520 --> 00:12:41,520 Numărul Deci Int ;. 298 00:12:41,520 --> 00:12:42,520 Ai văzut că anterior. 299 00:12:42,520 --> 00:12:44,000 Asta-i o declarație variabilă. 300 00:12:44,000 --> 00:12:46,670 >> Am creat acum o variabilă numit număr care este 301 00:12:46,670 --> 00:12:48,970 capabil să mențină valori de tip întreg. 302 00:12:48,970 --> 00:12:50,210 Am declarat. 303 00:12:50,210 --> 00:12:53,770 >> Următoarea linie am atribuirea o valoare număr. 304 00:12:53,770 --> 00:12:54,992 Numărul este egal cu 17. 305 00:12:54,992 --> 00:12:55,950 Ce se întâmplă acolo? 306 00:12:55,950 --> 00:12:58,880 Pun numărul 17 în interiorul acestei variabile. 307 00:12:58,880 --> 00:13:02,760 >> Deci, dacă am vreodată apoi imprimați ce conținutul număr sunt mai târziu, 308 00:13:02,760 --> 00:13:04,030 vor să-mi spui că e de 17. 309 00:13:04,030 --> 00:13:07,030 Așa că am declarat o variabilă, și apoi l-am atribuit. 310 00:13:07,030 --> 00:13:10,570 >> Putem repeta procesul de din nou cu litere char ;. 311 00:13:10,570 --> 00:13:11,640 Asta-i o declarație. 312 00:13:11,640 --> 00:13:14,010 Scrisoare este egal cu capitalul H. E o misiune. 313 00:13:14,010 --> 00:13:16,030 Destul de simplu, de asemenea. 314 00:13:16,030 --> 00:13:18,319 >> Acum, acest proces ar putea par un fel de prostie. 315 00:13:18,319 --> 00:13:20,110 De ce facem asta în două linii de cod? 316 00:13:20,110 --> 00:13:21,401 Există o modalitate mai bună de a face acest lucru? 317 00:13:21,401 --> 00:13:22,250 De fapt, nu există. 318 00:13:22,250 --> 00:13:24,375 Uneori s-ar putea vedea acest numit inițializare. 319 00:13:24,375 --> 00:13:28,446 E atunci când declara o variabilă și atribuie o valoare în același timp. 320 00:13:28,446 --> 00:13:30,320 Aceasta este de fapt o destul de lucru comun pentru a face. 321 00:13:30,320 --> 00:13:32,870 Când creați o variabilă, de obicei doriți să aibă o anumită valoare de bază. 322 00:13:32,870 --> 00:13:34,330 Chiar daca e 0 sau ceva. 323 00:13:34,330 --> 00:13:36,180 Trebuie doar să vă dau o valoare. 324 00:13:36,180 --> 00:13:38,360 >> Puteți inițializa o variabilă. 325 00:13:38,360 --> 00:13:42,320 Int număr egal cu 17 este același ca primele două linii de cod până sus. 326 00:13:42,320 --> 00:13:46,829 Scrisoare Char este egal h este aceeași ca și Liniile treia și a patra de cod de mai sus. 327 00:13:46,829 --> 00:13:49,620 Cel mai important Takeaway aici când suntem declararea și atribuirea 328 00:13:49,620 --> 00:13:51,740 variabile este, după ne-am a declarat că, aviz 329 00:13:51,740 --> 00:13:53,700 Eu nu sunt, folosind din nou tipul de date. 330 00:13:53,700 --> 00:13:57,916 Nu spun număr int egal 17 pe a doua linie de cod, de exemplu. 331 00:13:57,916 --> 00:13:59,290 Spun doar că numărul este egal cu 17. 332 00:13:59,290 --> 00:14:02,537 >> Din nou, re-declararea unei variabile după ai declarat deja că poate duce 333 00:14:02,537 --> 00:14:03,620 într-o anumită consecință ciudat. 334 00:14:03,620 --> 00:14:05,950 Deci, doar să fie atent de asta. 335 00:14:05,950 --> 00:14:06,660 >> Sunt Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Și acest lucru este CS50. 337 00:14:08,870 --> 00:14:10,499