>> DAVID Malan: Misalkan kita ingin menulis sebuah program yang meminta pengguna
untuk string dan kemudian mengkapitalisasi string.
Nah, mari kita mulai dengan beberapa familiar kode mendeklarasikan string disebut s dan
menugaskan itu pengembalian nilai GetString.
Dan mari kita lanjutkan untuk beralih di atas karakter dalam string ini.
Nah, bagaimana cara melakukannya?
Ternyata string hanya urutan karakter, tetapi lebih
benar, string adalah array dari karakter, yang berarti kita dapat menggunakan
notasi braket persegi untuk indeks ke string dan mendapatkan individu
karakter.
>> Dengan kata lain, kita bisa melakukan hal berikut.
Untuk int, i mendapat 0, dan n mendapat, mengatakan, panjang, menggunakan
fungsi kita [? aduk?]
[? line,?]
i kurang dari n i + +.
Dengan kata lain, dengan lingkaran ini, kita akan iterate atas semua huruf n
dalam string s.
Dan dalam lingkaran ini, aku akan periksa, jika ke-i karakter dalam s
lebih besar dari atau sama dengan huruf kecil a, dan-i th karakter kurang dari atau
sama dengan c huruf kecil, maka saya ingin lanjutkan untuk memanfaatkan surat itu.
Dengan kata lain, saya ingin mencetak% c sebagai pengganti dan pemain pengganti di untuk
bahwa placeholder s braket i.
>> Tapi kemudian saya perlu mengkonversi s braket i ke huruf besar.
Untuk melakukan hal ini, saya hanya bisa mengurangi apa perbedaan antara
huruf kecil dan modal A. Yah, aku sebenarnya ingat bahwa modal A adalah
65 di ASCII, dan huruf kecil adalah 97.
Jadi perbedaannya adalah teknis 32.
Jadi aku bisa hanya sulit kode 32 di sini.
Tapi aku mungkin tidak selalu mengingat angka-angka.
>> Dan terlebih lagi, bagaimana jika mereka bervariasi oleh komputer?
Kemungkinan besar mereka tidak.
Tetapi intinya tetap bahwa saya masih bisa generalisasi bahwa ekspresi aritmatika
hanya sebagai apapun perbedaannya adalah antara a huruf kecil dan modal A
adalah apa yang saya ingin mengurangi off dari huruf kecil tertentu.
>> Sekarang, jika surat ini tidak huruf kecil, saya hanya
ingin mencetaknya.
printf,% c sebagai pengganti saya, s braket i.
Di bawah program ini, mari kita hanya mencetak baris baru sehingga saya
akan muncul pada baru baris sendiri.
>> Sekarang mari kita mengkompilasi program ini dengan make capitalize0.
Mari kita menjalankannya dengan capitalize0.
Dan mari kita mengetik kata seperti halo dalam huruf kecil semua.
Aku kembali HELLO dalam huruf besar seperti yang diharapkan.
Tapi mari kita mencoba salah satu tes yang lebih, kali ini dengan nama saya sendiri, D-A-V-I-D, tetapi dengan
pertama D dikapitalisasi, hanya dalam kasus saya mengacaukan sesuatu
dengan arang pertama.
Masukkan, dan D-A-V-I-D dalam huruf besar dicetak juga.