1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> David J. MALAN: Załóżmy, że chciałbym wdrożyć program, który skłania 3 00:00:03,190 --> 00:00:06,650 Użytkownik na sznurku, a następnie przechodzi wykorzystać ich wkład, 4 00:00:06,650 --> 00:00:09,790 Konwersja dowolny małe litery tego typu są na wielkie litery. 5 00:00:09,790 --> 00:00:11,770 Cóż, idziemy do przodu i realizacji tego programu. 6 00:00:11,770 --> 00:00:18,760 >> Niech najpierw obejmują cs50.h następnie przez m.in. stdio.h. 7 00:00:18,760 --> 00:00:23,990 I tak, że możemy używać strlen, niech obejmują . 8 00:00:23,990 --> 00:00:29,860 >> Niech następny zadeklarować jako główny int main pustkę i niech teraz przystąpić do szybkiego 9 00:00:29,860 --> 00:00:31,600 Użytkownik na sznurku. 10 00:00:31,600 --> 00:00:34,840 Printf, niech zapyta ich za pośrednictwem wejścia. 11 00:00:34,840 --> 00:00:36,460 Teraz deklarują ciąg - 12 00:00:36,460 --> 00:00:37,630 nazwijmy go s - 13 00:00:37,630 --> 00:00:44,010 i przechowywać w nim wynik wywołania Funkcja GetString biblioteka CS50. 14 00:00:44,010 --> 00:00:48,850 >> Załóżmy teraz przystąpić do iteracyjne nad każdym z bohaterów s, wykorzystując 15 00:00:48,850 --> 00:00:50,650 jakieś małe litery, które widzimy. 16 00:00:50,650 --> 00:00:53,630 Do int, i dostać 0. 17 00:00:53,630 --> 00:00:58,780 Miejmy również oświadczyć, n, jest równe Długość ciąg s tak, że możemy 18 00:00:58,780 --> 00:01:03,590 iteracji od I aż n, Długość s, a na każdym 19 00:01:03,590 --> 00:01:05,760 iteracja przyrost i. 20 00:01:05,760 --> 00:01:09,970 >> I wtedy wewnątrz tej pętli, niech pierwsza kontrola jest obecny list - 21 00:01:09,970 --> 00:01:12,270 i-ta litera s, by tak rzec - 22 00:01:12,270 --> 00:01:14,170 mała litera. 23 00:01:14,170 --> 00:01:23,090 Jeśli s uchwyt i jest większa niż lub równa na małe, i jest to mniej 24 00:01:23,090 --> 00:01:26,900 niż lub równy mała litera z - 25 00:01:26,900 --> 00:01:30,860 Teraz jeśli chcemy przekształcić małe litery List na wielkie litery, przypomnieć po pierwsze, że 26 00:01:30,860 --> 00:01:35,810 ASCII małe jest 97 i wielkie jest 65. 27 00:01:35,810 --> 00:01:41,020 Tymczasem małe b jest 98, i wielkie litery B 66. 28 00:01:41,020 --> 00:01:44,180 >> Jeśli nadal będziemy patrzeć na ten wzór, zobaczymy, że małe 29 00:01:44,180 --> 00:01:49,240 litery są zawsze wyższe wartości 32 od wielkich liter. 30 00:01:49,240 --> 00:01:53,490 Więc jeśli chcemy przekonwertować z małymi literami na wielkie litery, to powinny 31 00:01:53,490 --> 00:01:57,210 wystarczy, naprawdę, aby odjąć 32 z wejścia użytkownika. 32 00:01:57,210 --> 00:02:01,330 Lub, bardziej ogólnie, po prostu odjąć, że różnica między małą literą, a 33 00:02:01,330 --> 00:02:02,310 A. Kapitał 34 00:02:02,310 --> 00:02:03,410 >> Jak wyrazić to? 35 00:02:03,410 --> 00:02:04,640 Dobrze, zróbmy to w kodzie. 36 00:02:04,640 --> 00:02:09,960 Printf, cytuję, cytatu "% c" do druku aktualny charakter, a następnie 37 00:02:09,960 --> 00:02:18,500 w druku, co jest minusem a ppkt i wspornika Wynik robi małą A 38 00:02:18,500 --> 00:02:22,660 minus wielkie litery średnikiem. 39 00:02:22,660 --> 00:02:27,010 Innymi słowy, w nawiasach wyrażenie, trochę minus duży, jest 40 00:02:27,010 --> 00:02:29,360 powróci do nas w Koniec 32 dniu. 41 00:02:29,360 --> 00:02:31,230 Ale nie mam do zapamiętania że to jest 32. 42 00:02:31,230 --> 00:02:34,150 Mogę pozwolić, aby dowiedzieć się komputer jaka jest różnica między małymi literami 43 00:02:34,150 --> 00:02:35,990 i kapitału jest. 44 00:02:35,990 --> 00:02:39,610 >> Tymczasem, gdy wiem, że różnica, Mogę odjąć go od s 45 00:02:39,610 --> 00:02:43,710 Uchwyt i, który odbędzie co przypuszczalnie mała litera z 46 00:02:43,710 --> 00:02:48,100 niższa wartość, czyli wartość, która odwzorowuje na ekwiwalent wielką. 47 00:02:48,100 --> 00:02:51,240 Załóżmy teraz zapisać, skompilować, i uruchomić ten program. 48 00:02:51,240 --> 00:02:57,760 Dodać wykorzystać kropki slash kapitalizowane. 49 00:02:57,760 --> 00:03:01,290 I mój wkład będzie komentarzy. 50 00:03:01,290 --> 00:03:02,920 I nie mamy, witam. 51 00:03:02,920 --> 00:03:05,570 >> Teraz moje polecenia, co prawda, jest trochę brzydki, ponieważ mamy 52 00:03:05,570 --> 00:03:07,810 pominięty jeden bit drukowania. 53 00:03:07,810 --> 00:03:09,370 I wróćmy i dodać, że. 54 00:03:09,370 --> 00:03:12,890 Na samym dole tego programu, Jestem bardzo prosto, w dużej mierze na 55 00:03:12,890 --> 00:03:18,440 estetyczny cel, zamiar dodać printf, cytat cytatu odwrotny ukośnik n. 56 00:03:18,440 --> 00:03:22,330 Załóżmy ponownie zapisać ten plik, rekompilacji, powtórzenie założeń. 57 00:03:22,330 --> 00:03:28,090 >> Sprawdź, wykorzystać, kropka kreska wykorzystać. 58 00:03:28,090 --> 00:03:32,540 Ponownie, dla wejścia będę zapewnić "hello" we wszystkich małych liter i teraz naciśnij Enter, 59 00:03:32,540 --> 00:03:34,550 i "hello", znacznie bardziej czysto wydrukowane. 60 00:03:34,550 --> 00:03:36,432