DAVID J. MALAN: Supponiamo che vorrei di attuare un programma che richiede all'utente una stringa e poi procede di capitalizzare il loro contributo, convertendo tutte le lettere minuscole che tipo maiuscolo. Bene, andiamo avanti e attuare tale programma. Facciamo prima includono cs50.h seguito da includere stdio.h. E così che possiamo usare strlen, cerchiamo di includere string.h. Facciamo il prossimo dichiarare principale int void main e andiamo ora procediamo per richiedere l'utente per una stringa. Printf, diamo loro il prompt per alcuni input. Ora cerchiamo di dichiarare una stringa - che chiameremo s - e memorizzare in essa il risultato della chiamata la funzione GetString biblioteca CS50. Procediamo ora ad iterare ogni dei personaggi di s, capitalizzando tutte le lettere minuscole che vediamo. Per int, ottengo 0. Facciamo anche dichiarare n sia uguale al la lunghezza della stringa s in modo che possiamo scorrere da I fino n, la lunghezza di s, e su ciascun iterazione incremento i. E poi all'interno di questo ciclo, andiamo primo controllo è la lettera corrente - la lettera i-esimo di s, per così dire - una lettera minuscola. Se staffa s i è maggiore o uguale in caratteri minuscoli una, ed è meno o uguale a z minuscola - Ora, se vogliamo convertire un minuscolo lettera in maiuscolo, ricordare in primo luogo che in ASCII un minuscolo a è 97 e una A maiuscola è di 65 anni. Nel frattempo, una minuscola b è 98, ed una B maiuscola è 66. Se continuiamo a guardare a quel modello, vedremo che il minuscolo lettere sono sempre 32 valori superiori che le lettere maiuscole. Quindi, se vogliamo convertire da minuscolo in maiuscolo, dovrebbe sufficiente, in realtà, per sottrarre 32 dall'input dell'utente. O, più generalmente, basta sottrarre che differenza tra una minuscola e un capitale A. Come esprimere questo? Bene, facciamolo nel codice. Printf, citazione, unquote "% c" per la stampa il carattere corrente, seguito da stampa tutto quello che è nel supporto s i meno il risultato di fare un minuscolo meno maiuscolo Un punto e virgola. In altre parole, questa parentesi espressione, poco meno di una grande A, è intenzione di tornare a noi a Alla fine della giornata 32. Ma io non devo ricordare che è 32. Posso permettere al computer di capire ciò la differenza tra minuscolo una e maiuscola è. Nel frattempo, una volta che so che la differenza, Posso sottrarre da s Staffa i, che avrà ciò che è presumibilmente una lettera minuscola per un valore più basso, cioè un valore che mappa su un equivalente maiuscolo. Vediamo ora salvare, compilare, ed eseguire questo programma. Fai capitalizzare dot barra capitalizzati. E il mio ingresso sarà ciao. E lì abbiamo, ciao. Ora la mia richiesta, è vero, è un po 'brutto, perché abbiamo omesso un po 'di stampa. E torniamo e aggiungono che. Al fondo di questo programma, Sono molto semplice, e in gran parte per scopo estetico, andando ad aggiungere printf, citazione, unquote backslash n. Cerchiamo di salvare nuovamente il file, ricompilare, rieseguire. Fai capitalizzare, barra dot capitalizzare. Ancora una volta, per l'ingresso vi fornirò "ciao" in tutto in minuscolo e ora premere Invio, e "ciao," molto più pulito stampata.