>> DAVID MALAN: Supponiamo vorremmo scrivere un programma che richiede all'utente
per una stringa e poi capitalizza quella stringa.
Bene, cominciamo con alcuni familiari codice dichiara una stringa denominata s e
assegnandogli il ritorno valore GetString.
E andiamo ora procediamo a iterare i caratteri di questa stringa.
Beh, come fare?
Si scopre che una stringa è solo un sequenza di caratteri, ma più
correttamente, una stringa è un array di caratteri, il che significa che possiamo usare
notazione parentesi quadra per indicizzare una stringa e arrivare a livello individuale
caratteri.
>> In altre parole, possiamo effettuare le seguenti operazioni.
Per int, mi viene 0 e n Gets, dire, la lunghezza di s, utilizzando
la nostra funzione [? agitare?]
[? linea,?]
i è minore di n i + +.
In altre parole, con questo ciclo, si iterare su tutte le lettere n
nella stringa s.
E all'interno di questo ciclo, ho intenzione di controllare, se il carattere i-esimo in s
maggiore o uguale a minuscola, e il carattere i-esimo è inferiore o
pari ad una c minuscola, allora voglio procedere alla capitalizzare tale lettera.
In altre parole, voglio stampare% c come segnaposto e sostituire a
che segnaposto s staffa i.
>> Ma poi ho bisogno di convertire Staffa s i in maiuscolo.
Per fare questo, posso semplicemente sottrarre qualunque sia la differenza tra
minuscola e maiuscola R. Beh, io in realtà non ricordare che il capitale A è
65 in ASCII, e minuscole a è 97.
Quindi la differenza è tecnicamente 32.
Così ho potuto solo codificare 32 qui.
Ma potrebbe non necessariamente ricordare quei numeri.
>> E inoltre, cosa succede se variare a seconda del computer?
Molto probabilmente non lo sono.
Ma il punto rimane che posso ancora generalizzare tale espressione aritmetica
come appena qualunque sia la differenza tra una minuscola e maiuscola
è quello che voglio sottrarre fuori da questo particolare lettera minuscola.
>> Ora, se questa particolare lettera Non è minuscolo, ho semplicemente
voglia di stamparlo.
printf,% c come il mio segnaposto, s staffa i.
Al fondo di questo programma, andiamo semplicemente stampare a capo in modo che il mio
pronta su un nuovo appare linea propria.
>> Vediamo ora compilare questo programma con make capitalize0.
Corriamo con capitalize0.
E cerchiamo di digitare in una parola come ciao a tutti minuscolo.
Mi rimetto CIAO in maiuscolo come previsto.
Ma proviamo un altro test, questa volta con il mio nome, D-A-V-I-D, ma con
la prima D maiuscola, proprio in caso ho messo qualcosa
con quel primo carattere.
Invio e D-A-V-I-D in maiuscolo viene stampato pure.