1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> Tagapagsalita 1: Ang lahat ng karapatan. 3 00:00:00,860 --> 00:00:03,260 Iyon huling programa ay isang maliit na mayamot. 4 00:00:03,260 --> 00:00:05,510 Sabihin sige at i-personalize ito nang kaunti. 5 00:00:05,510 --> 00:00:07,710 Sa halip na i-kamustahin mundo, bakit hindi kami sige 6 00:00:07,710 --> 00:00:09,680 at sinasabi, kumusta David? 7 00:00:09,680 --> 00:00:12,500 Well, upang gawin ito, maaari ko bang lapitan ito sa ilang mga paraan. 8 00:00:12,500 --> 00:00:15,760 Magagawa ko, siyempre, lamang na hard code David, ngunit iyan ay hindi lahat na 9 00:00:15,760 --> 00:00:17,650 sa panimula iba't ibang mula sa nakaraang bersyon. 10 00:00:17,650 --> 00:00:21,430 Kaya ipaalam sa tumagal ng isang tumalon pasulong, i-undo na baguhin, at sa halip ay ipasok ang isang bagong 11 00:00:21,430 --> 00:00:23,980 linya ng code kung saan limang linya nang isang beses ay. 12 00:00:23,980 --> 00:00:28,970 >> Sa partikular, kung ano ako pagpunta sa gawin dito ay magdagdag sa string pangalan, at sa gayon 13 00:00:28,970 --> 00:00:30,920 deklarasyon ng variable. 14 00:00:30,920 --> 00:00:34,240 Pansinin na sa C, hindi lamang ang mayroon kang upang bigyan ang isang variable ng isang pangalan, na sa 15 00:00:34,240 --> 00:00:38,110 kasong ito ay pangalan, mayroon ka ring upang tukuyin kung anong uri ito ay. 16 00:00:38,110 --> 00:00:41,970 Susubukan naming makita ang iba pang mga uri ng bago mahaba, bukod sa sila integer at lumulutang point 17 00:00:41,970 --> 00:00:46,480 mga halaga at higit pa, ngunit sa ngayon, string ay lamang ng isang salita o parirala, higit pa 18 00:00:46,480 --> 00:00:49,340 pormal, isang pagkakasunod-sunod ng zero o higit pang mga character. 19 00:00:49,340 --> 00:00:53,760 Kaya sa sandaling ito, ang linya ng limang ay na nagsasabi, ninyo ako ng variable na tinatawag na pangalan 20 00:00:53,760 --> 00:00:56,560 na kung saan ang uri ng data ay string. 21 00:00:56,560 --> 00:01:00,460 >> Ngayon, gusto kong mag-imbak ng isang halaga sa doon, at upang gawin iyon sa C, ginagamit namin ang katumbas 22 00:01:00,460 --> 00:01:03,030 mag-sign, kung hindi, na kilala bilang ang pagtatalaga operator. 23 00:01:03,030 --> 00:01:04,860 Kaya Pupunta ako sa magpatuloy bilang mga sumusunod. 24 00:01:04,860 --> 00:01:10,220 Kapantay quote, magpanipi, D-A-V-ko-D, closed quote, tuldok-kuwit. 25 00:01:10,220 --> 00:01:15,595 Ang net epekto sa limang linya ngayon ay upang magpahayag ng isang string, D-A-V-ko-D, pag-iimbak 26 00:01:15,595 --> 00:01:19,480 ito mula sa kanang bahagi ng ito na expression sa mga variable sa 27 00:01:19,480 --> 00:01:21,480 kaliwang bahagi ng ito expression. 28 00:01:21,480 --> 00:01:25,970 Kaya sa katapusan ng linyang ito, mayroon kaming D-A-V-ko-D na naka-imbak sa loob ng isang variable 29 00:01:25,970 --> 00:01:27,450 tinatawag na pangalan. 30 00:01:27,450 --> 00:01:28,910 >> Ngayon gumamit ng ito variable ipaalam. 31 00:01:28,910 --> 00:01:35,010 Sa anim na linya, ako pagpunta sa palitan mundo na may isang placeholder. 32 00:01:35,010 --> 00:01:39,960 % S ay tinukoy ayon sa mga dokumentasyon para sa printf bilang isang 33 00:01:39,960 --> 00:01:41,690 placeholder para sa isang string. 34 00:01:41,690 --> 00:01:44,620 Sa ibang salita, ito ay isang paraan ng pagpapabatid printf na pupuntahan ko ilalagay 35 00:01:44,620 --> 00:01:47,930 ilang ibang mga halaga dito, ngunit hayaan mo akong sabihin sa iyo sa isang sandali lamang kung ano 36 00:01:47,930 --> 00:01:49,180 ito ay pagpunta sa maging. 37 00:01:49,180 --> 00:01:52,800 Ngayon, paano ko magpatuloy kong sabihin printf kung ano ang halagang iyon ay magiging? 38 00:01:52,800 --> 00:01:56,850 >> Well, kailangan ko na magbigay ng printf sa isang pangalawang argumento, at upang gawin iyon, ako 39 00:01:56,850 --> 00:02:00,460 kailangan bang maglagay ng comma pagkatapos ng unang tulad argumento, na kung saan ay naka-quote na ito 40 00:02:00,460 --> 00:02:04,990 string, at pagkatapos ay kailangan ko upang tukuyin kung ano halaga na gusto kong mag-plug in na 41 00:02:04,990 --> 00:02:07,010 placeholder unang argumento ni. 42 00:02:07,010 --> 00:02:10,880 Kaya ang pangalan ng aking variable ay, ng Siyempre, pangalan, kaya suffices i-type ang 43 00:02:10,880 --> 00:02:14,000 "Pangalan" bilang ang pangalawang argumento sa printf. 44 00:02:14,000 --> 00:02:15,070 Ngayon ay hindi ma-misled. 45 00:02:15,070 --> 00:02:20,440 Kahit na mayroong isang kuwit sa loob ng ang naka-quote na string, iyon ay sa katunayan 46 00:02:20,440 --> 00:02:24,370 sa loob ng string kaya hindi paghiwalayin ang isang argument mula sa isa pang. 47 00:02:24,370 --> 00:02:28,740 Comma na nasa labas ng na lamang ito naka-quote na string aktwal na naghihiwalay 48 00:02:28,740 --> 00:02:31,700 unang argumento printf mula sa nito pangalawang argumento. 49 00:02:31,700 --> 00:02:34,270 >> Ngayon compile ng program na ito Hayaan. 50 00:02:34,270 --> 00:02:36,500 Gawing kumusta isa. 51 00:02:36,500 --> 00:02:39,570 Oh aking kabutihan, limang mga error na nabuo, at ang aking program 52 00:02:39,570 --> 00:02:41,100 pito lamang linya ang haba. 53 00:02:41,100 --> 00:02:44,720 Well, gaya ng lagi, huwag tingnan ang huling ng mga error sa iyong screen. 54 00:02:44,720 --> 00:02:47,960 Tumingin sa pinakaunang dahil di kaya mayroong isang cascading epekto kung saan 55 00:02:47,960 --> 00:02:51,600 tuktok na nilikha lamang ng isa error up ang hitsura ng higit pang mga error kaysa doon 56 00:02:51,600 --> 00:02:52,570 talaga ay. 57 00:02:52,570 --> 00:02:56,620 >> Kaya hayaan mo akong mag-scroll pataas, at ang unang tulad boldfaced error dito ay ang paggamit ng 58 00:02:56,620 --> 00:02:59,140 hindi nagbigay-alam identifier string. 59 00:02:59,140 --> 00:03:00,630 Ibig mo bang sabihin standard in? 60 00:03:00,630 --> 00:03:01,990 Well hindi, ginawa ko hindi. 61 00:03:01,990 --> 00:03:06,700 Ginawa ko ibig sabihin ng string, ngunit ito ay lumiliko out ako Nakalimutan na string ay hindi umiiral bilang isang 62 00:03:06,700 --> 00:03:10,830 type technically data sa C. Conceptually umiiral na ito, ngunit ang mga salita 63 00:03:10,830 --> 00:03:16,210 "String" ay umiiral lamang dahil ang CS50 kawani na ipinahayag ito, kaya na magsalita, 64 00:03:16,210 --> 00:03:18,160 sa isang file na na sinulat namin ang ating mga sarili. 65 00:03:18,160 --> 00:03:22,540 Sa katunayan, tulad ng isang tao matagal na ang nakalipas ipinahayag ang printf function na sa isang file 66 00:03:22,540 --> 00:03:28,310 na tinatawag na Standard IO.H, kaya ginawa namin ang Ipinahahayag string kawani bilang isang uri ng data sa 67 00:03:28,310 --> 00:03:32,470 na ang isang file, walang sorpresa, ay tinatawag na CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> Kaya sabihin bumalik sa tuktok ng aking programa at ipagbigay-alam ang tagatala na 69 00:03:36,340 --> 00:03:40,130 Hindi lamang ang gusto kong gamitin ang simbolong string, gusto ko rin upang turuan ang 70 00:03:40,130 --> 00:03:42,160 tagatala sa ano ang ibig sabihin ng simbolo na. 71 00:03:42,160 --> 00:03:47,010 At upang gawin iyon medyo simple, maaari ba akong pumunta back up sa line isa, magpasok ng isang bagong linya 72 00:03:47,010 --> 00:03:54,070 dito, at magdagdag ng, "Kabilang sa CS50.H," sa pagitan ng angled bracket din. 73 00:03:54,070 --> 00:03:58,170 Pagtuturo na ito, na halos tulad na ngayon sa dalawang linya, ay pagpunta upang ipaalam ang 74 00:03:58,170 --> 00:04:02,460 tagatala na dapat itong isama ang mga nilalaman ng CS50.H nasaan man sila 75 00:04:02,460 --> 00:04:06,620 sa aking hard drive sa loob ng aking mga programa, at sa gayon ay educating ang tagatala bilang sa 76 00:04:06,620 --> 00:04:09,050 kung ano ay sinadya sa pamamagitan ng string. 77 00:04:09,050 --> 00:04:13,420 >> Mag-recompile ng aking programa Hayaan pagkatapos i-save ang mga pagbabago. 78 00:04:13,420 --> 00:04:15,500 Gawing kumusta isa. 79 00:04:15,500 --> 00:04:16,440 Ipasok. 80 00:04:16,440 --> 00:04:17,730 Karamihan mas mahusay. 81 00:04:17,730 --> 00:04:23,760 Ngayon ba akong magkaroon ng isang nagbi-blink na prompt kung saan ako Maaari type, ". / kumusta isa," at voila. 82 00:04:23,760 --> 00:04:25,010 Kamusta David. 83 00:04:25,010 --> 00:04:26,402