1 00:00:00,000 --> 00:00:02,420 >> [MIZIK jwe] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 Oratè: Tout dwat. 4 00:00:05,980 --> 00:00:08,540 Se konsa, kite nan pale sou yon lòt bagay ki nan kalite inik nan C, 5 00:00:08,540 --> 00:00:10,010 ki se kalite done ak varyab. 6 00:00:10,010 --> 00:00:12,340 Lè m 'di inik nan C, Mwen vrèman sèlman vle di nan yon kontèks, 7 00:00:12,340 --> 00:00:14,470 si ou te gen yon pwogramè pou yon tan vrèman long, 8 00:00:14,470 --> 00:00:16,270 ou te pwobableman pa te travay ak kalite done 9 00:00:16,270 --> 00:00:18,470 si ou te itilize modèn pwogram lang. 10 00:00:18,470 --> 00:00:20,432 Lang modèn yo tankou PHP ak JavaScript, 11 00:00:20,432 --> 00:00:22,640 ki nou pral wè yon ti kras tou pita sou nan kou a, 12 00:00:22,640 --> 00:00:25,550 ou pa gen aktyèlman ou presize kalite a done nan yon varyab 13 00:00:25,550 --> 00:00:26,270 lè ou sèvi ak li. 14 00:00:26,270 --> 00:00:28,067 >> Ou jis deklare li epi yo kòmanse lè l sèvi avèk li. 15 00:00:28,067 --> 00:00:29,900 Si li nan yon nonb antye relatif, li konnen li nan yon nonb antye relatif. 16 00:00:29,900 --> 00:00:31,960 Si li nan yon karaktè, li nan konnen li nan yon karaktè. 17 00:00:31,960 --> 00:00:35,320 Si li nan yon mo, li konnen li nan yon fisèl, sa yo rele. 18 00:00:35,320 --> 00:00:37,300 >> Men, nan C, ki se yon ki pi gran lang, nou bezwen 19 00:00:37,300 --> 00:00:39,420 ou presize done yo di ki kalite chak varyab 20 00:00:39,420 --> 00:00:42,990 ke nou kreye premye fwa ke nou itilize ki varyab. 21 00:00:42,990 --> 00:00:45,030 Se konsa, C vini ak kèk bati-an kalite done. 22 00:00:45,030 --> 00:00:46,972 Li kite yo jwenn yo konnen yo ak kèk nan sa yo. 23 00:00:46,972 --> 00:00:50,180 Lè sa a, apre sa nou Apre sa, ap tou pale yon ti kras sou kèk nan ki kalite done 24 00:00:50,180 --> 00:00:54,450 ke nou te ekri pou ou, konsa ou ka sèvi ak yo nan CS50. 25 00:00:54,450 --> 00:00:56,130 >> Premye a se int. 26 00:00:56,130 --> 00:00:59,110 Se kalite a done int itilize pou varyab ki pral magazen valè nonb antye relatif. 27 00:00:59,110 --> 00:01:03,210 Se konsa, 1, 2, 3, negatif 1, 2, 3, ak sou sa. 28 00:01:03,210 --> 00:01:05,960 Nonm antye relatif, ki se yon bagay ou ta dwe kenbe nan tèt ou pou egzamen an, 29 00:01:05,960 --> 00:01:09,590 toujou pran moute kat bytes nan memwa, ki se 32 miyèt moso. 30 00:01:09,590 --> 00:01:11,620 Gen uit Bits nan yon multiple. 31 00:01:11,620 --> 00:01:14,470 >> Se konsa, sa vle di ke seri a nan valè ki yon nonb antye relatif ka magazen 32 00:01:14,470 --> 00:01:19,130 sa sèlman pa sa ki ka anfòm nan 32 Bits yon valè de enfòmasyon. 33 00:01:19,130 --> 00:01:21,850 Koulye a, kòm li vire soti, li te sa pibliye depi lontan deside 34 00:01:21,850 --> 00:01:24,310 ke nou ta fann moute ki ran de 32 Bits 35 00:01:24,310 --> 00:01:26,650 nan nonm antye relatif negatif ak nonm antye relatif pozitif, 36 00:01:26,650 --> 00:01:28,390 chak mwatye ap resevwa nan seri a. 37 00:01:28,390 --> 00:01:32,230 Se konsa, ranje a nan valè ke nou reprezante ak yon seri nonb antye relatif soti nan negatif 2 38 00:01:32,230 --> 00:01:36,520 sou pouvwa a 31 nan 2 pouvwa a 31 mwens 1, 39 00:01:36,520 --> 00:01:38,190 lakòz ou ap bezwen tou yon plas pou 0. 40 00:01:38,190 --> 00:01:41,650 >> Se konsa, fondamantalman mwatye nan valè yo posib ou ka anfòm nan yon int se negatif, 41 00:01:41,650 --> 00:01:42,610 ak mwatye yo se pozitif. 42 00:01:42,610 --> 00:01:47,270 Apre sa, apeprè isit la, sa a se sou negatif 2 milya dola a sou pozitif 2 milya dola. 43 00:01:47,270 --> 00:01:50,207 Bay oswa pran yon koup san milyon dola. 44 00:01:50,207 --> 00:01:52,290 Se konsa, sa a, se sa ou ka anfòm nan yon nonb antye relatif varyab. 45 00:01:52,290 --> 00:01:55,490 Koulye a, nou menm tou nou gen yon bagay rele yon nonb antye relatif siye. 46 00:01:55,490 --> 00:01:59,220 Koulye a, ints siye se pa yon kalite apa nan varyab. 47 00:01:59,220 --> 00:02:01,590 Olye de sa, siye se sa k ap rele yon kalifye. 48 00:02:01,590 --> 00:02:04,990 Li modifye done yo di ki kalite nonb antye relatif yon ti kras. 49 00:02:04,990 --> 00:02:07,850 >> Ak nan ka sa a, ki sa siye means-- epi ou kapab tou 50 00:02:07,850 --> 00:02:11,530 itilize siye kalite done ak lòt, nonb antye relatif nan pa gen yon sèl la sèlman. 51 00:02:11,530 --> 00:02:15,310 Ki sa ki li efektivman fè se double seri a pozitif nan valè 52 00:02:15,310 --> 00:02:19,350 ki yon nonb antye relatif ka pran sou nan depans lan nan sa ki pèmèt pa gen okenn ankò 53 00:02:19,350 --> 00:02:21,140 ou pran sou valè negatif. 54 00:02:21,140 --> 00:02:25,400 Se konsa, si ou gen nimewo ke ou konnen pral jwenn pi wo pase 2 milya dola men mwens 55 00:02:25,400 --> 00:02:31,280 pase 4 milya dola, pou example-- ki se 2 a 32nd nan power-- 56 00:02:31,280 --> 00:02:33,330 ou ta ka vle sèvi ak yon int siye si ou 57 00:02:33,330 --> 00:02:35,050 konnen valè ou pa janm yo pral negatif. 58 00:02:35,050 --> 00:02:37,216 >> Ou ap detanzantan gen itilize pou siye varyab 59 00:02:37,216 --> 00:02:39,460 nan CS50, ki se poukisa mwen mansyone li isit la. 60 00:02:39,460 --> 00:02:43,830 Men, ankò, seri a nan valè ke ou ka reprezante ak yon nonb antye relatif siye 61 00:02:43,830 --> 00:02:48,240 tankou yo t nonb antye relatif regilye, yo se 0 a 2 sou pouvwa a 32nd mwens 1, 62 00:02:48,240 --> 00:02:50,840 oswa apeprè 0 a 4 milya de dola. 63 00:02:50,840 --> 00:02:53,730 Se konsa, ou te efektivman double nan seri pozitif ke ou ka anfòm, 64 00:02:53,730 --> 00:02:56,270 men ou te bay moute tout valè yo negatif. 65 00:02:56,270 --> 00:03:00,040 >> Koulye a, kòm yon sou kote, siye se pa kalifye nan sèlman 66 00:03:00,040 --> 00:03:01,790 ke nou ta ka wè pou kalite done varyab. 67 00:03:01,790 --> 00:03:05,779 Genyen tou bagay rele kout ak long ak konstitisyon. 68 00:03:05,779 --> 00:03:07,820 Konstitisyon nou pral wè yon ti kras ti jan pita nan kou a. 69 00:03:07,820 --> 00:03:10,830 Kout ak long, nou pwobableman pa pral. 70 00:03:10,830 --> 00:03:12,830 >> Men, jis konnen ke gen lòt kalifikasyon. 71 00:03:12,830 --> 00:03:14,080 Siye se pa yon sèl la sèlman. 72 00:03:14,080 --> 00:03:16,596 Men, li la yon sèl la sèlman nou ap pwal pale osijè kounye a. 73 00:03:16,596 --> 00:03:17,310 Se konsa, tout dwa. 74 00:03:17,310 --> 00:03:18,393 Se konsa, nou te kouvri nonm antye relatif. 75 00:03:18,393 --> 00:03:19,200 Ki sa ki nan pwochen? 76 00:03:19,200 --> 00:03:20,130 >> Charaktèr. 77 00:03:20,130 --> 00:03:23,620 Se konsa, charaktèr yo te itilize pou varyab ki pral magazen karaktè sèl. 78 00:03:23,620 --> 00:03:24,850 Char se kout pou karaktè. 79 00:03:24,850 --> 00:03:27,870 Epi pafwa ou ta ka tande moun ki fè konnen li kòm machin. 80 00:03:27,870 --> 00:03:32,020 >> Se konsa, karaktè toujou pran moute yon sèl multiple nan memwa, ki se jis 8 Bits. 81 00:03:32,020 --> 00:03:35,700 Se konsa, sa vle di ke yo kapab sèlman anfòm valè nan a ranje negatif 2 82 00:03:35,700 --> 00:03:42,430 setyèm pouvwa a, oswa negatif 128, a 2 sou pouvwa a 7th mwens 1, oswa 127. 83 00:03:42,430 --> 00:03:45,710 >> Mèsi a ASCII, li te sa pibliye depi lontan deside yon fason 84 00:03:45,710 --> 00:03:50,805 nan kat jeyografik moun ki nimewo pozitif soti nan 0 a 127 nan karaktè divès kalite 85 00:03:50,805 --> 00:03:52,182 Tout moun nan egziste sou klavye nou an. 86 00:03:52,182 --> 00:03:54,640 Se konsa, kòm nou pral wè pita sou nan kou a, epi ou pral pwobableman 87 00:03:54,640 --> 00:03:57,700 vini nan memorize nan kèk pwen, kapital A, pou example-- 88 00:03:57,700 --> 00:04:00,732 kapital la N. A-- kat ak kantite 65. 89 00:04:00,732 --> 00:04:02,940 Ak rezon an pou sa a se paske se sa ki li nan la 90 00:04:02,940 --> 00:04:05,490 te plase nan estanda a ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Miniskil A se 97. 92 00:04:07,850 --> 00:04:11,900 Karaktè 0 pou lè ou aktyèlman tape pèsonaj la, pa 93 00:04:11,900 --> 00:04:13,532 reprezante nimewo a zewo, se 48. 94 00:04:13,532 --> 00:04:15,240 Ou pral aprann yon koup nan sa yo jan ou ale. 95 00:04:15,240 --> 00:04:17,990 Men, ou pral sètènman vini nan bezwen yo yon ti jan pita nan CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Pwochen pi gwo kalite nan done se k ap flote nimewo pwen. 98 00:04:23,390 --> 00:04:26,100 Se konsa, nimewo k ap flote pwen yo ke yo rele tou nimewo reyèl. 99 00:04:26,100 --> 00:04:28,850 Yo ap fondamantalman nimewo ki gen yon pwen desimal nan yo. 100 00:04:28,850 --> 00:04:33,360 K ap flote valè pwen tankou nonm antye relatif yo tou 101 00:04:33,360 --> 00:04:36,090 genyen nan 4 bytes nan memwa. 102 00:04:36,090 --> 00:04:37,580 Koulye a, gen nan pa gen tablo isit la. 103 00:04:37,580 --> 00:04:40,890 Gen nan pa gen liy nimewo, paske dekri seri a nan yon flote 104 00:04:40,890 --> 00:04:44,550 se pa egzakteman klè oswa entwisyon. 105 00:04:44,550 --> 00:04:47,350 >> Ase li yo di ou gen 32 Bits yo travay avèk. 106 00:04:47,350 --> 00:04:49,730 Men, si ou gen yon nimewo tankou pi, ki te gen 107 00:04:49,730 --> 00:04:55,510 yon pati nonb antye relatif 3, ak yon k ap flote pwen pati, oswa yon pati desimal 0,14159, 108 00:04:55,510 --> 00:04:58,735 ak sou sa, ou bezwen yo dwe kapab reprezante tout nan l-- 109 00:04:58,735 --> 00:05:02,420 pati nan nonb antye relatif ak pati nan desimal. 110 00:05:02,420 --> 00:05:04,550 >> Se konsa, ki sa ou panse ki ta ka vle di? 111 00:05:04,550 --> 00:05:08,180 Youn nan bagay se ke si desimal a pati vin pi long ak pi long, 112 00:05:08,180 --> 00:05:10,660 si mwen gen yon gwo anpil nonb antye relatif pati, m 'pa 113 00:05:10,660 --> 00:05:13,090 kapab yo dwe kòm egzak ak pati nan desimal. 114 00:05:13,090 --> 00:05:15,280 Epi sa a, reyèlman nan limitasyon nan yon flote. 115 00:05:15,280 --> 00:05:17,229 >> Flote gen yon pwoblèm presizyon. 116 00:05:17,229 --> 00:05:19,270 Nou sèlman gen 32 Bits travay avèk, se konsa nou ka sèlman 117 00:05:19,270 --> 00:05:22,510 fèt konsa egzak ak pati desimal nou an. 118 00:05:22,510 --> 00:05:27,300 Nou pa ka nesesèman gen yon desimal pati egzak nan 100 oswa 200 chif, 119 00:05:27,300 --> 00:05:29,710 paske nou sèlman gen 32 Bits yo travay avèk. 120 00:05:29,710 --> 00:05:31,590 Se konsa, sa a, se yon limitasyon nan yon flote. 121 00:05:31,590 --> 00:05:33,590 >> Koulye a, erezman gen nan yon lòt kalite done yo rele 122 00:05:33,590 --> 00:05:36,530 doub, ki yon ti jan kontra avèk pwoblèm sa a. 123 00:05:36,530 --> 00:05:39,980 Double, tankou flote, yo tou itilize yo magazen nimewo reyèl, oswa k ap flote pwen 124 00:05:39,980 --> 00:05:40,840 valè. 125 00:05:40,840 --> 00:05:44,340 Diferans lan se ke double yo doub presizyon. 126 00:05:44,340 --> 00:05:48,177 Yo ka anfòm 64 Bits nan done, oswa uit bytes. 127 00:05:48,177 --> 00:05:49,010 Ki sa sa vle di? 128 00:05:49,010 --> 00:05:51,801 Oke, sa vle di nou ka gen yon anpil plis egzak ak pwen an desimal. 129 00:05:51,801 --> 00:05:54,830 Olye pou yo gen pi a sèt kote petèt, ak yon flote, 130 00:05:54,830 --> 00:05:56,710 nou ka petèt genyen li nan 30 kote. 131 00:05:56,710 --> 00:05:59,824 Si sa a, se enpòtan, ou ta ka vle yo sèvi ak yon doub olye de yon flote. 132 00:05:59,824 --> 00:06:01,740 Fondamantalman, si w ap ap travay sou anyen kote 133 00:06:01,740 --> 00:06:06,540 li te gen yon reyèlman long plas desimal ak yon anpil nan presizyon enpòtan, 134 00:06:06,540 --> 00:06:08,630 pwobableman ou vle sèvi ak yon overfloat doub. 135 00:06:08,630 --> 00:06:11,250 Koulye a, pou pi fò nan travay ou a CS50, yon flote ta dwe sifi. 136 00:06:11,250 --> 00:06:15,340 Men, konnen ke double egziste kòm yon fason yo yon ti jan fè fas ak presizyon an 137 00:06:15,340 --> 00:06:20,980 pwoblèm pa ban nou yon siplemantè 32 Bits yo travay avèk pou chif ou yo. 138 00:06:20,980 --> 00:06:23,650 >> Koulye a, sa a se pa yon kalite done. 139 00:06:23,650 --> 00:06:24,390 Sa a se yon kalite. 140 00:06:24,390 --> 00:06:25,340 Ak sa yo rele anile. 141 00:06:25,340 --> 00:06:27,506 Apre sa, mwen ap pale de li isit la paske nou te pwobableman 142 00:06:27,506 --> 00:06:29,520 wè l 'yon fwa kèk deja nan CS50. 143 00:06:29,520 --> 00:06:32,020 Epi ou ka mande ki sa li la tout bagay sou. 144 00:06:32,020 --> 00:06:33,390 >> Se konsa, anile se yon kalite. 145 00:06:33,390 --> 00:06:34,097 Li egziste. 146 00:06:34,097 --> 00:06:35,180 Men se pa yon kalite done. 147 00:06:35,180 --> 00:06:39,350 >> Nou pa kapab kreye yon varyab nan kalite anile epi bay yon valè nan li. 148 00:06:39,350 --> 00:06:42,519 Men, fonksyon, pou egzanp, ka gen yon kalite retounen anile. 149 00:06:42,519 --> 00:06:45,060 Fondamantalman, si ou wè yon fonksyon ki gen yon kalite retounen anile, 150 00:06:45,060 --> 00:06:46,970 sa vle di li pa retounen yon valè. 151 00:06:46,970 --> 00:06:49,440 Èske ou ka panse a yon komen fonksyon ke nou te itilize byen lwen tèlman 152 00:06:49,440 --> 00:06:52,780 nan CS50 ki pa retounen yon valè? 153 00:06:52,780 --> 00:06:54,700 >> Printf se youn. 154 00:06:54,700 --> 00:06:56,820 Printf fè sa ki pa aktyèlman retounen anyen nan ou. 155 00:06:56,820 --> 00:06:59,850 Li simagri yon bagay yo nan ekran, epi li fondamantalman 156 00:06:59,850 --> 00:07:01,650 yon efè segondè nan sa ki printf fè. 157 00:07:01,650 --> 00:07:03,620 Men, li pa ba ou yon valè tounen. 158 00:07:03,620 --> 00:07:08,419 Ou pa pran rezilta a ak magazen li nan kèk varyab yo sèvi ak li pita sou. 159 00:07:08,419 --> 00:07:10,710 Li jis simagri yon bagay yo ekran an ak w ap fè. 160 00:07:10,710 --> 00:07:14,360 >> Se konsa, nou di ke printf se yon fonksyon anile. 161 00:07:14,360 --> 00:07:16,450 Li retounen pa gen anyen. 162 00:07:16,450 --> 00:07:18,580 >> Lis la perimèt nan yon fonksyon kapab tou gen pou anile. 163 00:07:18,580 --> 00:07:21,410 Apre sa, ou te tou wè ki byen yon ti jan nan CS50 tou. 164 00:07:21,410 --> 00:07:22,300 Int anile prensipal la. 165 00:07:22,300 --> 00:07:23,260 Èske sa sonnen yon klòch? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Fondamantalman ki sa sa vle di se ke prensipal pa pran okenn paramèt. 168 00:07:27,220 --> 00:07:29,520 Gen nan pa gen agiman ki debarase pase nan prensipal la. 169 00:07:29,520 --> 00:07:32,780 Koulye a, pita sou nou pral wè ki di ke gen yon fason yo pase agiman an prensipal yo, 170 00:07:32,780 --> 00:07:36,189 men byen lwen tèlman sa nou te wè se int anile prensipal la. 171 00:07:36,189 --> 00:07:37,730 Main jis pa pran okenn agiman. 172 00:07:37,730 --> 00:07:40,236 Se konsa, nou presize ke lè li di anile. 173 00:07:40,236 --> 00:07:42,110 Nou ap jis ke yo te trè eksplisit sou lefèt 174 00:07:42,110 --> 00:07:44,430 ke li pa pran okenn agiman. 175 00:07:44,430 --> 00:07:47,160 >> Se konsa, pou kounye a, sufi li vle di ke anile fondamantalman 176 00:07:47,160 --> 00:07:50,789 ta dwe jis yon kontneur sèvi kòm pou ou kòm panse sou kòm pa gen anyen. 177 00:07:50,789 --> 00:07:52,080 Li nan pa reyèlman fè anyen. 178 00:07:52,080 --> 00:07:53,550 Gen nan pa gen valè retounen isit la. 179 00:07:53,550 --> 00:07:54,770 Gen nan pa gen paramèt isit la. 180 00:07:54,770 --> 00:07:55,709 Li nan anile. 181 00:07:55,709 --> 00:07:57,250 Li se yon ti kras pi konplike pase sa. 182 00:07:57,250 --> 00:08:00,640 Men, sa a ta dwe sifi pou pati nan pi bon nan kou a. 183 00:08:00,640 --> 00:08:05,010 Ak èspere ke kounye a ou gen yon ti kras ti jan pi plis nan yon konsèp nan sa ki anile se. 184 00:08:05,010 --> 00:08:08,460 >> Se konsa, sa yo se senk kalite yo ou pral rankontre ke yo bati-an nan C. 185 00:08:08,460 --> 00:08:10,670 Men, nan CS50 nou gen tou yon bibliyotèk. 186 00:08:10,670 --> 00:08:13,550 CS50.h, ki ou ka gen ladan yo. 187 00:08:13,550 --> 00:08:15,930 Epi ki ap ofri ou ak de kalite adisyonèl 188 00:08:15,930 --> 00:08:18,280 ke ou ap pwobableman kapab yo sèvi ak sou devwa ou, 189 00:08:18,280 --> 00:08:21,210 oswa jis k ap travay jeneralman pwogramasyon. 190 00:08:21,210 --> 00:08:23,030 >> Premye a nan sa yo se bouleen. 191 00:08:23,030 --> 00:08:26,780 Se konsa, kalite nan done Boolean, bouleen, ki itilize pou varyab 192 00:08:26,780 --> 00:08:28,114 ki pral magazen se yon valè Boolean. 193 00:08:28,114 --> 00:08:29,863 Si ou te janm tande tèm sa a anvan, ou 194 00:08:29,863 --> 00:08:31,960 ta ka konnen ke yon Boolean valè ki kapab sèlman 195 00:08:31,960 --> 00:08:34,440 kenbe de diferan valè diferan. 196 00:08:34,440 --> 00:08:35,872 Vrè ak fo. 197 00:08:35,872 --> 00:08:37,580 Koulye a, sa a sanble bèl fondamantal, dwa? 198 00:08:37,580 --> 00:08:40,496 Li nan kalite yon sipriz ke sa a pa egziste nan C kòm li a bati-an. 199 00:08:40,496 --> 00:08:42,640 Ak nan plizyè lang modèn, nan kou, Booleans 200 00:08:42,640 --> 00:08:45,390 se yon kalite estanda done default. 201 00:08:45,390 --> 00:08:47,192 Men, nan C, yo ap aktyèlman pa. 202 00:08:47,192 --> 00:08:48,400 Men, nou te kreye li pou ou. 203 00:08:48,400 --> 00:08:51,910 Se konsa, si ou te janm bezwen yo kreye yon varyab ki gen di ki kalite se bouleen, 204 00:08:51,910 --> 00:08:55,230 jis asire w ke ou # enkli CS50.h nan kòmansman an nan pwogram ou an, 205 00:08:55,230 --> 00:08:57,800 epi ou pral kapab kreye varyab nan kalite la bouleen. 206 00:08:57,800 --> 00:09:02,095 >> Si ou bliye fè # enkli CS50.h, ak ou kòmanse lè l sèvi avèk varyab Boolean-kalite, 207 00:09:02,095 --> 00:09:04,970 ou ta ka rankontre kèk pwoblèm lè w ap konpile pwogram ou an. 208 00:09:04,970 --> 00:09:06,490 Se konsa, jis pou vijilan a pou sa. 209 00:09:06,490 --> 00:09:11,180 E petèt ou ka jis ranje a pwoblèm pa liv ki gen ladan cs50.h. 210 00:09:11,180 --> 00:09:14,590 >> Lòt gwo kalite nan done ke nou bay pou ou nan bibliyotèk la CS50 211 00:09:14,590 --> 00:09:15,670 se fisèl. 212 00:09:15,670 --> 00:09:17,130 Se konsa, sa se yon fisèl? 213 00:09:17,130 --> 00:09:18,520 Fisèl yo se reyèlman jis mo yo. 214 00:09:18,520 --> 00:09:20,000 Yo ap koleksyon nan karaktè. 215 00:09:20,000 --> 00:09:20,640 Yo ap mo yo. 216 00:09:20,640 --> 00:09:21,390 Yo ap fraz. 217 00:09:21,390 --> 00:09:22,480 Yo ap paragraf yo. 218 00:09:22,480 --> 00:09:25,850 Ta ka liv antye, menm. 219 00:09:25,850 --> 00:09:29,690 >> Trè kout nan trè long seri de karaktè. 220 00:09:29,690 --> 00:09:34,310 Si ou bezwen sèvi ak strings, pou egzanp, nan magazen yon mo, 221 00:09:34,310 --> 00:09:37,609 jis asire w ke ou gen ladan CS50.h nan kòmansman an nan pwogram ou an 222 00:09:37,609 --> 00:09:38,900 se konsa ou ka sèvi ak kalite a fisèl. 223 00:09:38,900 --> 00:09:43,910 Lè sa a, ou kapab kreye varyab ki gen kalite done se fisèl. 224 00:09:43,910 --> 00:09:46,160 Koulye a, pita sou nan kou a, nou pral wè tou ke sa a, se 225 00:09:46,160 --> 00:09:47,752 pa istwa a tout antye, swa. 226 00:09:47,752 --> 00:09:49,460 Nou pral rankontre bagay rele estrikti, 227 00:09:49,460 --> 00:09:54,249 ki pèmèt ou nan gwoup sa ki ka konsidere yon nonb antye relatif ak yon fisèl nan yon sèl inite. 228 00:09:54,249 --> 00:09:56,290 Apre sa, nou ka sèvi ak sa pou kèk objektif, ki ta ka 229 00:09:56,290 --> 00:09:57,750 vini an sou la men pita sou nan kou a. 230 00:09:57,750 --> 00:09:59,500 >> Epitou, n ap aprann tou sou defini kalite, 231 00:09:59,500 --> 00:10:01,720 ki pèmèt ou kreye kalite pwòp done ou. 232 00:10:01,720 --> 00:10:03,060 Nou pa bezwen enkyete sou sa pou kounye a. 233 00:10:03,060 --> 00:10:04,550 Men, jis konnen ke sa a, se yon bagay sou orizon an, 234 00:10:04,550 --> 00:10:07,633 ke gen nan yon anpil plis nan tout sa a bagay di ki pase mwen di ou jis 235 00:10:07,633 --> 00:10:08,133 kounye a. 236 00:10:08,133 --> 00:10:10,591 Se konsa, kounye a ke nou te aprann yon ti kras sou done yo debaz 237 00:10:10,591 --> 00:10:14,230 kalite ak kalite yo done CS50, se pou yo pale sou fason yo travay avèk varyab 238 00:10:14,230 --> 00:10:18,530 ak kreye lè l sèvi avèk sa yo yo kalite done nan pwogram nou yo. 239 00:10:18,530 --> 00:10:22,670 Si ou vle kreye yon varyab, tout sa ou bezwen fè se de bagay sa yo. 240 00:10:22,670 --> 00:10:24,147 >> Premyèman, ou bezwen bay li yon kalite. 241 00:10:24,147 --> 00:10:26,230 Bagay la dezyèm ou bezwen fè se bay li yon non. 242 00:10:26,230 --> 00:10:28,740 Yon fwa ou te fè sa ak jifle yon virgules nan fen ke liy, 243 00:10:28,740 --> 00:10:29,830 ou te kreye yon varyab. 244 00:10:29,830 --> 00:10:32,370 >> Se konsa, isit la nan de egzanp. 245 00:10:32,370 --> 00:10:35,744 Nimewo Int; Char lèt ;. 246 00:10:35,744 --> 00:10:36,660 -Kisa M 'fè isit la? 247 00:10:36,660 --> 00:10:38,110 Mwen te kreye de varyab. 248 00:10:38,110 --> 00:10:40,190 >> Premye a, nan la varyab non se kantite. 249 00:10:40,190 --> 00:10:44,830 Ak nimewo se kapab nan kenbe nonb antye relatif tape valè, paske kalite li yo se int. 250 00:10:44,830 --> 00:10:48,040 Lèt se yon lòt varyab ki kapab kenbe karaktè 251 00:10:48,040 --> 00:10:50,240 paske kalite done li yo se Char. 252 00:10:50,240 --> 00:10:51,772 >> Trè dwat, dwa? 253 00:10:51,772 --> 00:10:53,480 Si ou jwenn tèt ou nan yon sitiyasyon kote 254 00:10:53,480 --> 00:10:56,250 ou bezwen yo kreye miltip varyab nan kalite la menm, 255 00:10:56,250 --> 00:10:58,740 ou sèlman bezwen presize non nan kalite yon fwa. 256 00:10:58,740 --> 00:11:01,600 Lè sa a, jis lis kòm anpil varyab nan ki di ki jan ou bezwen. 257 00:11:01,600 --> 00:11:04,230 >> Se konsa, mwen te kapab pou egzanp, isit la nan liy sa a twa moun ki sou kòd, 258 00:11:04,230 --> 00:11:07,420 di wotè int ;, nouvo liy. 259 00:11:07,420 --> 00:11:08,291 Int lajè ;. 260 00:11:08,291 --> 00:11:09,290 Epi sa ta travay tou. 261 00:11:09,290 --> 00:11:12,039 Mwen ta toujou jwenn de varyab rele wotè ak lajè, chak nan yo ki 262 00:11:12,039 --> 00:11:12,730 se yon nonb antye relatif. 263 00:11:12,730 --> 00:11:16,970 Men, mwen pèmèt yo, bagay sa yo nan C sentaks, konsolide l 'nan yon sèl liy. 264 00:11:16,970 --> 00:11:20,230 Int wotè, lajè; Li nan menm bagay la. 265 00:11:20,230 --> 00:11:23,900 Mwen te kreye de varyab, yon sèl rele wotè yon sèl rele lajè, tou de kote 266 00:11:23,900 --> 00:11:26,730 yo kapab nan kenbe valè kalite nonb antye relatif. 267 00:11:26,730 --> 00:11:30,920 >> Menm jan an tou isit la, mwen kapab kreye twa valè pwen k ap flote nan yon fwa. 268 00:11:30,920 --> 00:11:33,350 Mwen kapab petèt kreye yon varyab rele rasin kare nan 2-- 269 00:11:33,350 --> 00:11:35,766 ki prezimableman pral evantyèlman kenbe point-- la k ap flote 270 00:11:35,766 --> 00:11:39,222 ki reprezantasyon nan kare a rasin nan 2-- rasin kare nan 3, ak pi. 271 00:11:39,222 --> 00:11:41,180 Mwen te kapab te fè sa a sou twa liy ki apa a. 272 00:11:41,180 --> 00:11:47,690 Flote, rasin kare 2; Flote rasin kare 3; flote pi; e ke ta travay tou. 273 00:11:47,690 --> 00:11:50,590 >> Men, ankò, mwen ka jis konsolide sa a nan yon sèl liy nan kòd. 274 00:11:50,590 --> 00:11:54,050 Fè bagay sa yo yon ti jan pi kout, pa tankou clunky. 275 00:11:54,050 --> 00:11:57,259 >> Koulye a, an jeneral, li nan bon konsepsyon sèlman deklare yon varyab lè ou bezwen li. 276 00:11:57,259 --> 00:11:59,050 Epitou, n ap pale yon ti kras ti jan pi plis sou sa 277 00:11:59,050 --> 00:12:00,945 pita sou nan kou a lè nou diskite sou sijè ki abòde. 278 00:12:00,945 --> 00:12:03,320 Se konsa, pa nesesèman bezwen kreye tout nan varyab ou 279 00:12:03,320 --> 00:12:05,990 nan kòmansman an nan pwogram nan, ki gen kèk moun ki ta ka te fè tan lontan an, 280 00:12:05,990 --> 00:12:08,700 oswa te sètènman yon trè komen kodaj pratik anpil ane de sa 281 00:12:08,700 --> 00:12:11,700 lè w ap travay ak C. ou ta ka jis vle kreye yon dwa varyab lè 282 00:12:11,700 --> 00:12:13,140 ou bezwen li. 283 00:12:13,140 --> 00:12:13,640 Tout dwa. 284 00:12:13,640 --> 00:12:15,150 Se konsa, nou te kreye varyab. 285 00:12:15,150 --> 00:12:16,790 Ki jan nou sèvi ak yo? 286 00:12:16,790 --> 00:12:18,650 Apre nou deklare yon varyab, nou pa bezwen 287 00:12:18,650 --> 00:12:21,237 ou presize kalite a done nan ki varyab ankò. 288 00:12:21,237 --> 00:12:24,070 An reyalite, si ou fè sa, ou ta ka fini ak kèk konsekans etranj 289 00:12:24,070 --> 00:12:25,490 ke nou pral kalite enteprete sou pou kounye a. 290 00:12:25,490 --> 00:12:27,365 Men, sufi li vle di, bagay etranj yo ale 291 00:12:27,365 --> 00:12:30,740 yo kòmanse ap pase si ou inadvèrtans re-deklare varyab ak non an menm 292 00:12:30,740 --> 00:12:32,210 sou yo ak sou. 293 00:12:32,210 --> 00:12:33,882 >> Se konsa, isit la mwen gen kat liy nan kòd. 294 00:12:33,882 --> 00:12:36,090 Apre sa, mwen gen yon koup nan kòmantè gen jis ki endike 295 00:12:36,090 --> 00:12:37,840 sa k ap pase sou chak liy jis ede 296 00:12:37,840 --> 00:12:40,520 ou jwenn sitiye nan nan sa k ap pase sou. 297 00:12:40,520 --> 00:12:41,520 Se konsa, int nimewo ;. 298 00:12:41,520 --> 00:12:42,520 Ou te wè ki te deja. 299 00:12:42,520 --> 00:12:44,000 Sa se yon deklarasyon varyab. 300 00:12:44,000 --> 00:12:46,670 >> Mwen te kounye a kreye yon varyab rele nimewo sa a, se 301 00:12:46,670 --> 00:12:48,970 ki kapab kenbe valè nonb antye relatif-kalite. 302 00:12:48,970 --> 00:12:50,210 Mwen te deklare li. 303 00:12:50,210 --> 00:12:53,770 >> Liy nan pwochen mwen plase se yon valè ak kantite. 304 00:12:53,770 --> 00:12:54,992 Nimewo egal 17. 305 00:12:54,992 --> 00:12:55,950 Ki sa ki pase la? 306 00:12:55,950 --> 00:12:58,880 M 'ap mete nimewo a 17 andedan nan ki varyab. 307 00:12:58,880 --> 00:13:02,760 >> Se konsa, si mwen janm Lè sa a, enprime konnen ki sa ki sa ki nan nimewo yo pita sou, 308 00:13:02,760 --> 00:13:04,030 yo pral di m 'li an 17. 309 00:13:04,030 --> 00:13:07,030 Se konsa, mwen te deklare yon varyab, ak Lè sa a mwen te asiyen li. 310 00:13:07,030 --> 00:13:10,570 >> Nou ka repete pwosesis la ankò ak lèt ​​Char ;. 311 00:13:10,570 --> 00:13:11,640 Sa se yon deklarasyon. 312 00:13:11,640 --> 00:13:14,010 Lèt egal kapital H. Sa a yon devwa. 313 00:13:14,010 --> 00:13:16,030 Trè dwat, tou. 314 00:13:16,030 --> 00:13:18,319 >> Koulye a, sa a ta ka pwosesis sanble kalite dwòl. 315 00:13:18,319 --> 00:13:20,110 Poukisa nou fè sa nan de liy nan kòd? 316 00:13:20,110 --> 00:13:21,401 Èske gen yon pi bon fason yo fè sa? 317 00:13:21,401 --> 00:13:22,250 An reyalite, gen. 318 00:13:22,250 --> 00:13:24,375 Pafwa ou ta ka wè sa a yo rele inisyalizasyon. 319 00:13:24,375 --> 00:13:28,446 Li nan lè ou deklare yon varyab epi bay yon valè nan menm tan an. 320 00:13:28,446 --> 00:13:30,320 Sa a se aktyèlman yon trè bagay komen nan fè. 321 00:13:30,320 --> 00:13:32,870 Lè ou kreye yon varyab, ou anjeneral vle li nan gen kèk valè de baz yo. 322 00:13:32,870 --> 00:13:34,330 Menm si li nan 0 oswa yon bagay. 323 00:13:34,330 --> 00:13:36,180 Ou jis ou bay li yon valè. 324 00:13:36,180 --> 00:13:38,360 >> Ou ka inisyalize yon varyab. 325 00:13:38,360 --> 00:13:42,320 Int nimewo egal 17 se menm jan ak de premye liy ki nan kòd moute pi wo a. 326 00:13:42,320 --> 00:13:46,829 Char lèt egal h se menm bagay la kòm nan liy twazyèm ak katriyèm nan kòd pi wo a. 327 00:13:46,829 --> 00:13:49,620 Takeaway ki pi enpòtan isit la lè nou ap deklare ak plase 328 00:13:49,620 --> 00:13:51,740 varyab se apre nou te deklare li, avi 329 00:13:51,740 --> 00:13:53,700 Mwen pa lè l sèvi avèk kalite nan done ankò. 330 00:13:53,700 --> 00:13:57,916 Mwen pa di nimewo int egal 17 sou liy nan dezyèm nan kòd, pou egzanp. 331 00:13:57,916 --> 00:13:59,290 Mwen jis di nimewo egal 17. 332 00:13:59,290 --> 00:14:02,537 >> Yon fwa ankò, re-deklare yon varyab apre ou te deja deklare li kapab mennen 333 00:14:02,537 --> 00:14:03,620 nan kèk konsekans etranj. 334 00:14:03,620 --> 00:14:05,950 Se konsa, jis dwe fè atansyon nan sa. 335 00:14:05,950 --> 00:14:06,660 >> Mwen se Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Lè sa a se CS50. 337 00:14:08,870 --> 00:14:10,499