1 00:00:00,000 --> 00:00:02,420 >> [MUSIC PLAYING] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 SPEAKER: Baiklah. 4 00:00:05,980 --> 00:00:08,540 Jadi mari kita bicara tentang yang lain Hal itu semacam unik untuk C, 5 00:00:08,540 --> 00:00:10,010 yang merupakan tipe data dan variabel. 6 00:00:10,010 --> 00:00:12,340 Ketika saya mengatakan unik untuk C, saya benar-benar hanya berarti dalam konteks, 7 00:00:12,340 --> 00:00:14,470 jika Anda sudah programmer untuk waktu yang sangat lama, 8 00:00:14,470 --> 00:00:16,270 Anda sudah mungkin tidak bekerja dengan tipe data 9 00:00:16,270 --> 00:00:18,470 jika Anda telah menggunakan yang modern bahasa pemrograman. 10 00:00:18,470 --> 00:00:20,432 Bahasa modern seperti PHP dan JavaScript, 11 00:00:20,432 --> 00:00:22,640 yang kita juga akan melihat sedikit nanti di lapangan, 12 00:00:22,640 --> 00:00:25,550 Anda tidak benar-benar harus menentukan tipe data dari variabel 13 00:00:25,550 --> 00:00:26,270 ketika Anda menggunakannya. 14 00:00:26,270 --> 00:00:28,067 >> Anda hanya mendeklarasikan dan mulai menggunakannya. 15 00:00:28,067 --> 00:00:29,900 Jika itu integer, itu tahu itu integer. 16 00:00:29,900 --> 00:00:31,960 Jika itu karakter, itu tahu itu karakter. 17 00:00:31,960 --> 00:00:35,320 Jika itu sebuah kata, ia tahu itu string, disebut. 18 00:00:35,320 --> 00:00:37,300 >> Tapi di C, yang merupakan bahasa yang lebih tua, kita perlu 19 00:00:37,300 --> 00:00:39,420 untuk menentukan data jenis setiap variabel 20 00:00:39,420 --> 00:00:42,990 bahwa kita buat pertama kalinya yang kita gunakan variabel itu. 21 00:00:42,990 --> 00:00:45,030 Jadi C dilengkapi dengan beberapa built-in tipe data. 22 00:00:45,030 --> 00:00:46,972 Dan mari kita akrab dengan beberapa dari mereka. 23 00:00:46,972 --> 00:00:50,180 Dan kemudian setelah itu kami juga akan berbicara sedikit tentang beberapa tipe data 24 00:00:50,180 --> 00:00:54,450 bahwa kita telah ditulis untuk Anda, sehingga Anda dapat menggunakannya dalam CS50. 25 00:00:54,450 --> 00:00:56,130 >> Yang pertama adalah int. 26 00:00:56,130 --> 00:00:59,110 Tipe int data yang digunakan untuk variabel yang akan menyimpan nilai integer. 27 00:00:59,110 --> 00:01:03,210 Jadi 1, 2, 3, negatif 1, 2, 3, dan seterusnya. 28 00:01:03,210 --> 00:01:05,960 Bilangan bulat, yang merupakan sesuatu yang Anda harus diingat untuk kuis, 29 00:01:05,960 --> 00:01:09,590 selalu mengambil empat byte memori, yang merupakan 32 bit. 30 00:01:09,590 --> 00:01:11,620 Ada delapan bit dalam byte. 31 00:01:11,620 --> 00:01:14,470 >> Jadi ini berarti bahwa berbagai nilai-nilai yang integer dapat menyimpan 32 00:01:14,470 --> 00:01:19,130 dibatasi oleh apa yang dapat ditampung dalam 32 bit senilai informasi. 33 00:01:19,130 --> 00:01:21,850 Sekarang ternyata, itu lama memutuskan 34 00:01:21,850 --> 00:01:24,310 bahwa kita akan berpisah rentang 32 bit 35 00:01:24,310 --> 00:01:26,650 menjadi bilangan bulat negatif dan bilangan bulat positif, 36 00:01:26,650 --> 00:01:28,390 masing-masing mendapatkan setengah dari jangkauan. 37 00:01:28,390 --> 00:01:32,230 Jadi rentang nilai yang kami mewakili dengan rentang bilangan bulat dari negatif 2 38 00:01:32,230 --> 00:01:36,520 untuk kekuatan 31 untuk 2 sampai kekuatan 31 minus 1, 39 00:01:36,520 --> 00:01:38,190 menyebabkan anda juga membutuhkan tempat untuk 0. 40 00:01:38,190 --> 00:01:41,650 >> Jadi pada dasarnya setengah dari nilai yang mungkin Anda dapat muat dalam sebuah int negatif, 41 00:01:41,650 --> 00:01:42,610 setengah positif. 42 00:01:42,610 --> 00:01:47,270 Dan kira-kira di sini, ini adalah tentang negatif 2 miliar untuk sekitar positif 2 miliar. 43 00:01:47,270 --> 00:01:50,207 Memberi atau mengambil beberapa ratus juta. 44 00:01:50,207 --> 00:01:52,290 Jadi itulah yang dapat Anda cocok dalam variabel integer. 45 00:01:52,290 --> 00:01:55,490 Sekarang kita juga memiliki sesuatu disebut unsigned integer. 46 00:01:55,490 --> 00:01:59,220 Sekarang unsigned int bukan Jenis terpisah dari variabel. 47 00:01:59,220 --> 00:02:01,590 Sebaliknya, unsigned adalah apa yang disebut kualifikasi. 48 00:02:01,590 --> 00:02:04,990 Memodifikasi data jenis bilangan bulat sedikit. 49 00:02:04,990 --> 00:02:07,850 >> Dan dalam hal ini, apa yang unsigned means-- dan Anda juga dapat 50 00:02:07,850 --> 00:02:11,530 menggunakan unsigned tipe data lainnya, bilangan bulat bukan satu-satunya. 51 00:02:11,530 --> 00:02:15,310 Apa itu efektif dilakukan adalah ganda kisaran positif dari nilai-nilai 52 00:02:15,310 --> 00:02:19,350 bahwa integer dapat mengambil di mengorbankan tidak lagi memungkinkan 53 00:02:19,350 --> 00:02:21,140 Anda untuk mengambil nilai-nilai negatif. 54 00:02:21,140 --> 00:02:25,400 Jadi jika Anda memiliki nomor yang Anda tahu akan mendapatkan lebih tinggi dari 2 miliar tapi kurang 55 00:02:25,400 --> 00:02:31,280 dari 4 miliar, untuk example-- yang 2 untuk 32 orang -sebuah 56 00:02:31,280 --> 00:02:33,330 Anda mungkin ingin menggunakan int unsigned jika Anda 57 00:02:33,330 --> 00:02:35,050 tahu nilai Anda tidak akan pernah negatif. 58 00:02:35,050 --> 00:02:37,216 >> Anda kadang-kadang akan memiliki digunakan untuk variabel unsigned 59 00:02:37,216 --> 00:02:39,460 di CS50, yang mengapa saya menyebutkan di sini. 60 00:02:39,460 --> 00:02:43,830 Tapi sekali lagi, rentang nilai yang Anda dapat mewakili dengan unsigned integer 61 00:02:43,830 --> 00:02:48,240 untuk t integer biasa, yang 0 untuk 2 pangkat 32 minus 1, 62 00:02:48,240 --> 00:02:50,840 atau sekitar 0-4000000000. 63 00:02:50,840 --> 00:02:53,730 Jadi Anda secara efektif menggandakan Kisaran positif yang dapat Anda cocok, 64 00:02:53,730 --> 00:02:56,270 tetapi Anda sudah menyerah semua nilai-nilai negatif. 65 00:02:56,270 --> 00:03:00,040 >> Sekarang sebagai samping, unsigned bukan satu-satunya kualifikasi 66 00:03:00,040 --> 00:03:01,790 bahwa kita mungkin melihat tipe data variabel. 67 00:03:01,790 --> 00:03:05,779 Ada juga hal-hal yang disebut pendek dan panjang dan const. 68 00:03:05,779 --> 00:03:07,820 Const kita akan melihat sedikit bit kemudian di kursus. 69 00:03:07,820 --> 00:03:10,830 Pendek dan panjang, kita mungkin tidak akan. 70 00:03:10,830 --> 00:03:12,830 >> Tapi hanya tahu bahwa ada adalah kualifikasi lainnya. 71 00:03:12,830 --> 00:03:14,080 Unsigned adalah bukan satu-satunya. 72 00:03:14,080 --> 00:03:16,596 Tapi itu satu-satunya kami akan berbicara tentang sekarang. 73 00:03:16,596 --> 00:03:17,310 Jadi benar semua. 74 00:03:17,310 --> 00:03:18,393 Jadi kita telah membahas bilangan bulat. 75 00:03:18,393 --> 00:03:19,200 Apa berikutnya? 76 00:03:19,200 --> 00:03:20,130 >> Chars. 77 00:03:20,130 --> 00:03:23,620 Jadi karakter yang digunakan untuk variabel yang akan menyimpan karakter tunggal. 78 00:03:23,620 --> 00:03:24,850 Char adalah singkatan karakter. 79 00:03:24,850 --> 00:03:27,870 Dan kadang-kadang Anda mungkin mendengar orang mengucapkannya sebagai mobil. 80 00:03:27,870 --> 00:03:32,020 >> Jadi karakter selalu mengambil satu byte memori, yang hanya 8 bit. 81 00:03:32,020 --> 00:03:35,700 Jadi ini berarti bahwa mereka hanya bisa muat nilai-nilai di kisaran negatif 2 82 00:03:35,700 --> 00:03:42,430 untuk kekuatan ketujuh, atau negatif 128, untuk 2 pangkat 7 minus 1, atau 127. 83 00:03:42,430 --> 00:03:45,710 >> Berkat ASCII, itu lama memutuskan cara 84 00:03:45,710 --> 00:03:50,805 untuk memetakan angka-angka positif dari 0-127 untuk berbagai karakter 85 00:03:50,805 --> 00:03:52,182 bahwa semua ada pada keyboard kita. 86 00:03:52,182 --> 00:03:54,640 Jadi seperti yang akan kita lihat nanti di kursus, dan Anda mungkin akan 87 00:03:54,640 --> 00:03:57,700 datang untuk menghafal beberapa titik, ibukota A, untuk example-- 88 00:03:57,700 --> 00:04:00,732 ibukota karakter A-- memetakan ke nomor 65. 89 00:04:00,732 --> 00:04:02,940 Dan alasan untuk itu adalah karena itulah yang itu 90 00:04:02,940 --> 00:04:05,490 ditugaskan oleh standar ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Huruf kecil A adalah 97. 92 00:04:07,850 --> 00:04:11,900 Karakter 0 ketika Anda sebenarnya ketik karakter, tidak 93 00:04:11,900 --> 00:04:13,532 mewakili angka nol, adalah 48. 94 00:04:13,532 --> 00:04:15,240 Anda akan belajar beberapa ini saat Anda pergi. 95 00:04:15,240 --> 00:04:17,990 Dan Anda pasti akan datang perlu mereka sedikit kemudian di CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Berikutnya tipe data utama adalah angka floating point. 98 00:04:23,390 --> 00:04:26,100 Jadi angka floating point juga dikenal sebagai bilangan real. 99 00:04:26,100 --> 00:04:28,850 Mereka pada dasarnya tidak nomor yang memiliki titik desimal di dalamnya. 100 00:04:28,850 --> 00:04:33,360 Floating point nilai seperti bilangan bulat juga 101 00:04:33,360 --> 00:04:36,090 terkandung dalam 4 byte memori. 102 00:04:36,090 --> 00:04:37,580 Sekarang tidak ada grafik di sini. 103 00:04:37,580 --> 00:04:40,890 Tidak ada nomor baris, karena menggambarkan berbagai pelampung 104 00:04:40,890 --> 00:04:44,550 tidak persis jelas atau intuitif. 105 00:04:44,550 --> 00:04:47,350 >> Cukuplah untuk mengatakan Anda memiliki 32 bit untuk bekerja dengan. 106 00:04:47,350 --> 00:04:49,730 Dan jika Anda memiliki nomor seperti pi, yang memiliki 107 00:04:49,730 --> 00:04:55,510 bagian bilangan bulat 3, dan floating sebuah titik bagian, atau bagian desimal 0,14159, 108 00:04:55,510 --> 00:04:58,735 dan seterusnya, Anda harus mampu mewakili semua itu-- 109 00:04:58,735 --> 00:05:02,420 bagian bilangan bulat dan bagian desimal. 110 00:05:02,420 --> 00:05:04,550 >> Jadi apa yang Anda berpikir bahwa mungkin berarti? 111 00:05:04,550 --> 00:05:08,180 Satu hal adalah bahwa jika desimal bagian mendapat lebih lama dan lebih lama, 112 00:05:08,180 --> 00:05:10,660 jika saya memiliki sangat besar bagian bilangan bulat, saya tidak mungkin 113 00:05:10,660 --> 00:05:13,090 dapat menjadi seperti yang tepat dengan bagian desimal. 114 00:05:13,090 --> 00:05:15,280 Dan itu benar-benar pembatasan pelampung. 115 00:05:15,280 --> 00:05:17,229 >> Mengapung memiliki masalah presisi. 116 00:05:17,229 --> 00:05:19,270 Kami hanya memiliki 32 bit untuk bekerja dengan, jadi kami hanya bisa 117 00:05:19,270 --> 00:05:22,510 begitu tepat dengan bagian desimal kami. 118 00:05:22,510 --> 00:05:27,300 Kita tidak bisa selalu memiliki desimal bagian yang tepat untuk 100 atau 200 digit, 119 00:05:27,300 --> 00:05:29,710 karena kita hanya memiliki 32 bit untuk bekerja dengan. 120 00:05:29,710 --> 00:05:31,590 Jadi itulah keterbatasan pelampung. 121 00:05:31,590 --> 00:05:33,590 >> Sekarang untungnya ada tipe data lain yang disebut 122 00:05:33,590 --> 00:05:36,530 ganda, yang agak berkaitan dengan masalah ini. 123 00:05:36,530 --> 00:05:39,980 Ganda, seperti mengapung, juga digunakan untuk menyimpan bilangan real, atau floating point 124 00:05:39,980 --> 00:05:40,840 nilai-nilai. 125 00:05:40,840 --> 00:05:44,340 Perbedaannya adalah bahwa ganda adalah presisi ganda. 126 00:05:44,340 --> 00:05:48,177 Mereka bisa masuk 64 bit data, atau delapan byte. 127 00:05:48,177 --> 00:05:49,010 Maksudnya itu apa? 128 00:05:49,010 --> 00:05:51,801 Nah, itu berarti kita bisa lebih banyak tepat dengan titik desimal. 129 00:05:51,801 --> 00:05:54,830 Daripada harus pi sampai tujuh tempat mungkin, dengan pelampung, 130 00:05:54,830 --> 00:05:56,710 kita mungkin dapat memilikinya untuk 30 tempat. 131 00:05:56,710 --> 00:05:59,824 Jika itu penting, Anda mungkin ingin menggunakan ganda bukannya pelampung. 132 00:05:59,824 --> 00:06:01,740 Pada dasarnya, jika Anda bekerja pada apa pun di mana 133 00:06:01,740 --> 00:06:06,540 memiliki tempat desimal yang sangat panjang dan banyak presisi adalah penting, 134 00:06:06,540 --> 00:06:08,630 Anda mungkin ingin menggunakan overfloat ganda. 135 00:06:08,630 --> 00:06:11,250 Sekarang untuk sebagian besar pekerjaan Anda di CS50, pelampung harus cukup. 136 00:06:11,250 --> 00:06:15,340 Tapi tahu bahwa ganda ada sebagai cara untuk agak berurusan dengan presisi 137 00:06:15,340 --> 00:06:20,980 Masalah dengan memberikan tambahan 32 bit untuk bekerja dengan nomor Anda. 138 00:06:20,980 --> 00:06:23,650 >> Sekarang ini bukan tipe data. 139 00:06:23,650 --> 00:06:24,390 Ini adalah tipe. 140 00:06:24,390 --> 00:06:25,340 Dan itu disebut batal. 141 00:06:25,340 --> 00:06:27,506 Dan aku berbicara tentang hal itu di sini karena kami sudah mungkin 142 00:06:27,506 --> 00:06:29,520 melihatnya beberapa kali sudah di CS50. 143 00:06:29,520 --> 00:06:32,020 Dan Anda mungkin bertanya-tanya apa itu semua tentang. 144 00:06:32,020 --> 00:06:33,390 >> Jadi kekosongan adalah tipe. 145 00:06:33,390 --> 00:06:34,097 Itu tidak ada. 146 00:06:34,097 --> 00:06:35,180 Tapi itu bukan tipe data. 147 00:06:35,180 --> 00:06:39,350 >> Kita tidak bisa membuat variabel jenis membatalkan dan memberikan nilai untuk itu. 148 00:06:39,350 --> 00:06:42,519 Tapi fungsi, misalnya, dapat memiliki tipe void kembali. 149 00:06:42,519 --> 00:06:45,060 Pada dasarnya, jika Anda melihat fungsi yang memiliki tipe void kembali, 150 00:06:45,060 --> 00:06:46,970 itu berarti tidak mengembalikan nilai. 151 00:06:46,970 --> 00:06:49,440 Dapatkah Anda memikirkan umum fungsi yang kami telah digunakan sejauh 152 00:06:49,440 --> 00:06:52,780 di CS50 yang tidak mengembalikan nilai? 153 00:06:52,780 --> 00:06:54,700 >> Printf adalah salah satu. 154 00:06:54,700 --> 00:06:56,820 Printf tidak benar-benar kembali apa-apa untuk Anda. 155 00:06:56,820 --> 00:06:59,850 Mencetak sesuatu ke layar, dan itu pada dasarnya 156 00:06:59,850 --> 00:07:01,650 efek samping dari apa yang printf tidak. 157 00:07:01,650 --> 00:07:03,620 Tapi itu tidak memberikan nilai kembali. 158 00:07:03,620 --> 00:07:08,419 Anda tidak menangkap hasil dan menyimpan dalam beberapa variabel untuk menggunakannya nanti. 159 00:07:08,419 --> 00:07:10,710 Itu hanya mencetak sesuatu untuk layar dan Anda sudah selesai. 160 00:07:10,710 --> 00:07:14,360 >> Jadi kita mengatakan bahwa printf adalah fungsi batal. 161 00:07:14,360 --> 00:07:16,450 Ia mengembalikan apa-apa. 162 00:07:16,450 --> 00:07:18,580 >> Daftar perimeter dari Fungsi juga bisa batal. 163 00:07:18,580 --> 00:07:21,410 Dan Anda juga telah melihat bahwa sedikit di CS50 juga. 164 00:07:21,410 --> 00:07:22,300 Int void main. 165 00:07:22,300 --> 00:07:23,260 Apakah itu membunyikan lonceng? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Pada dasarnya apa artinya adalah bahwa utama tidak mengambil parameter. 168 00:07:27,220 --> 00:07:29,520 Tidak ada argumen bahwa mendapatkan melewati ke utama. 169 00:07:29,520 --> 00:07:32,780 Sekarang nanti kita akan melihat bahwa ada cara untuk melewati argumen ke utama, 170 00:07:32,780 --> 00:07:36,189 tapi sejauh apa kita sudah dilihat adalah int void main. 171 00:07:36,189 --> 00:07:37,730 Utama hanya tidak mengambil argumen. 172 00:07:37,730 --> 00:07:40,236 Dan jadi kita menentukan bahwa dengan mengatakan kekosongan. 173 00:07:40,236 --> 00:07:42,110 Kami hanya menjadi sangat eksplisit tentang fakta 174 00:07:42,110 --> 00:07:44,430 yang tidak mengambil argumen. 175 00:07:44,430 --> 00:07:47,160 >> Jadi untuk saat ini, cukuplah untuk mengatakan bahwa pada dasarnya batal 176 00:07:47,160 --> 00:07:50,789 hanya harus berfungsi sebagai placeholder untuk Anda sebagai berpikir tentang seperti apa-apa. 177 00:07:50,789 --> 00:07:52,080 Ini tidak benar-benar melakukan apa-apa. 178 00:07:52,080 --> 00:07:53,550 Tidak ada nilai kembali di sini. 179 00:07:53,550 --> 00:07:54,770 Tidak ada parameter di sini. 180 00:07:54,770 --> 00:07:55,709 Ini berlaku. 181 00:07:55,709 --> 00:07:57,250 Ini adalah kompleks lebih sedikit dari itu. 182 00:07:57,250 --> 00:08:00,640 Tapi ini harus cukup untuk bagian yang lebih baik tentu saja. 183 00:08:00,640 --> 00:08:05,010 Dan mudah-mudahan sekarang Anda memiliki sedikit Sedikit lebih dari konsep apa yang berlaku adalah. 184 00:08:05,010 --> 00:08:08,460 >> Jadi mereka adalah lima jenis Anda akan Pertemuan yang built-in untuk C. 185 00:08:08,460 --> 00:08:10,670 Namun dalam CS50 kami juga memiliki perpustakaan. 186 00:08:10,670 --> 00:08:13,550 CS50.h, yang dapat Anda termasuk. 187 00:08:13,550 --> 00:08:15,930 Dan yang akan memberikan Anda dengan dua jenis tambahan 188 00:08:15,930 --> 00:08:18,280 bahwa Anda mungkin akan dapat untuk digunakan pada tugas Anda, 189 00:08:18,280 --> 00:08:21,210 atau hanya bekerja umumnya pemrograman. 190 00:08:21,210 --> 00:08:23,030 >> Yang pertama adalah bool. 191 00:08:23,030 --> 00:08:26,780 Jadi tipe data Boolean, bool, digunakan untuk variabel 192 00:08:26,780 --> 00:08:28,114 yang akan menyimpan nilai Boolean. 193 00:08:28,114 --> 00:08:29,863 Jika Anda pernah mendengar istilah ini sebelumnya, Anda 194 00:08:29,863 --> 00:08:31,960 mungkin tahu bahwa Boolean sebuah nilai mampu hanya 195 00:08:31,960 --> 00:08:34,440 memegang dua nilai yang berbeda yang berbeda. 196 00:08:34,440 --> 00:08:35,872 Benar dan salah. 197 00:08:35,872 --> 00:08:37,580 Sekarang ini tampaknya cukup fundamental, kan? 198 00:08:37,580 --> 00:08:40,496 Ini semacam kejutan yang ini tidak ada di C seperti itu built-in. 199 00:08:40,496 --> 00:08:42,640 Dan dalam banyak bahasa modern, tentu saja, boolean 200 00:08:42,640 --> 00:08:45,390 adalah tipe data standar standar. 201 00:08:45,390 --> 00:08:47,192 Tapi di C, mereka sebenarnya tidak. 202 00:08:47,192 --> 00:08:48,400 Tapi kami telah menciptakannya untuk Anda. 203 00:08:48,400 --> 00:08:51,910 Jadi jika Anda merasa perlu untuk membuat variabel yang jenis bool, 204 00:08:51,910 --> 00:08:55,230 pastikan untuk # include CS50.h pada awal program Anda, 205 00:08:55,230 --> 00:08:57,800 dan Anda akan dapat membuat variabel dari jenis bool. 206 00:08:57,800 --> 00:09:02,095 >> Jika Anda lupa # include CS50.h, dan Anda mulai menggunakan Boolean-jenis variabel, 207 00:09:02,095 --> 00:09:04,970 Anda mungkin mengalami beberapa masalah ketika Anda mengkompilasi program Anda. 208 00:09:04,970 --> 00:09:06,490 Jadi hanya waspada untuk itu. 209 00:09:06,490 --> 00:09:11,180 Dan mungkin Anda hanya dapat memperbaiki masalah dengan pound termasuk CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> Tipe data utama lainnya yang kami menyediakan untuk Anda di perpustakaan CS50 211 00:09:14,590 --> 00:09:15,670 string. 212 00:09:15,670 --> 00:09:17,130 Jadi apa adalah string? 213 00:09:17,130 --> 00:09:18,520 String adalah benar-benar hanya kata-kata. 214 00:09:18,520 --> 00:09:20,000 Mereka koleksi karakter. 215 00:09:20,000 --> 00:09:20,640 Mereka kata. 216 00:09:20,640 --> 00:09:21,390 Mereka kalimat. 217 00:09:21,390 --> 00:09:22,480 Mereka paragraf. 218 00:09:22,480 --> 00:09:25,850 Mungkin seluruh buku, bahkan. 219 00:09:25,850 --> 00:09:29,690 >> Sangat pendek untuk sangat panjang serangkaian karakter. 220 00:09:29,690 --> 00:09:34,310 Jika Anda perlu menggunakan string, misalnya, untuk menyimpan kata, 221 00:09:34,310 --> 00:09:37,609 pastikan untuk menyertakan CS50.h pada awal program Anda 222 00:09:37,609 --> 00:09:38,900 sehingga Anda dapat menggunakan tipe string. 223 00:09:38,900 --> 00:09:43,910 Dan kemudian Anda dapat membuat variabel yang tipe data string. 224 00:09:43,910 --> 00:09:46,160 Sekarang nanti di lapangan, kami juga akan melihat bahwa itu 225 00:09:46,160 --> 00:09:47,752 tidak seluruh cerita, baik. 226 00:09:47,752 --> 00:09:49,460 Kami akan menemukan hal-hal disebut struktur, 227 00:09:49,460 --> 00:09:54,249 yang memungkinkan Anda untuk kelompok apa yang mungkin integer dan string ke dalam satu unit. 228 00:09:54,249 --> 00:09:56,290 Dan kita dapat menggunakannya untuk beberapa tujuan, yang mungkin 229 00:09:56,290 --> 00:09:57,750 berguna di kemudian hari dalam kursus. 230 00:09:57,750 --> 00:09:59,500 >> Dan kami juga akan belajar tentang jenis didefinisikan, 231 00:09:59,500 --> 00:10:01,720 yang memungkinkan Anda untuk membuat jenis data Anda sendiri. 232 00:10:01,720 --> 00:10:03,060 Kita tidak perlu khawatir tentang itu untuk saat ini. 233 00:10:03,060 --> 00:10:04,550 Tapi hanya tahu bahwa itu sesuatu di cakrawala, 234 00:10:04,550 --> 00:10:07,633 bahwa ada lebih banyak untuk ini seluruh jenis hal daripada saya mengatakan hanya 235 00:10:07,633 --> 00:10:08,133 sekarang. 236 00:10:08,133 --> 00:10:10,591 Jadi sekarang kita telah belajar sedikit tentang data dasar 237 00:10:10,591 --> 00:10:14,230 jenis dan tipe data CS50, mari kita berbicara tentang bagaimana bekerja dengan variabel 238 00:10:14,230 --> 00:10:18,530 dan membuat mereka menggunakan ini jenis data dalam program kami. 239 00:10:18,530 --> 00:10:22,670 Jika Anda ingin membuat sebuah variabel, semua yang perlu Anda lakukan adalah dua hal. 240 00:10:22,670 --> 00:10:24,147 >> Pertama, Anda perlu memberikan tipe. 241 00:10:24,147 --> 00:10:26,230 Hal kedua yang perlu lakukan adalah memberikan nama. 242 00:10:26,230 --> 00:10:28,740 Setelah Anda melakukan itu dan menampar titik koma di akhir baris itu, 243 00:10:28,740 --> 00:10:29,830 Anda telah membuat sebuah variabel. 244 00:10:29,830 --> 00:10:32,370 >> Jadi, inilah dua contoh. 245 00:10:32,370 --> 00:10:35,744 Int number; Surat arang ;. 246 00:10:35,744 --> 00:10:36,660 Apa yang telah saya lakukan di sini? 247 00:10:36,660 --> 00:10:38,110 Saya telah membuat dua variabel. 248 00:10:38,110 --> 00:10:40,190 >> Pertama, variabel ini Nama adalah nomor. 249 00:10:40,190 --> 00:10:44,830 Dan jumlah mampu memegang bilangan bulat ketik nilai, karena jenisnya adalah int. 250 00:10:44,830 --> 00:10:48,040 Surat adalah variabel lain yang dapat menahan karakter 251 00:10:48,040 --> 00:10:50,240 karena tipe data adalah arang. 252 00:10:50,240 --> 00:10:51,772 >> Cukup sederhana, bukan? 253 00:10:51,772 --> 00:10:53,480 Jika Anda menemukan diri Anda dalam situasi di mana 254 00:10:53,480 --> 00:10:56,250 Anda perlu membuat beberapa variabel dari jenis yang sama, 255 00:10:56,250 --> 00:10:58,740 Anda hanya perlu menentukan nama jenis sekali. 256 00:10:58,740 --> 00:11:01,600 Kemudian hanya daftar sebagai banyak variabel dari jenis yang Anda butuhkan. 257 00:11:01,600 --> 00:11:04,230 >> Jadi aku bisa misalnya, di sini di baris ketiga kode ini, 258 00:11:04,230 --> 00:11:07,420 mengatakan int tinggi ;, baris baru. 259 00:11:07,420 --> 00:11:08,291 Int lebar ;. 260 00:11:08,291 --> 00:11:09,290 Dan yang akan bekerja juga. 261 00:11:09,290 --> 00:11:12,039 Saya masih akan mendapatkan dua variabel disebut tinggi dan lebar, yang masing-masing 262 00:11:12,039 --> 00:11:12,730 adalah bilangan bulat. 263 00:11:12,730 --> 00:11:16,970 Tapi aku diizinkan untuk, hal yang C sintaks, mengkonsolidasikan menjadi satu baris. 264 00:11:16,970 --> 00:11:20,230 Int tinggi, lebar; Ini hal yang sama. 265 00:11:20,230 --> 00:11:23,900 Saya telah membuat dua variabel, satu disebut tinggi yang disebut lebar, yang keduanya 266 00:11:23,900 --> 00:11:26,730 mampu memegang nilai tipe integer. 267 00:11:26,730 --> 00:11:30,920 >> Demikian pula di sini, saya bisa membuat tiga floating point nilai sekaligus. 268 00:11:30,920 --> 00:11:33,350 Aku mungkin bisa membuat variabel disebut akar kuadrat dari 2-- 269 00:11:33,350 --> 00:11:35,766 yang mungkin akhirnya akan tahan point-- mengambang 270 00:11:35,766 --> 00:11:39,222 bahwa representasi dari alun-alun akar 2-- akar kuadrat dari 3, dan pi. 271 00:11:39,222 --> 00:11:41,180 Saya bisa melakukan ini pada tiga baris yang terpisah. 272 00:11:41,180 --> 00:11:47,690 Mengambang, persegi akar 2; Mengapung akar kuadrat 3; mengapung pi; dan yang akan bekerja juga. 273 00:11:47,690 --> 00:11:50,590 >> Tapi sekali lagi, saya hanya dapat mengkonsolidasikan ini menjadi satu baris kode. 274 00:11:50,590 --> 00:11:54,050 Membuat hal-hal sedikit lebih pendek, tidak kikuk. 275 00:11:54,050 --> 00:11:57,259 >> Sekarang secara umum, itu desain yang baik untuk hanya mendeklarasikan variabel ketika Anda membutuhkannya. 276 00:11:57,259 --> 00:11:59,050 Dan kita akan berbicara sedikit sedikit lebih lanjut tentang itu 277 00:11:59,050 --> 00:12:00,945 nanti dalam kursus ketika kita membahas ruang lingkup. 278 00:12:00,945 --> 00:12:03,320 Jadi tidak perlu untuk membuat semua variabel Anda 279 00:12:03,320 --> 00:12:05,990 pada awal program, yang beberapa orang mungkin telah melakukan masa lalu, 280 00:12:05,990 --> 00:12:08,700 atau itu pasti sangat umum coding praktek bertahun-tahun yang lalu 281 00:12:08,700 --> 00:12:11,700 ketika bekerja dengan C. Anda mungkin hanya ingin membuat hak variabel ketika 282 00:12:11,700 --> 00:12:13,140 Anda membutuhkannya. 283 00:12:13,140 --> 00:12:13,640 Baiklah. 284 00:12:13,640 --> 00:12:15,150 Jadi kami telah menciptakan variabel. 285 00:12:15,150 --> 00:12:16,790 Bagaimana kita menggunakannya? 286 00:12:16,790 --> 00:12:18,650 Setelah kita mendeklarasikan variabel, kita tidak perlu 287 00:12:18,650 --> 00:12:21,237 untuk menentukan tipe data variabel itu lagi. 288 00:12:21,237 --> 00:12:24,070 Bahkan, jika Anda melakukannya, Anda mungkin berakhir dengan beberapa konsekuensi yang aneh 289 00:12:24,070 --> 00:12:25,490 bahwa kita akan jenis mengabaikan untuk saat ini. 290 00:12:25,490 --> 00:12:27,365 Tapi cukup untuk mengatakan, hal-hal aneh yang akan 291 00:12:27,365 --> 00:12:30,740 untuk memulai terjadi jika Anda secara tidak sengaja kembali mendeklarasikan-variabel dengan nama yang sama 292 00:12:30,740 --> 00:12:32,210 lagi dan lagi. 293 00:12:32,210 --> 00:12:33,882 >> Jadi di sini saya memiliki empat baris kode. 294 00:12:33,882 --> 00:12:36,090 Dan saya memiliki beberapa komentar sana hanya menunjukkan 295 00:12:36,090 --> 00:12:37,840 apa yang terjadi di setiap baris hanya untuk membantu 296 00:12:37,840 --> 00:12:40,520 Anda mendapatkan terletak di apa yang terjadi. 297 00:12:40,520 --> 00:12:41,520 Jadi int jumlah ;. 298 00:12:41,520 --> 00:12:42,520 Anda melihat bahwa sebelumnya. 299 00:12:42,520 --> 00:12:44,000 Itu deklarasi variabel. 300 00:12:44,000 --> 00:12:46,670 >> Saya sekarang telah membuat sebuah variabel menelepon nomor itu 301 00:12:46,670 --> 00:12:48,970 mampu memegang nilai integer tipe. 302 00:12:48,970 --> 00:12:50,210 Saya sudah menyatakan. 303 00:12:50,210 --> 00:12:53,770 >> Baris berikutnya saya menugaskan nilai ke nomor. 304 00:12:53,770 --> 00:12:54,992 Jumlah sama 17. 305 00:12:54,992 --> 00:12:55,950 Apa yang terjadi di sana? 306 00:12:55,950 --> 00:12:58,880 Aku meletakkan jumlah 17 dalam variabel tersebut. 307 00:12:58,880 --> 00:13:02,760 >> Jadi jika saya pernah kemudian mencetak apa isi nomor yang di kemudian hari, 308 00:13:02,760 --> 00:13:04,030 mereka akan memberitahu saya itu 17. 309 00:13:04,030 --> 00:13:07,030 Jadi saya sudah menyatakan variabel, dan kemudian saya sudah ditugaskan itu. 310 00:13:07,030 --> 00:13:10,570 >> Kami dapat mengulangi proses lagi dengan surat arang ;. 311 00:13:10,570 --> 00:13:11,640 Itu deklarasi. 312 00:13:11,640 --> 00:13:14,010 Surat sama modal H. Itu tugas. 313 00:13:14,010 --> 00:13:16,030 Cukup sederhana, juga. 314 00:13:16,030 --> 00:13:18,319 >> Sekarang proses ini mungkin tampak konyol. 315 00:13:18,319 --> 00:13:20,110 Mengapa kita melakukan ini dalam dua baris kode? 316 00:13:20,110 --> 00:13:21,401 Apakah ada cara yang lebih baik untuk melakukannya? 317 00:13:21,401 --> 00:13:22,250 Bahkan, ada. 318 00:13:22,250 --> 00:13:24,375 Kadang-kadang Anda mungkin melihat ini disebut inisialisasi. 319 00:13:24,375 --> 00:13:28,446 Justru ketika Anda mendeklarasikan variabel dan menetapkan nilai pada waktu yang sama. 320 00:13:28,446 --> 00:13:30,320 Ini sebenarnya cukup hal yang umum untuk dilakukan. 321 00:13:30,320 --> 00:13:32,870 Bila Anda membuat sebuah variabel, Anda biasanya ingin memiliki beberapa nilai dasar. 322 00:13:32,870 --> 00:13:34,330 Bahkan jika itu 0 atau sesuatu. 323 00:13:34,330 --> 00:13:36,180 Anda hanya Anda memberikan nilai. 324 00:13:36,180 --> 00:13:38,360 >> Anda dapat menginisialisasi variabel. 325 00:13:38,360 --> 00:13:42,320 Int jumlah sama 17 adalah sama dengan dua baris pertama dari kode di atas. 326 00:13:42,320 --> 00:13:46,829 Surat Char sama h adalah sama dengan baris ketiga dan keempat dari kode di atas. 327 00:13:46,829 --> 00:13:49,620 Takeaway paling penting di sini ketika kita menyatakan dan menetapkan 328 00:13:49,620 --> 00:13:51,740 variabel adalah setelah kami sudah menyatakan, pemberitahuan 329 00:13:51,740 --> 00:13:53,700 Saya tidak menggunakan tipe data lagi. 330 00:13:53,700 --> 00:13:57,916 Saya tidak mengatakan jumlah int sama 17 pada baris kedua kode, misalnya. 331 00:13:57,916 --> 00:13:59,290 Aku hanya mengatakan jumlah sama 17. 332 00:13:59,290 --> 00:14:02,537 >> Sekali lagi, re-mendeklarasikan variabel setelah Anda sudah menyatakan dapat menyebabkan 333 00:14:02,537 --> 00:14:03,620 beberapa konsekuensi yang aneh. 334 00:14:03,620 --> 00:14:05,950 Jadi hanya berhati-hati itu. 335 00:14:05,950 --> 00:14:06,660 >> Aku Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Dan ini CS50. 337 00:14:08,870 --> 00:14:10,499