>> DAVID Malan: Stel dat we zouden willen schrijven een programma dat de gebruiker wordt gevraagd
voor een string en dan speelt die string.
Nou, laten we beginnen met een aantal bekende code waarbij een reeks genaamd s en
toe te wijzen de terugkeer waarde van getString.
En laten we nu overgaan tot meer dan herhalen de personages in deze string.
Nou, hoe dat te doen?
Het blijkt dat een string is gewoon een reeks tekens, maar meer
goed, een string is een array van karakters, wat betekent dat we kunnen gebruiken
vierkante haakjesnotering naar index in een string en krijgen op individueel
karakters.
>> Met andere woorden, we kunnen het volgende doen.
Voor int, ik krijgt 0 en n krijgt, zeggen de lengte van s, met
onze functie [? roer?]
[? lijn,?]
i kleiner dan n i + +.
Met andere woorden, deze lus, we zal itereren over alle n letters
in de string s.
En binnen deze lus, ga ik controleren, als de i-de karakter s
groter dan of gelijk aan een kleine letters, en de i-de karakter dan of
gelijk aan een kleine c, dan wil ik overgaan tot die hoofdletter.
Met andere woorden, ik wil uitprinten% c als een tijdelijke aanduiding en substituut voor
dat placeholder s beugel i.
>> Maar dan moet ik om te zetten s beugel i in hoofdletters.
Om dit te doen, kan ik gewoon aftrekken ongeacht het verschil tussen
kleine letters a en kapitaal A. Nou, ik eigenlijk niet herinneren dat hoofdletter A is
65 in ASCII, en kleine een is 97.
Het verschil is technisch 32.
Dus ik kon gewoon moeilijk code 32 hier.
Maar ik zou niet per se herinner me die nummers.
>> En bovendien, wat als ze verschillen per computer?
Meest waarschijnlijk zijn ze niet.
Maar het punt blijft dat ik kan nog steeds generaliseren dat rekenkundige expressie
zoals zojuist ongeacht het verschil tussen een kleine en een hoofdletter A
is wat ik wil af aftrekken van deze bijzondere kleine letter.
>> Nu, als dit schrijven is geen kleine letters, ik gewoon
willen het uit te printen.
printf,% c als mijn placeholder, s beugel i.
Aan de onderkant van dit programma, laten we gewoon uitprinten nieuwe regel, zodat mijn
prompt verschijnt op een nieuwe lijn van zijn eigen.
>> Laten we nu dit programma te compileren met make capitalize0.
Laten we lopen met capitalize0.
En laten we typt in een woord als hello in alle kleine letters.
Ik terug HELLO in hoofdletters zoals verwacht.
Maar laten we proberen nog een test, dit keer met mijn eigen naam, D-A-V-I-D, maar met
de eerste D gekapitaliseerd, maar in voor het geval ik iets gesloopt
met die eerste char.
Enter, en D-A-V-I-D in hoofdletters wordt ook geprint.