1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:02,690 >> DAVID Malan: Předpokládejme, že bychom chtěli napsat program, který vyzve uživatele 3 00:00:02,690 --> 00:00:05,100 na řetězec a pak zmobilizuje že řetězec. 4 00:00:05,100 --> 00:00:09,000 Dobře, pojďme začít s některými seznámit Kód deklarovat řetězec s názvem s a 5 00:00:09,000 --> 00:00:11,380 přiřazením návrat hodnota GetString. 6 00:00:11,380 --> 00:00:14,910 A pojďme se nyní přistoupit k iteraci znaky v tomto řetězci. 7 00:00:14,910 --> 00:00:16,000 No, jak to udělat, že? 8 00:00:16,000 --> 00:00:19,350 Ukazuje se, že řetězec je jen posloupnost znaků, ale 9 00:00:19,350 --> 00:00:23,320 správně, řetězec je pole znaky, což znamená, že můžeme použít 10 00:00:23,320 --> 00:00:27,590 hranatá závorka zápis do rejstříku do řetězec a dostat na individuální 11 00:00:27,590 --> 00:00:28,680 znaky. 12 00:00:28,680 --> 00:00:30,980 >> Jinými slovy, můžeme postupujte podle následujících pokynů. 13 00:00:30,980 --> 00:00:36,730 Pro int, i dostane 0, a n dostane, říci, délku s použitím 14 00:00:36,730 --> 00:00:37,530 naše funkce [? míchat?] 15 00:00:37,530 --> 00:00:38,630 [? linka,?] 16 00:00:38,630 --> 00:00:40,450 i je menší než n i + +. 17 00:00:40,450 --> 00:00:45,290 Jinými slovy, s této smyčky, se bude iterovat přes všechny n dopisy 18 00:00:45,290 --> 00:00:46,670 v řetězci s.. 19 00:00:46,670 --> 00:00:51,680 A v rámci této smyčky, budu zkontrolujte, je-li i-tý znak v s. 20 00:00:51,680 --> 00:00:57,630 větší než nebo rovnající se malá, a i-tý znak je menší než nebo 21 00:00:57,630 --> 00:01:02,370 rovná malá písmena c, pak chci, aby pokračovat využít ten dopis. 22 00:01:02,370 --> 00:01:08,030 Jinými slovy, chci tisknout% c jako zástupný symbol a náhrada v pro 23 00:01:08,030 --> 00:01:11,120 této zástupný symbol s držák i. 24 00:01:11,120 --> 00:01:14,390 >> Ale pak jsem třeba převést s držák i na velká písmena. 25 00:01:14,390 --> 00:01:18,930 Chcete-li to provést, mohu jednoduše odečíst bez ohledu na rozdíl mezi 26 00:01:18,930 --> 00:01:24,120 malá a kapitálu A. No, myslím, vlastně si vzpomínám, že kapitál je 27 00:01:24,120 --> 00:01:27,160 65 v ASCII, a velká 97. 28 00:01:27,160 --> 00:01:29,210 Takže rozdíl je technicky 32. 29 00:01:29,210 --> 00:01:31,620 Tak jsem mohl jen pevný kód 32 zde. 30 00:01:31,620 --> 00:01:33,870 Ale já nemusí nutně Pamatuji si ty čísla. 31 00:01:33,870 --> 00:01:37,250 >> A navíc, co když lišit v závislosti na počítači? 32 00:01:37,250 --> 00:01:38,520 S největší pravděpodobností to nejsou. 33 00:01:38,520 --> 00:01:42,460 Faktem ale zůstává, že mohu ještě zobecnit, že aritmetický výraz 34 00:01:42,460 --> 00:01:46,550 , jak jen to bez ohledu na rozdíl mezi malými písmeny A a kapitálu 35 00:01:46,550 --> 00:01:50,880 je to, co chci odečíst pryč od to zejména malé písmeno. 36 00:01:50,880 --> 00:01:54,500 >> Nyní, pokud tento konkrétní dopis není malá, jsem prostě 37 00:01:54,500 --> 00:01:56,620 chcete vytisknout. 38 00:01:56,620 --> 00:02:01,110 printf,% c jako můj zástupný symbol, s držák i. 39 00:02:01,110 --> 00:02:05,150 Ve spodní části tohoto programu, pojďme jednoduše vytisknout nový řádek, takže my 40 00:02:05,150 --> 00:02:07,520 se zobrazí výzva na nový Řada jeho vlastní. 41 00:02:07,520 --> 00:02:11,540 >> Pojďme se nyní zkompilovat tento program s make capitalize0. 42 00:02:11,540 --> 00:02:13,900 Pojďme spustit s capitalize0. 43 00:02:13,900 --> 00:02:17,190 A pojďme napište slovo, jako ahoj ve všech malými písmeny. 44 00:02:17,190 --> 00:02:19,960 Já se vrátím HELLO velkými písmeny jak se očekávalo. 45 00:02:19,960 --> 00:02:25,210 Ale pojďme zkusit ještě jeden test, tentokrát s mým vlastním jménem, ​​D--V-I-D, ale s 46 00:02:25,210 --> 00:02:28,170 první D aktivovány, pouze v Případ jsem zpackal něco nahoru 47 00:02:28,170 --> 00:02:29,430 s tou první char. 48 00:02:29,430 --> 00:02:34,250 Zadejte, a D--V-I-D velkými písmeny se vytiskne stejně. 49 00:02:34,250 --> 00:02:36,873