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.