1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> SPEAKER 1: Okay. 3 00:00:00,860 --> 00:00:03,260 Det sidste program var lidt kedeligt. 4 00:00:03,260 --> 00:00:05,510 Lad os gå videre og personliggøre dette en lille smule. 5 00:00:05,510 --> 00:00:07,710 Snarere end at sige goddag verden, hvorfor vi ikke gå videre 6 00:00:07,710 --> 00:00:09,680 og sige, hej David? 7 00:00:09,680 --> 00:00:12,500 Nå, for at gøre dette, kunne jeg nærme dette i et par måder. 8 00:00:12,500 --> 00:00:15,760 Jeg kunne selvfølgelig bare svært kode David, men det er ikke alle, der 9 00:00:15,760 --> 00:00:17,650 fundamentalt anderledes fra den sidste version. 10 00:00:17,650 --> 00:00:21,430 Så lad os tage et spring fremad, fortryde at ændre sig, og i stedet indsætte en ny 11 00:00:21,430 --> 00:00:23,980 linje kode, hvor linie fem var engang. 12 00:00:23,980 --> 00:00:28,970 >> Konkret, hvad jeg har tænkt mig at gøre her er at tilføje i strengen navn, og derved 13 00:00:28,970 --> 00:00:30,920 erklære en variabel. 14 00:00:30,920 --> 00:00:34,240 Bemærk, at i C, ikke kun du har at give en variabel et navn, som i 15 00:00:34,240 --> 00:00:38,110 dette tilfælde er navn, har du også at angive, hvilken type det er. 16 00:00:38,110 --> 00:00:41,970 Vi vil se andre typer inden længe, ​​blandt dem heltal og decimaltal 17 00:00:41,970 --> 00:00:46,480 værdier og mere, men for nu, snor er bare et ord eller en sætning, mere 18 00:00:46,480 --> 00:00:49,340 formelt en sekvens af nul eller flere tegn. 19 00:00:49,340 --> 00:00:53,760 Så i det øjeblik, denne linje fem er ordsprog, giv mig en variabel kaldet navn 20 00:00:53,760 --> 00:00:56,560 hvis datatype er streng. 21 00:00:56,560 --> 00:01:00,460 >> Nu ønsker jeg at gemme en værdi i der, og at gøre det i C, bruger vi lige 22 00:01:00,460 --> 00:01:03,030 log, ellers kendt som opgave operatør. 23 00:01:03,030 --> 00:01:04,860 Så jeg har tænkt mig at gøre følgende. 24 00:01:04,860 --> 00:01:10,220 Lig citat, citat slut, D-A-V-I-D, lukket citat, semikolon. 25 00:01:10,220 --> 00:01:15,595 Nettoeffekten på linje fem er nu at erklære en streng, D-A-V-I-D, lagring 26 00:01:15,595 --> 00:01:19,480 det fra højre side af denne udtryk i variablen på 27 00:01:19,480 --> 00:01:21,480 venstre side af denne ekspression. 28 00:01:21,480 --> 00:01:25,970 Så ved slutningen af ​​denne linje, vi har D-A-V-I-D lagret inde i en variabel 29 00:01:25,970 --> 00:01:27,450 kaldet navn. 30 00:01:27,450 --> 00:01:28,910 >> Lad os nu bruge denne variabel. 31 00:01:28,910 --> 00:01:35,010 På linje seks, vil jeg udskifte verden med en pladsholder. 32 00:01:35,010 --> 00:01:39,960 % S er defineret i henhold til den dokumentation for printf som værende en 33 00:01:39,960 --> 00:01:41,690 pladsholder for en streng. 34 00:01:41,690 --> 00:01:44,620 Med andre ord, er det en måde at informere printf, som jeg har tænkt mig at sætte 35 00:01:44,620 --> 00:01:47,930 en anden værdi her, men lad mig fortælle dig i bare et øjeblik, hvad 36 00:01:47,930 --> 00:01:49,180 det kommer til at være. 37 00:01:49,180 --> 00:01:52,800 Nu, hvordan kan jeg gå til at fortælle printf hvad denne værdi kommer til at være? 38 00:01:52,800 --> 00:01:56,850 >> Tja, jeg har brug for at give printf med en andet argument, og at gøre det, jeg 39 00:01:56,850 --> 00:02:00,460 brug for at sætte et komma efter den første argument, som blev dette citeret 40 00:02:00,460 --> 00:02:04,990 streng, og så er jeg nødt til at præcisere, hvad der værdi, jeg ønsker at sætte ind i det 41 00:02:04,990 --> 00:02:07,010 første argument er pladsholder. 42 00:02:07,010 --> 00:02:10,880 Så navnet på min variabel er af kursus, navn, så det er tilstrækkeligt at skrive 43 00:02:10,880 --> 00:02:14,000 "Navn", som den anden argument til printf. 44 00:02:14,000 --> 00:02:15,070 Nu skal du ikke blive vildledt. 45 00:02:15,070 --> 00:02:20,440 Selv om der er et komma indersiden af den citerede streng, det er faktisk 46 00:02:20,440 --> 00:02:24,370 indersiden af ​​snoren, så det ikke adskille ét argument fra hinanden. 47 00:02:24,370 --> 00:02:28,740 Kun denne komma, der er uden for denne citeret streng faktisk adskiller 48 00:02:28,740 --> 00:02:31,700 printf første argument fra sit andet argument. 49 00:02:31,700 --> 00:02:34,270 >> Lad os nu kompilere dette program. 50 00:02:34,270 --> 00:02:36,500 Foretag hej én. 51 00:02:36,500 --> 00:02:39,570 Åh min godhed, fem fejl genereret, og min programmets 52 00:02:39,570 --> 00:02:41,100 kun syv linjer lang. 53 00:02:41,100 --> 00:02:44,720 Nå, som altid, ikke se på det sidste af fejl på din skærm. 54 00:02:44,720 --> 00:02:47,960 Kig på allerførste fordi måske der er en dominoeffekt, hvorved 55 00:02:47,960 --> 00:02:51,600 bare én fejl op top skabte forekomsten af ​​flere fejl end der 56 00:02:51,600 --> 00:02:52,570 faktisk er. 57 00:02:52,570 --> 00:02:56,620 >> Så lad mig rulle op, og den første boldfaced fejl her er brugen af 58 00:02:56,620 --> 00:02:59,140 sort identifikator streng. 59 00:02:59,140 --> 00:03:00,630 Mente du standard i? 60 00:03:00,630 --> 00:03:01,990 Nå nej, det gjorde jeg ikke. 61 00:03:01,990 --> 00:03:06,700 Jeg betød streng, men det viser sig, jeg glemte, at strengen ikke eksisterer som en 62 00:03:06,700 --> 00:03:10,830 datatype teknisk i C. Konceptuelt det eksisterer, men ordet 63 00:03:10,830 --> 00:03:16,210 "Streng" kun eksisterer, fordi det CS50 personale har erklæret det, så at sige, 64 00:03:16,210 --> 00:03:18,160 i en fil, som vi selv har skrevet. 65 00:03:18,160 --> 00:03:22,540 I virkeligheden, bare som en person længe siden erklærede printf funktion i en fil 66 00:03:22,540 --> 00:03:28,310 kaldet Standard IO.H, så gjorde vi det personale erklære streng som en datatype i 67 00:03:28,310 --> 00:03:32,470 en fil, der, ikke overraskende, kaldes CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> Så lad os gå tilbage til toppen af ​​min programmere og informere compiler, 69 00:03:36,340 --> 00:03:40,130 ikke kun jeg vil bruge symbolet streng, jeg ønsker også at uddanne 70 00:03:40,130 --> 00:03:42,160 compiler på, hvad dette symbol betyder. 71 00:03:42,160 --> 00:03:47,010 Og for at gøre det ganske enkelt, kan jeg gå tilbage til linie et, indsætte en ny linje 72 00:03:47,010 --> 00:03:54,070 her, og tilføje "omfatter CS50.H" også mellem vinklede parenteser. 73 00:03:54,070 --> 00:03:58,170 Denne instruktion, meget gerne, at nu på linje to, kommer til at informere 74 00:03:58,170 --> 00:04:02,460 compiler, bør det indeholde indholdet af CS50.H uanset hvor de befinder 75 00:04:02,460 --> 00:04:06,620 i min harddisk inde i mit program, derved uddanne compiler som til 76 00:04:06,620 --> 00:04:09,050 hvad der menes med strengen. 77 00:04:09,050 --> 00:04:13,420 >> Lad os genkompilere mit program efter at gemme ændringerne. 78 00:04:13,420 --> 00:04:15,500 Foretag hej én. 79 00:04:15,500 --> 00:04:16,440 Enter. 80 00:04:16,440 --> 00:04:17,730 Meget bedre. 81 00:04:17,730 --> 00:04:23,760 Nu har jeg en blinkende prompt, hvor jeg kan skrive ". / hello ene", og voila. 82 00:04:23,760 --> 00:04:25,010 Hej David. 83 00:04:25,010 --> 00:04:26,402