>> DAVID MALAN: Anta at vi ønsker å skrive et program som ber brukeren
for en streng og deretter kapitaliserer strengen.
Vel, la oss starte med noen kjente kode erklære en streng som heter s og
tilordne den avkastningen Verdien av getstring.
Og la oss nå fortsette å iterere over tegnene i denne strengen.
Vel, hvordan du gjør det?
Det viser seg at en streng er bare en sekvens av tegn, men mer
på riktig måte, er en streng en rekke tegn, som betyr at vi kan bruke
hakeparentes notasjon til indeksen inn en streng og få på individnivå
tegn.
>> Med andre ord, kan vi gjør følgende.
For int, får jeg 0, og n blir, si, lengden av S, ved hjelp
vår funksjon [? røre?]
[? linje,?]
i er mindre enn n i + +.
Med andre ord, med denne sløyfen, vi vil iterere over alle n bokstaver
i strengen s.
Og i løpet av denne sløyfen, kommer jeg til å sjekk, hvis den i-ende tegn på s
større enn eller lik til små bokstaver a, og den i-te tegn er mindre enn eller
lik en små bokstaver c, så jeg ønsker å fortsette å kapitalisere på bokstaven.
Med andre ord, jeg ønsker å skrive ut% c som plassholder og erstatning i for
som plassholder s brakett jeg.
>> Men da trenger jeg å konvertere s brakett jeg til store bokstaver.
For å gjøre dette, kan jeg bare trekker uansett forskjellen er mellom
små bokstaver a og kapital A. Vel, jeg faktisk husker at kapital A er
65 i ASCII, og små bokstaver en er 97.
Så forskjellen er teknisk 32..
Så jeg kunne bare hardt kode 32 her.
Men jeg kan ikke nødvendigvis huske disse tallene.
>> Og dessuten, hva om de variere fra datamaskinen?
Mest sannsynlig er de ikke.
Men poenget er fortsatt at jeg kan fortsatt generalisere at aritmetiske uttrykk
som bare uansett forskjellen mellom inn en liten en og en stor A
er hva jeg ønsker å trekke seg fra denne spesielle liten bokstav.
>> Nå, dersom bestemt bokstav er ikke små bokstaver, jeg rett og slett
ønsker å skrive den ut.
printf,% c som min plassholder, s brakett jeg.
På bunnen av dette programmet, la oss ganske enkelt skrive ut linjeskift slik at min
meldingen vises på en ny linje for seg selv.
>> La oss nå kompilere dette programmet med make capitalize0.
La oss kjøre det med capitalize0.
Og la oss skrive inn et ord som hallo i små bokstaver.
Jeg får tilbake HELLO med store bokstaver som forventet.
Men la oss prøve en mer test, denne gangen med mitt eget navn, D-A-V-I-D, men med
den første D kapitalisert, bare i tilfelle jeg rotet noe opp
med det første røye.
Enter, og D-A-V-I-D med store bokstaver skrives også.