>> DAVID MALAN: Să presupunem că am dori să scrie un program care solicită utilizatorului
pentru un șir și apoi valorifică ca șir.
Ei bine, să începem cu ceva familiar Codul de declarare a unei coarde numit s și
atribuindu-se revenirea Valoarea de getstring.
Și să procedeze acum pentru a itera peste personajele din acest șir.
Ei bine, cum să faci asta?
Se pare că un șir este doar o secvență de caractere, dar mai mult
în mod corespunzător, un șir este o matrice de caractere, ceea ce înseamnă că se poate folosi
paranteză notație de index în un șir și ajunge la individ
caractere.
>> Cu alte cuvinte, putem procedați în felul următor.
Pentru Int, i devine 0, și n devine, spune, lungimea s, folosind
Funcția noastră [? se amestecă?]
[? linie,?]
i este mai mic decât n i + +.
Cu alte cuvinte, cu această buclă, am se va repeta peste tot n litere
în șir s.
Și în această buclă, am de gând să verifica, în cazul în care caracterul i-lea în s
mai mare sau egal cu litere mici o, și caracterul i-lea este mai mic sau
egal la un c litere mici, apoi vreau să continua să profite de această scrisoare.
Cu alte cuvinte, vreau să imprime% c ca un substituent și substitut în pentru
suport care substituent s i.
>> Dar apoi am nevoie pentru a converti s suport i în majuscule.
Pentru a face acest lucru, eu pot scădea pur și simplu indiferent de diferența între
litere mici și un capital de A. Ei bine, eu de fapt mi ​​aduc aminte că de capital A este
65 în ASCII, și litere mici o este de 97.
Deci, diferența este tehnic 32.
Așa că am putea doar cod greu de 32 aici.
Dar s-ar putea nu neapărat amintiți-vă aceste numere.
>> Și mai mult, ceea ce în cazul în care variază în funcție de calculator?
Cel mai probabil, ei nu sunt.
Dar ideea rămâne că pot încă generaliza ca expresie aritmetică
ca doar ceea ce diferența este între un minuscule și un capital de un A
este ceea ce vreau, pentru a scădea off de la această literă mică special.
>> Acum, în cazul în care această scrisoare special nu este litere mici, eu pur și simplu
doriți să-l imprimați.
printf,% c ca substituent mea, s suport i.
În partea de jos a acestui program, să pur și simplu imprima linie nouă, astfel încât meu
promptă apare pe un nou linie proprie.
>> Hai acum compila acest program cu make capitalize0.
Să-l rula cu capitalize0.
Și să introduceți într-un cuvânt ca salut în toate litere mici.
Mă întorc HELLO în majuscule cum era de așteptat.
Dar hai să încercăm mai mult un test, de această dată cu numele meu, D-A-V-I-D, dar cu
primul D capitalizate, doar în caz am stricat ceva
cu care primul char.
Introduceți, și D-A-V-I-D cu majuscule este tipărit, de asemenea.