1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:02,690 >> DAVID Malan: Misalkan kita ingin menulis sebuah program yang meminta pengguna 3 00:00:02,690 --> 00:00:05,100 untuk string dan kemudian mengkapitalisasi string. 4 00:00:05,100 --> 00:00:09,000 Nah, mari kita mulai dengan beberapa familiar kode mendeklarasikan string disebut s dan 5 00:00:09,000 --> 00:00:11,380 menugaskan itu pengembalian nilai GetString. 6 00:00:11,380 --> 00:00:14,910 Dan mari kita lanjutkan untuk beralih di atas karakter dalam string ini. 7 00:00:14,910 --> 00:00:16,000 Nah, bagaimana cara melakukannya? 8 00:00:16,000 --> 00:00:19,350 Ternyata string hanya urutan karakter, tetapi lebih 9 00:00:19,350 --> 00:00:23,320 benar, string adalah array dari karakter, yang berarti kita dapat menggunakan 10 00:00:23,320 --> 00:00:27,590 notasi braket persegi untuk indeks ke string dan mendapatkan individu 11 00:00:27,590 --> 00:00:28,680 karakter. 12 00:00:28,680 --> 00:00:30,980 >> Dengan kata lain, kita bisa melakukan hal berikut. 13 00:00:30,980 --> 00:00:36,730 Untuk int, i mendapat 0, dan n mendapat, mengatakan, panjang, menggunakan 14 00:00:36,730 --> 00:00:37,530 fungsi kita [? aduk?] 15 00:00:37,530 --> 00:00:38,630 [? line,?] 16 00:00:38,630 --> 00:00:40,450 i kurang dari n i + +. 17 00:00:40,450 --> 00:00:45,290 Dengan kata lain, dengan lingkaran ini, kita akan iterate atas semua huruf n 18 00:00:45,290 --> 00:00:46,670 dalam string s. 19 00:00:46,670 --> 00:00:51,680 Dan dalam lingkaran ini, aku akan periksa, jika ke-i karakter dalam s 20 00:00:51,680 --> 00:00:57,630 lebih besar dari atau sama dengan huruf kecil a, dan-i th karakter kurang dari atau 21 00:00:57,630 --> 00:01:02,370 sama dengan c huruf kecil, maka saya ingin lanjutkan untuk memanfaatkan surat itu. 22 00:01:02,370 --> 00:01:08,030 Dengan kata lain, saya ingin mencetak% c sebagai pengganti dan pemain pengganti di untuk 23 00:01:08,030 --> 00:01:11,120 bahwa placeholder s braket i. 24 00:01:11,120 --> 00:01:14,390 >> Tapi kemudian saya perlu mengkonversi s braket i ke huruf besar. 25 00:01:14,390 --> 00:01:18,930 Untuk melakukan hal ini, saya hanya bisa mengurangi apa perbedaan antara 26 00:01:18,930 --> 00:01:24,120 huruf kecil dan modal A. Yah, aku sebenarnya ingat bahwa modal A adalah 27 00:01:24,120 --> 00:01:27,160 65 di ASCII, dan huruf kecil adalah 97. 28 00:01:27,160 --> 00:01:29,210 Jadi perbedaannya adalah teknis 32. 29 00:01:29,210 --> 00:01:31,620 Jadi aku bisa hanya sulit kode 32 di sini. 30 00:01:31,620 --> 00:01:33,870 Tapi aku mungkin tidak selalu mengingat angka-angka. 31 00:01:33,870 --> 00:01:37,250 >> Dan terlebih lagi, bagaimana jika mereka bervariasi oleh komputer? 32 00:01:37,250 --> 00:01:38,520 Kemungkinan besar mereka tidak. 33 00:01:38,520 --> 00:01:42,460 Tetapi intinya tetap bahwa saya masih bisa generalisasi bahwa ekspresi aritmatika 34 00:01:42,460 --> 00:01:46,550 hanya sebagai apapun perbedaannya adalah antara a huruf kecil dan modal A 35 00:01:46,550 --> 00:01:50,880 adalah apa yang saya ingin mengurangi off dari huruf kecil tertentu. 36 00:01:50,880 --> 00:01:54,500 >> Sekarang, jika surat ini tidak huruf kecil, saya hanya 37 00:01:54,500 --> 00:01:56,620 ingin mencetaknya. 38 00:01:56,620 --> 00:02:01,110 printf,% c sebagai pengganti saya, s braket i. 39 00:02:01,110 --> 00:02:05,150 Di bawah program ini, mari kita hanya mencetak baris baru sehingga saya 40 00:02:05,150 --> 00:02:07,520 akan muncul pada baru baris sendiri. 41 00:02:07,520 --> 00:02:11,540 >> Sekarang mari kita mengkompilasi program ini dengan make capitalize0. 42 00:02:11,540 --> 00:02:13,900 Mari kita menjalankannya dengan capitalize0. 43 00:02:13,900 --> 00:02:17,190 Dan mari kita mengetik kata seperti halo dalam huruf kecil semua. 44 00:02:17,190 --> 00:02:19,960 Aku kembali HELLO dalam huruf besar seperti yang diharapkan. 45 00:02:19,960 --> 00:02:25,210 Tapi mari kita mencoba salah satu tes yang lebih, kali ini dengan nama saya sendiri, D-A-V-I-D, tetapi dengan 46 00:02:25,210 --> 00:02:28,170 pertama D dikapitalisasi, hanya dalam kasus saya mengacaukan sesuatu 47 00:02:28,170 --> 00:02:29,430 dengan arang pertama. 48 00:02:29,430 --> 00:02:34,250 Masukkan, dan D-A-V-I-D dalam huruf besar dicetak juga. 49 00:02:34,250 --> 00:02:36,873