1
00:00:00,000 --> 00:00:00,340

2
00:00:00,340 --> 00:00:02,690
>> DAVID Malan: Stel dat we zouden willen schrijven
een programma dat de gebruiker wordt gevraagd

3
00:00:02,690 --> 00:00:05,100
voor een string en dan speelt
die string.

4
00:00:05,100 --> 00:00:09,000
Nou, laten we beginnen met een aantal bekende
code waarbij een reeks genaamd s en

5
00:00:09,000 --> 00:00:11,380
toe te wijzen de terugkeer
waarde van getString.

6
00:00:11,380 --> 00:00:14,910
En laten we nu overgaan tot meer dan herhalen
de personages in deze string.

7
00:00:14,910 --> 00:00:16,000
Nou, hoe dat te doen?

8
00:00:16,000 --> 00:00:19,350
Het blijkt dat een string is gewoon een
reeks tekens, maar meer

9
00:00:19,350 --> 00:00:23,320
goed, een string is een array van
karakters, wat betekent dat we kunnen gebruiken

10
00:00:23,320 --> 00:00:27,590
vierkante haakjesnotering naar index in
een string en krijgen op individueel

11
00:00:27,590 --> 00:00:28,680
karakters.

12
00:00:28,680 --> 00:00:30,980
>> Met andere woorden, we kunnen
het volgende doen.

13
00:00:30,980 --> 00:00:36,730
Voor int, ik krijgt 0 en n krijgt,
zeggen de lengte van s, met

14
00:00:36,730 --> 00:00:37,530
onze functie [? roer?]

15
00:00:37,530 --> 00:00:38,630
[? lijn,?]

16
00:00:38,630 --> 00:00:40,450
i kleiner dan n i + +.

17
00:00:40,450 --> 00:00:45,290
Met andere woorden, deze lus, we
zal itereren over alle n letters

18
00:00:45,290 --> 00:00:46,670
in de string s.

19
00:00:46,670 --> 00:00:51,680
En binnen deze lus, ga ik
controleren, als de i-de karakter s

20
00:00:51,680 --> 00:00:57,630
groter dan of gelijk aan een kleine letters,
en de i-de karakter dan of

21
00:00:57,630 --> 00:01:02,370
gelijk aan een kleine c, dan wil ik
overgaan tot die hoofdletter.

22
00:01:02,370 --> 00:01:08,030
Met andere woorden, ik wil uitprinten% c
als een tijdelijke aanduiding en substituut voor

23
00:01:08,030 --> 00:01:11,120
dat placeholder s beugel i.

24
00:01:11,120 --> 00:01:14,390
>> Maar dan moet ik om te zetten
s beugel i in hoofdletters.

25
00:01:14,390 --> 00:01:18,930
Om dit te doen, kan ik gewoon aftrekken
ongeacht het verschil tussen

26
00:01:18,930 --> 00:01:24,120
kleine letters a en kapitaal A. Nou, ik
eigenlijk niet herinneren dat hoofdletter A is

27
00:01:24,120 --> 00:01:27,160
65 in ASCII, en kleine een is 97.

28
00:01:27,160 --> 00:01:29,210
Het verschil is technisch 32.

29
00:01:29,210 --> 00:01:31,620
Dus ik kon gewoon moeilijk code 32 hier.

30
00:01:31,620 --> 00:01:33,870
Maar ik zou niet per se
herinner me die nummers.

31
00:01:33,870 --> 00:01:37,250
>> En bovendien, wat als ze
verschillen per computer?

32
00:01:37,250 --> 00:01:38,520
Meest waarschijnlijk zijn ze niet.

33
00:01:38,520 --> 00:01:42,460
Maar het punt blijft dat ik kan nog steeds
generaliseren dat rekenkundige expressie

34
00:01:42,460 --> 00:01:46,550
zoals zojuist ongeacht het verschil
tussen een kleine en een hoofdletter A

35
00:01:46,550 --> 00:01:50,880
is wat ik wil af aftrekken van
deze bijzondere kleine letter.

36
00:01:50,880 --> 00:01:54,500
>> Nu, als dit schrijven
is geen kleine letters, ik gewoon

37
00:01:54,500 --> 00:01:56,620
willen het uit te printen.

38
00:01:56,620 --> 00:02:01,110
printf,% c als mijn placeholder,
s beugel i.

39
00:02:01,110 --> 00:02:05,150
Aan de onderkant van dit programma, laten we
gewoon uitprinten nieuwe regel, zodat mijn

40
00:02:05,150 --> 00:02:07,520
prompt verschijnt op een nieuwe
lijn van zijn eigen.

41
00:02:07,520 --> 00:02:11,540
>> Laten we nu dit programma te compileren
met make capitalize0.

42
00:02:11,540 --> 00:02:13,900
Laten we lopen met capitalize0.

43
00:02:13,900 --> 00:02:17,190
En laten we typt in een woord als
hello in alle kleine letters.

44
00:02:17,190 --> 00:02:19,960
Ik terug HELLO in hoofdletters
zoals verwacht.

45
00:02:19,960 --> 00:02:25,210
Maar laten we proberen nog een test, dit keer
met mijn eigen naam, D-A-V-I-D, maar met

46
00:02:25,210 --> 00:02:28,170
de eerste D gekapitaliseerd, maar in
voor het geval ik iets gesloopt

47
00:02:28,170 --> 00:02:29,430
met die eerste char.

48
00:02:29,430 --> 00:02:34,250
Enter, en D-A-V-I-D in hoofdletters
wordt ook geprint.

49
00:02:34,250 --> 00:02:36,873