1 00:00:00,000 --> 00:00:01,500 >> [MUZIK bermain] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID MALAN: Baiklah ini adalah CS50 dan ini adalah akhir minggu satu. 4 00:00:16,110 --> 00:00:20,760 Jadi saya ingin memperkenalkan bekas saya dinasihati, Andel Duff, yang bukan sahaja menjadikan 5 00:00:20,760 --> 00:00:25,460 iPhone 5 berdiri, dan juga ini mimbar, beliau juga membuat kereta. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 Ansel Duff: Bagaimana PUASANYA, semua orang? 8 00:00:29,510 --> 00:00:31,980 Saya hanya ingin memberitahu anda sedikit sedikit tentang Formula SAE, di mana saya 9 00:00:31,980 --> 00:00:32,604 seorang kapten. 10 00:00:32,604 --> 00:00:33,437 Ia merupakan satu pasukan MIT. 11 00:00:33,437 --> 00:00:35,520 Saya hanya ingin memberitahu anda lelaki sedikit mengenainya 12 00:00:35,520 --> 00:00:37,520 dan diharapkan menjana beberapa faedah. 13 00:00:37,520 --> 00:00:41,590 >> Jadi biarlah saya berjalan melalui beberapa perkara tentang pasukan kami. 14 00:00:41,590 --> 00:00:43,640 Jadi kita sepenuhnya pelajar jangka, di mana semua 15 00:00:43,640 --> 00:00:47,300 reka bentuk ahli, simulasi, ujian, dan pengeluar subsistem 16 00:00:47,300 --> 00:00:48,090 kereta. 17 00:00:48,090 --> 00:00:51,240 Kami mempunyai kedai mesin kita sendiri dan garaj, dan N52-- atau maaf, 18 00:00:51,240 --> 00:00:54,140 N51-- yang merupakan bangunan yang sama sebagai Muzium Sains MIT. 19 00:00:54,140 --> 00:00:55,990 Dan kami adalah orang-orang yang memandu kereta. 20 00:00:55,990 --> 00:00:58,340 Ada satu pertandingan kebangsaan pada awal musim panas, 21 00:00:58,340 --> 00:01:01,215 dan kemudian ada penentuan yang lebih kecil pertandingan sepanjang tahun. 22 00:01:01,215 --> 00:01:04,400 Dan kemudian kita melakukan latihan pemandu hari untuk ahli-ahli baru berkenalan. 23 00:01:04,400 --> 00:01:08,280 >> Hari bina kami adalah pada Sabtu 11:00-8:00. 24 00:01:08,280 --> 00:01:11,060 Makan tengah hari dan makan malam menjaga daripada, dari itu Bertucci dan Beantown 25 00:01:11,060 --> 00:01:12,130 masing-masing. 26 00:01:12,130 --> 00:01:15,260 Kami mempunyai mesyuarat mingguan dan seminar, yang bagi kredit kursus. 27 00:01:15,260 --> 00:01:18,560 Yang baru semester ini, dan ia juga adalah untuk semester akan datang, 28 00:01:18,560 --> 00:01:19,940 supaya anda boleh menyeberangi-reg untuk itu. 29 00:01:19,940 --> 00:01:22,960 Dan kemudian kita mempunyai bentuk, kedai, dan hari-hari CAD pada minggu, 30 00:01:22,960 --> 00:01:26,870 manakala ahli-ahli akan bebas Bahagian CAD, perintah saham dan sebagainya. 31 00:01:26,870 --> 00:01:29,200 >> Jadi untuk elektrik kejuruteraan di pasukan 32 00:01:29,200 --> 00:01:31,110 kita mempunyai tarikan yang kami, sistem voltan tinggi, 33 00:01:31,110 --> 00:01:33,390 yang berlangsung pada nominal 300 volt, yang merangkumi 34 00:01:33,390 --> 00:01:35,360 motor, pengawal motor, dan pek bateri. 35 00:01:35,360 --> 00:01:37,235 Kemudian kita mempunyai rendah sistem voltan, yang berlangsung 36 00:01:37,235 --> 00:01:40,180 pada 12 volt, yang merangkumi kawalan, BOLEH nod, otak 37 00:01:40,180 --> 00:01:41,570 kotak dan papan pemuka. 38 00:01:41,570 --> 00:01:43,890 Sejauh CS pergi, yang kita lakukan mempunyai penyelenggaraan laman web 39 00:01:43,890 --> 00:01:47,940 yang kita perlu lakukan untuk acara-acara, keahlian perubahan, gambar baru, dan bahan PR. 40 00:01:47,940 --> 00:01:51,540 Dan kemudian kita mempunyai kod yang mengawal kereta kawalan cengkaman kami, pelancaran 41 00:01:51,540 --> 00:01:55,750 kawalan, kawalan dash, tork vektor, dan sistem brek regeneratif, yang 42 00:01:55,750 --> 00:01:59,170 menjalankan biasanya dalam MATLAB, Simulink dan LabVIEW. 43 00:01:59,170 --> 00:02:00,910 >> Memberitahu anda sedikit tentang kereta. 44 00:02:00,910 --> 00:02:02,470 Jadi ia kira-kira 500 pound. 45 00:02:02,470 --> 00:02:04,285 Ia peraturan terhad kepada 85 kilowatt. 46 00:02:04,285 --> 00:02:08,310 Ia mempunyai 2 EMRAX 207 motor dalam belakang, satu untuk setiap roda belakang. 47 00:02:08,310 --> 00:02:11,880 Ia mempunyai pek bateri yang dibina dari Prisma sel A123 kantung, 48 00:02:11,880 --> 00:02:14,780 berjumlah 300 volt dan 5.6 kilowatt. 49 00:02:14,780 --> 00:02:17,950 Dan ia memandu langsung dengan nisbah 2,64-1 drive. 50 00:02:17,950 --> 00:02:20,970 Berikut adalah beberapa gambar kami mengambil daripadanya pada pertandingan. 51 00:02:20,970 --> 00:02:25,820 Berikut adalah kon kembali, hidung, dan di sini adalah motor, 52 00:02:25,820 --> 00:02:29,682 cakera yang hitam besar bawahnya yang et mens Manus. 53 00:02:29,682 --> 00:02:32,140 Berikut adalah slaid yang saya menarik daripada skim persaingan kita. 54 00:02:32,140 --> 00:02:35,389 Dan ini hanya membandingkan kereta kita dengan beberapa kereta boleh didapati secara komersial, 55 00:02:35,389 --> 00:02:38,380 seperti KTM XBOW, Ariel Atom, dan Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Jika anda biasa dengan harga, kuasa tarik berat badan, dolar per kuasa kuda, 57 00:02:42,110 --> 00:02:44,930 dolar per tork, dan kereta kami bertiup mereka semua keluar dari air. 58 00:02:44,930 --> 00:02:47,520 Jika anda mempunyai sebarang soalan, mencatat alamat e-mel ini. 59 00:02:47,520 --> 00:02:50,800 Menembak kita e-mel di fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Kami gembira untuk bercakap tentang apa sahaja yang anda suka. 61 00:02:53,350 --> 00:02:55,600 Pelajar Harvard adalah jenis minoriti dalam pasukan. 62 00:02:55,600 --> 00:02:58,350 Jika anda mempunyai sebarang soalan mengenai bahawa sila menembak e-mel kepada kami, 63 00:02:58,350 --> 00:03:00,810 gembira untuk cakap, dan saya akan untuk mengetuai kembali kepada Daud. 64 00:03:00,810 --> 00:03:01,550 Terima kasih. 65 00:03:01,550 --> 00:03:02,466 Saya menghargainya, guys. 66 00:03:02,466 --> 00:03:03,615 [Tepuk tangan] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID MALAN: Ansel menghabiskan musim panas bekerja dengan kami di sini di kampus di CS50 69 00:03:10,980 --> 00:03:11,480 musim panas ini. 70 00:03:11,480 --> 00:03:13,505 Dan di samping mengusahakan hal-hal seperti mentol binari, 71 00:03:13,505 --> 00:03:16,090 dia benar-benar benar-benar dibuka kami eyes-- dan lombong di particular-- 72 00:03:16,090 --> 00:03:20,535 dengan apa yang benar-benar persimpangan tidak perkakasan dan perisian boleh. 73 00:03:20,535 --> 00:03:23,410 Malah banyak perkara-perkara yang hanya melawat anda melalui akhirnya 74 00:03:23,410 --> 00:03:26,030 dicipta terlebih dahulu di dalam perisian, dan kemudian akhirnya fabrikasi 75 00:03:26,030 --> 00:03:27,299 dalam dunia sebenar dalam perkakasan. 76 00:03:27,299 --> 00:03:29,590 Jadi, jika anda berminat untuk meneroka persimpangan itu, 77 00:03:29,590 --> 00:03:31,430 mungkin mengambil masa sehingga kumpulan itu. 78 00:03:31,430 --> 00:03:34,140 >> Sekarang sementara itu, orang- yang peminat teknologi, 79 00:03:34,140 --> 00:03:36,140 dan produk Apple dalam tertentu tahu bahawa ada 80 00:03:36,140 --> 00:03:37,860 adalah beberapa pengumuman semalam. 81 00:03:37,860 --> 00:03:39,776 Tetapi kita fikir kita akan menunjukkan anda salah seorang yang keluar 82 00:03:39,776 --> 00:03:43,590 beberapa hari sebelum itu anda mungkin telah melihat. 83 00:03:43,590 --> 00:03:46,150 >> Jorgen EGHAMMER: Anda tahu, sekali dalam sesuatu yang sementara 84 00:03:46,150 --> 00:03:49,540 datang yang mengubah cara kita hidup. 85 00:03:49,540 --> 00:03:53,479 Peranti A begitu mudah dan intuitif menggunakannya berasa hampir biasa. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Memperkenalkan 2015 Katalog IKEA. 88 00:04:04,138 --> 00:04:10,420 Ia bukan sebuah buku digital atau e-buku, ia adalah buku-buku. 89 00:04:10,420 --> 00:04:14,440 >> Perkara pertama yang perlu diperhatikan adalah tidak kabel, tidak ada satu kabel kuasa. 90 00:04:14,440 --> 00:04:18,519 2015 Katalog IKEA datang dicas sepenuhnya, 91 00:04:18,519 --> 00:04:20,550 dan hayat bateri adalah kekal. 92 00:04:20,550 --> 00:04:27,300 Antara muka yang 7.5 sebanyak 8 inci, tetapi boleh berkembang ke 15 oleh 8 inci. 93 00:04:27,300 --> 00:04:32,410 Navigasi berasaskan sentuhan sentuhan teknologi yang anda sebenarnya boleh merasa. 94 00:04:32,410 --> 00:04:37,120 >> Kandungan datang pra-pasang melalui 328 muka surat definisi tinggi 95 00:04:37,120 --> 00:04:40,180 inspirasi idea-idea hiasan rumah. 96 00:04:40,180 --> 00:04:43,740 Untuk mula menyemak imbas, hanya sentuh dan seret. 97 00:04:43,740 --> 00:04:50,870 Kanan ke kiri untuk bergerak ke hadapan, kiri ke kanan untuk bergerak ke belakang. 98 00:04:50,870 --> 00:04:52,770 >> Perhatikan sesuatu yang berlainan? 99 00:04:52,770 --> 00:04:53,780 Betul. 100 00:04:53,780 --> 00:04:55,190 No lag. 101 00:04:55,190 --> 00:04:58,400 Setiap halaman yang jernih beban serta-merta, 102 00:04:58,400 --> 00:05:00,586 tidak kira berapa cepat anda tatal. 103 00:05:00,586 --> 00:05:03,710 Jika anda ingin mendapatkan gambaran yang cepat, hanya memegang di telapak tangan anda, 104 00:05:03,710 --> 00:05:06,816 dan dengan hanya menggunakan ibu jari anda, kelajuan melayari kandungan. 105 00:05:06,816 --> 00:05:10,930 >> Jika anda mencari sesuatu yang anda mahu untuk menyelamatkan untuk masa lain, anda hanya boleh menanda buku itu. 106 00:05:10,930 --> 00:05:17,620 Dan walaupun anda tutup aplikasi, anda boleh dengan mudah mencari penanda buku lagi. 107 00:05:17,620 --> 00:05:18,490 Menakjubkan. 108 00:05:18,490 --> 00:05:20,434 >> [Ketawa] 109 00:05:20,434 --> 00:05:21,406 [Tepuk tangan] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Justeru, berbalik kepada hujung minggu satu. 112 00:05:29,870 --> 00:05:31,760 Beberapa pengumuman sekarang. 113 00:05:31,760 --> 00:05:33,440 Jadi sectioning kini dijalankan. 114 00:05:33,440 --> 00:05:36,860 Pergi ke URL ini di sini kadang-kadang antara sekarang dan Jumaat di tengah hari 115 00:05:36,860 --> 00:05:39,960 untuk benar-benar menentukan sama ada anda di kalangan mereka yang kurang selesa, lebih 116 00:05:39,960 --> 00:05:41,690 selesa, atau di suatu tempat di antara. 117 00:05:41,690 --> 00:05:44,511 >> Ini biasanya salah seorang daripada mereka perkara yang anda hanya jenis tahu. 118 00:05:44,511 --> 00:05:47,510 Dan sebenarnya orang-orang yang kurang selesa mungkin tahu banyak, 119 00:05:47,510 --> 00:05:49,634 orang-orang yang lebih selesa dikenali sebagai banyak, 120 00:05:49,634 --> 00:05:54,960 dan sekali lagi jika anda tidak cukup yakin yang dari orang-orang baldi anda jatuh ke dalam anda 121 00:05:54,960 --> 00:05:56,210 mungkin di suatu tempat di antara. 122 00:05:56,210 --> 00:05:59,810 Tetapi yakinlah anda boleh menukar selepas beberapa minggu jika perlu. 123 00:05:59,810 --> 00:06:02,620 >> Sementara itu, bagi minggu yang akan datang kita tidak mula bahagian per se, 124 00:06:02,620 --> 00:06:04,760 tetapi bahagian super, yang adalah terbuka kepada semua pelajar. 125 00:06:04,760 --> 00:06:08,220 Hari Ahad ini datang pada lokasi pada diumumkan di laman web kursus 126 00:06:08,220 --> 00:06:10,190 kita akan mempunyai satu untuk mereka yang kurang selesa, 127 00:06:10,190 --> 00:06:12,470 dan juga satu untuk mereka lebih selesa. 128 00:06:12,470 --> 00:06:15,460 Dan di suatu tempat yang di antara boleh memilih daripada kedua-dua, 129 00:06:15,460 --> 00:06:17,360 atau kedua-duanya jika anda suka, untuk duduk di atas. 130 00:06:17,360 --> 00:06:19,630 Dan tumpuan yang akan akhirnya pada C, 131 00:06:19,630 --> 00:06:22,440 yang kami akan terus kami perbualan hari ini. 132 00:06:22,440 --> 00:06:25,070 >> Masalah set 0 Sementara adalah mudah-mudahan di tangan anda. 133 00:06:25,070 --> 00:06:27,500 Secara rasmi esok kerana, Khamis, pada tengah hari. 134 00:06:27,500 --> 00:06:29,490 Melainkan anda tunai dalam satu 5 hari lewat anda, 135 00:06:29,490 --> 00:06:31,780 yang akan membawa sehingga Jumaat di tengah hari. 136 00:06:31,780 --> 00:06:34,420 Masalah set 1 Sementara itu akan dipaparkan di laman web kursus ini. 137 00:06:34,420 --> 00:06:37,381 Dan ini akan menjadi yang pertama kami Karier sebagai kelas ke C. 138 00:06:37,381 --> 00:06:40,630 Dan bahawa masalah yang dinyatakan spec akan berjalan anda melalui banyak mekanik yang 139 00:06:40,630 --> 00:06:43,960 kita mula bercakap tentang pada hari Isnin, dan kami akan terus bercakap tentang hari ini. 140 00:06:43,960 --> 00:06:46,770 C, Linux, yang CS50 perkakas, semua itu 141 00:06:46,770 --> 00:06:48,990 akan menanti anda dalam penentuan itu. 142 00:06:48,990 --> 00:06:52,840 >> Sementara waktu pejabat sedang dijalankan, di dewan makan sarjana muda. 143 00:06:52,840 --> 00:06:56,240 Menuju ke URL ini di sini untuk melihat jadual untuk malam ini dan esok, 144 00:06:56,240 --> 00:06:57,930 jika anda ingin mengambil bahagian. 145 00:06:57,930 --> 00:07:01,920 Soalan Sementara itu, supaya anda mempunyai peluang untuk bertanya soalan 146 00:07:01,920 --> 00:07:05,860 tak segerak, 24/7, menyedari anda tidak terhad kepada bahagian dan pejabat 147 00:07:05,860 --> 00:07:09,530 jam, tetapi alat ini di sini, CS50 Bincangkan di URL yang 148 00:07:09,530 --> 00:07:12,150 akan berada dalam talian perjalanan ini buletin perisian lembaga, melalui yang 149 00:07:12,150 --> 00:07:15,030 anda boleh bertanya soalan dari rakan-rakan dan juga kakitangan. 150 00:07:15,030 --> 00:07:18,492 Jadi ingat sumber itu juga. 151 00:07:18,492 --> 00:07:20,200 Sementara itu tradisi bermula Jumaat ini. 152 00:07:20,200 --> 00:07:23,200 Seperti yang anda mungkin telah celah dari video teaser Rabu lepas, 153 00:07:23,200 --> 00:07:25,510 kita mempunyai tradisi yang paling setiap hari Jumaat sepanjang tempoh 154 00:07:25,510 --> 00:07:28,750 mengambil kira-kira 50 pelajar dan kakitangan untuk restoran tempatan dipanggil 155 00:07:28,750 --> 00:07:31,510 Bomba dan Ais, di mana kami biasanya disertai oleh beberapa alumni 156 00:07:31,510 --> 00:07:33,850 atau rakan-rakan daripada industri bercita-cita untuk secara amnya 157 00:07:33,850 --> 00:07:35,780 untuk membuat kelas yang besar rasa kecil. 158 00:07:35,780 --> 00:07:37,560 Jadi ia adalah satu makan tengah hari benar-benar santai. 159 00:07:37,560 --> 00:07:40,160 Sekumpulan kami, kakitangan yang terutamanya, akan bermain kerusi muzik 160 00:07:40,160 --> 00:07:43,360 dan berbual dengan pelajar tentang 50, kehidupan di luar 50, 161 00:07:43,360 --> 00:07:46,510 hidup pada masa akan datang, dunia sebenar, Saya bercakap tentang peluang-peluang pekerjaan 162 00:07:46,510 --> 00:07:47,680 dengan rakan-rakan dalam industri. 163 00:07:47,680 --> 00:07:51,110 >> Jadi jika anda ingin menyertai kami Jumaat ini, menuju ke URL ini di sini. 164 00:07:51,110 --> 00:07:54,180 Ruang adalah terhad, tetapi kami akan melakukan ini recurringly sepanjang tempoh tersebut. 165 00:07:54,180 --> 00:07:57,380 Mengetuai sana untuk cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 Dan jika anda tidak mendapat dalam masa ini, tidak perlu bimbang. 167 00:07:59,380 --> 00:08:02,390 Kami akan melakukannya sekali lagi dalam beberapa minggu akan datang juga. 168 00:08:02,390 --> 00:08:05,434 >> Jadi ini adalah gambar kami dicat minggu lalu, 169 00:08:05,434 --> 00:08:07,350 dan anda mungkin telah berkecimpung dalam setakat ini. 170 00:08:07,350 --> 00:08:10,360 Tetapi mari kita cuba untuk menyambung ini sekarang dengan apa yang kita akan lakukan hari ini 171 00:08:10,360 --> 00:08:11,440 dan seterusnya. 172 00:08:11,440 --> 00:08:14,760 Bolehkah saya mempunyai satu sukarelawan? 173 00:08:14,760 --> 00:08:16,000 Baiklah, atau lebih. 174 00:08:16,000 --> 00:08:18,460 Bagaimana kira-kira di sini pada akhir, dalam baju biru. 175 00:08:18,460 --> 00:08:20,329 Datang pada sehingga, apa nama anda? 176 00:08:20,329 --> 00:08:20,870 Alana: Alana. 177 00:08:20,870 --> 00:08:21,661 DAVID MALAN: Alana. 178 00:08:21,661 --> 00:08:25,100 Jadi Alana, hanya untuk moment-- bagus untuk memenuhi you-- 179 00:08:25,100 --> 00:08:28,260 akan memainkan peranan yang fungsi ini di sini. 180 00:08:28,260 --> 00:08:31,290 Blok ungu kita kena dipanggil setakat ini fungsi. 181 00:08:31,290 --> 00:08:34,830 Jadi apa yang saya akan pergi hadapan di sini dan menawarkan Alana 182 00:08:34,830 --> 00:08:38,380 adalah tag nama kecil, untuk membuat jelas apakah peranan yang anda bermain. 183 00:08:38,380 --> 00:08:39,753 >> Oleh itu, anda hendaklah menjadi blok katakan itu. 184 00:08:39,753 --> 00:08:41,419 Jika anda ingin pergi ke depan dan meletakkan bahawa pada. 185 00:08:41,419 --> 00:08:43,169 Dan kita akan menyimpan ini super mudah. 186 00:08:43,169 --> 00:08:46,180 Jika matlamat di tangan adalah semata-mata sekarang untuk melaksanakan dengan Alana, 187 00:08:46,180 --> 00:08:49,710 apa yang dipanggil mengatakan blok, di sini bagaimana ia akan bekerja. 188 00:08:49,710 --> 00:08:52,574 Saya have-- mari kita memanggilnya hujah atau parameter, 189 00:08:52,574 --> 00:08:54,240 ia benar-benar hanya kertas kosong. 190 00:08:54,240 --> 00:08:57,239 Dan ia putih untuk jenis menjadi mengingatkan kotak putih ke mana anda 191 00:08:57,239 --> 00:08:58,080 boleh menulis perkataan. 192 00:08:58,080 --> 00:09:00,660 >> Sementara itu saya akan pergi di sini. 193 00:09:00,660 --> 00:09:06,560 Saya akan pergi ke depan dan menulis H-E-L-L-O koma dunia. 194 00:09:06,560 --> 00:09:09,972 Dan sekarang saya, yang berkata pengaturcara, tidak benar-benar tahu bagaimana untuk mengatakan sesuatu. 195 00:09:09,972 --> 00:09:12,180 Saya boleh datang dengan kata-kata, tetapi saya tidak semestinya 196 00:09:12,180 --> 00:09:15,220 tahu bagaimana untuk menyatakan diri saya secara lisan atau pada skrin. 197 00:09:15,220 --> 00:09:17,280 Dan apa yang saya akan lakukan adalah mengambil sekeping ini 198 00:09:17,280 --> 00:09:21,157 fungsi, yang input-- atau hujah, seperti yang kita akan memanggilnya, 199 00:09:21,157 --> 00:09:23,990 Saya telah menulis di atas sekeping ini paper-- dan saya akan menggunakan khidmat itu. 200 00:09:23,990 --> 00:09:26,831 >> Dan sesungguhnya itulah peranan yang fungsi dalam bahasa pengaturcaraan 201 00:09:26,831 --> 00:09:27,330 boleh bermain. 202 00:09:27,330 --> 00:09:29,246 Katakan sesuatu seperti yang blok boleh disalurkan 203 00:09:29,246 --> 00:09:32,074 kepada seseorang yang benar-benar tahu apa yang dia atau dia sedang bercakap tentang. 204 00:09:32,074 --> 00:09:33,990 Jadi, jika anda akan melangkah di sini untuk seketika, 205 00:09:33,990 --> 00:09:40,092 Saya akan lulus input ini untuk Alana, dan meminta anda mengatakan input ini. 206 00:09:40,092 --> 00:09:41,202 >> Alana: Hello, dunia. 207 00:09:41,202 --> 00:09:42,160 DAVID MALAN: Itu sahaja. 208 00:09:42,160 --> 00:09:43,326 Sehingga ada fungsi. 209 00:09:43,326 --> 00:09:46,556 Sekarang kita boleh mengambil ia sedikit lebih, kita boleh mengambil langkah ke hadapan di sini. 210 00:09:46,556 --> 00:09:48,180 Kerana yang jelas underwhelming. 211 00:09:48,180 --> 00:09:51,670 Jadi mari kita kini menukar ini kepada sesuatu yang lebih canggih. 212 00:09:51,670 --> 00:09:53,630 >> Jadi ini sudah tentu adalah versi C kami. 213 00:09:53,630 --> 00:09:56,760 Jadi sekarang jika anda mahu mengambil yang satu-satunya, bahawa nama tag off, 214 00:09:56,760 --> 00:09:58,530 dan mari kita anda memakai nama baru. 215 00:09:58,530 --> 00:10:00,850 Tetapi pada asasnya anda memainkan peranan yang sama, 216 00:10:00,850 --> 00:10:03,400 ia hanya kebetulan printf dipanggil sekarang. 217 00:10:03,400 --> 00:10:06,930 >> Cerita ini adalah, sudah tentu, akan adalah-- mungkin 218 00:10:06,930 --> 00:10:09,317 seperti underwhelming-- adalah akan menjadi berikut. 219 00:10:09,317 --> 00:10:10,650 Anda kini fungsi printf itu. 220 00:10:10,650 --> 00:10:13,300 Saya pemanggil, atau programmer, yang mahu 221 00:10:13,300 --> 00:10:15,745 untuk berdiri di atas bahu orang pada masa lalu seperti anda, 222 00:10:15,745 --> 00:10:18,670 yang sudah digambarkan bagaimana untuk benar-benar menulis sesuatu ke bawah. 223 00:10:18,670 --> 00:10:20,650 Dan kali ini, dan bukannya mengatakan ia mari 224 00:10:20,650 --> 00:10:22,255 sebenarnya menggunakan skrin kami di sini. 225 00:10:22,255 --> 00:10:24,130 Jadi jika anda ingin melangkah di sini, saya akan 226 00:10:24,130 --> 00:10:27,196 untuk lulus lagi ini sebagai input kepada rakan printf saya. 227 00:10:27,196 --> 00:10:29,320 Jika anda boleh pergi ke depan dan mencetak yang pada skrin, 228 00:10:29,320 --> 00:10:31,611 hanya dengan melukis dengan anda jari pada skrin hitam. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Cemerlang. 231 00:10:44,180 --> 00:10:47,350 Baiklah, jadi banyak tergantung untuk bagaimana yang akan bermain keluar. 232 00:10:47,350 --> 00:10:51,390 >> Jadi sekarang mari kita perkara sehingga satu takuk akhir, jika kita boleh, seperti berikut. 233 00:10:51,390 --> 00:10:53,980 Jadi ini adalah satu program C seperti yang kita katakan masa lalu. 234 00:10:53,980 --> 00:10:57,460 Dan ini hanya melakukan apa yang anda lakukan, ia mencetak keluar ke skrin, hello, dunia. 235 00:10:57,460 --> 00:11:00,290 Walaupun terdapat jelas banyak barangan mengganggu di sana. 236 00:11:00,290 --> 00:11:03,630 Tetapi mari kita mengambil perkara sehingga takuk dan memperkenalkan versi ini, yang ingat 237 00:11:03,630 --> 00:11:06,160 adalah versi ketiga yang kita berakhir dengan masa lalu. 238 00:11:06,160 --> 00:11:09,120 >> Dan kini terdapat dengan jelas dua kegunaan printf. 239 00:11:09,120 --> 00:11:12,280 Ada 2 panggilan ke Alana dalam kes ini untuk printf, 240 00:11:12,280 --> 00:11:14,740 tetapi terdapat juga panggilan ke fungsi lain. 241 00:11:14,740 --> 00:11:17,150 Apakah fungsi yang jelas? 242 00:11:17,150 --> 00:11:17,650 Getstring. 243 00:11:17,650 --> 00:11:18,980 >> Bolehkah kita mendapatkan satu sukarelawan lebih? 244 00:11:18,980 --> 00:11:20,980 OK, mari naik. 245 00:11:20,980 --> 00:11:21,805 Apa nama anda? 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: Javier. 247 00:11:22,990 --> 00:11:24,750 >> DAVID MALAN: Javier, sehingga datang. 248 00:11:24,750 --> 00:11:27,270 Jadi peranan Javier adalah pada ini sekeping kertas. 249 00:11:27,270 --> 00:11:28,860 Yang saya akan memanggil secara umum s. 250 00:11:28,860 --> 00:11:32,250 Sekarang ini adalah berubah-ubah, itu jenis tali, sebagai tersirat 251 00:11:32,250 --> 00:11:34,290 oleh garis kedua di tengah-tengah di sana. 252 00:11:34,290 --> 00:11:36,540 Dan saya ingin anda untuk pergi mendapatkan saya rentetan. 253 00:11:36,540 --> 00:11:40,120 Khususnya kepala ke orkestra seksyen dan mendapatkan saya nama seseorang, 254 00:11:40,120 --> 00:11:43,142 dan kembali dengan pembolehubah yang mengandungi nilai itu. 255 00:11:43,142 --> 00:11:44,225 Ia boleh menjadi sesiapa sahaja yang anda mahu. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Di sini kita pergi. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Baiklah, Javier adalah menulis nama. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Baiklah. 262 00:12:03,280 --> 00:12:05,740 Kita boleh semua mungkin meneka bagaimana ini akan memainkan keluar. 263 00:12:05,740 --> 00:12:07,489 Kami mungkin sedang belaboring titik apa 264 00:12:07,489 --> 00:12:10,320 fungsi adalah lakukan, tetapi namun terima kasih banyak. 265 00:12:10,320 --> 00:12:13,890 >> Jadi Javier telah kembali rentetan ini di sini, yang, tidak boleh nampak, 266 00:12:13,890 --> 00:12:15,800 Jonathan adalah tali bahawa kami telah mendapat. 267 00:12:15,800 --> 00:12:18,330 Jadi sekarang apa yang saya benar-benar akan untuk menyediakan kepada Alana walaupun 268 00:12:18,330 --> 00:12:20,150 adalah sesuatu yang sedikit berbeza. 269 00:12:20,150 --> 00:12:23,800 Kerana dalam versi ini yang program, pertama ada menyatakan nama anda. 270 00:12:23,800 --> 00:12:26,160 Jadi hujah yang pertama Saya perlu menyediakan Alana 271 00:12:26,160 --> 00:12:33,030 dengan akan menjadi harfiah menyatakan nama anda. 272 00:12:33,030 --> 00:12:35,280 Baiklah, jadi semudah itu Saya akan menyerahkan ini kepada anda. 273 00:12:35,280 --> 00:12:36,730 Dan seperti yang saya menulis yang hujah yang akan datang, jika anda 274 00:12:36,730 --> 00:12:39,230 mahu pergi ke depan dan menulis ini di papan, mari kita pergi ke depan 275 00:12:39,230 --> 00:12:42,659 dan melakukan contoh terakhir di sini untuk membuat membersihkan apa yang akhirnya mendapat berlaku. 276 00:12:42,659 --> 00:12:44,450 Ya, nyatakan nama, menulisnya ke atas 277 00:12:44,450 --> 00:12:47,220 jika anda tidak keberatan, hanya supaya kita mempunyai ruang untuk satu baris kedua. 278 00:12:47,220 --> 00:12:52,890 Oleh kerana perkara terakhir yang saya akan kini menyediakan anda dengan tidak satu, 279 00:12:52,890 --> 00:12:57,220 tetapi dua keping kertas. 280 00:12:57,220 --> 00:12:58,074 >> Baiklah. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O koma dan kemudian garis kosong. 282 00:13:01,920 --> 00:13:04,780 Jadi apa yang saya kira-kira untuk menyerahkan Alana kini adalah sesuatu yang sedikit berbeza. 283 00:13:04,780 --> 00:13:08,600 Bukan sahaja dia mendapat ini, di mana mengisi kosong mewakili 284 00:13:08,600 --> 00:13:12,050 yang percent-- bagaimana pemegang tempat kita telah menggunakan? 285 00:13:12,050 --> 00:13:13,890 Yeah, jadi peratus s. 286 00:13:13,890 --> 00:13:16,530 Sementara itu saya akan lulus beliau dalam hujah yang kedua, yang 287 00:13:16,530 --> 00:13:19,290 adalah tepat apa Javier diambil dari Jonathan. 288 00:13:19,290 --> 00:13:20,534 >> Jadi biarlah saya memberikan anda kedua-dua. 289 00:13:20,534 --> 00:13:22,575 Jika anda ingin, pergi ke depan dan cetak yang berkuat kuasa. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Apa yang akhirnya berlaku sekarang ialah Alana lagi 292 00:13:28,130 --> 00:13:29,410 memainkan peranan printf. 293 00:13:29,410 --> 00:13:32,160 Javier bermain peranan GetString. 294 00:13:32,160 --> 00:13:34,700 Jadi yang akan menjadi cenderahati anda. 295 00:13:34,700 --> 00:13:39,910 Dan akhirnya apa yang berlaku, walaupun ini yep hello-- pergi ke depan dan koma. 296 00:13:39,910 --> 00:13:41,410 Alana: Adakah saya menerima ini atau tidak? 297 00:13:41,410 --> 00:13:43,451 DAVID MALAN: Ya, anda menerima kedua-duanya sekaligus. 298 00:13:43,451 --> 00:13:45,740 Jadi idea adalah bahawa anda kini boleh flip halaman 299 00:13:45,740 --> 00:13:50,000 untuk mengendalikan kedua daripada kedua-dua input. 300 00:13:50,000 --> 00:13:53,280 Jadi ini adalah hanya untuk tukul rumah menunjukkan bahawa manakala Alana dilaksanakan 301 00:13:53,280 --> 00:13:55,830 Garis hijau ini di sini, dan kemudian Javier melakukan ini satu untuk kita 302 00:13:55,830 --> 00:13:57,820 dan kembali kepada saya sesuatu kami akan memanggil s, tetapi ia adalah benar-benar 303 00:13:57,820 --> 00:13:59,520 hanya itu sehelai kertas sendiri. 304 00:13:59,520 --> 00:14:02,320 Dan kini Alana telah dilakukan selaras ketiga ini. 305 00:14:02,320 --> 00:14:06,010 >> Dan walaupun semua ini kelihatan jadi sangat samar mungkin 306 00:14:06,010 --> 00:14:08,870 pada pandangan pertama, ia benar-benar adalah semudah itu. 307 00:14:08,870 --> 00:14:11,390 Pemergian input di sekeliling, mendapat output, sama ada 308 00:14:11,390 --> 00:14:14,560 secara fizikal diserahkan kembali sesuatu, atau mengalami kesan sampingan seperti ini. 309 00:14:14,560 --> 00:14:17,170 Sesuatu visual ditulis pada skrin. 310 00:14:17,170 --> 00:14:19,990 Jadi mari kita pergi ke depan dan terima kasih Alana dan Javier, 311 00:14:19,990 --> 00:14:25,012 yang turun di sini, untuk menyertai kami di sini. 312 00:14:25,012 --> 00:14:25,934 >> [Tepuk tangan] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Jadi sekarang mari kita mengambil mudah betapa terus-terang semua yang mungkin. 315 00:14:33,480 --> 00:14:36,775 Dan mari kita meneruskan untuk benar-benar melakukan sesuatu dalam kod sebenar. 316 00:14:36,775 --> 00:14:40,620 Jadi di skrin di sini adalah tangkapan skrin daripada perkakas CS50 kononnya. 317 00:14:40,620 --> 00:14:43,980 Dan jika anda terpaksa di, sebagai 02:00 pada petang Rabu, 318 00:14:43,980 --> 00:14:46,602 menjelaskan kepada beberapa rakan apa perkakas CS50 adalah, 319 00:14:46,602 --> 00:14:48,185 bagaimana anda menentukan dalam ayat? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Mana-mana satu hukuman? 322 00:14:53,240 --> 00:14:54,876 Yeah? 323 00:14:54,876 --> 00:14:57,334 PELAJAR: Ia seperti program yang membuat komputer semua orang 324 00:14:57,334 --> 00:14:58,460 berjalan dengan sistem yang sama. 325 00:14:58,460 --> 00:14:59,210 DAVID MALAN: Baik! 326 00:14:59,210 --> 00:15:02,810 Ia adalah satu program yang membolehkan semua orang komputer berjalan dengan sistem yang sama. 327 00:15:02,810 --> 00:15:04,920 Ia semacam anda sendiri salinan operasi yang 328 00:15:04,920 --> 00:15:07,540 sistem yang berlaku kepada dipanggil Ubuntu Linux. 329 00:15:07,540 --> 00:15:11,070 Dan ia berjalan dengan berkesan di dalam tetingkap pada Mac anda sendiri atau PC, 330 00:15:11,070 --> 00:15:15,080 supaya dengan cara ini keluar dari pintu pagar pada minggu 1, di sini semua orang dalam kelas 331 00:15:15,080 --> 00:15:17,590 mempunyai akses kepada peralatan yang sama, konfigurasi yang sama, 332 00:15:17,590 --> 00:15:21,250 dan tidak ada keluk pembelajaran khusus untuk Mac atau PC khususnya. 333 00:15:21,250 --> 00:15:25,620 >> Sekarang kita dibuka, bahagian dalam CS50 perkakas pada hari Isnin, program ini di sini. 334 00:15:25,620 --> 00:15:27,040 Ia berlaku dipanggil gedit. 335 00:15:27,040 --> 00:15:29,050 Tetapi itu benar-benar hanya editor grafik. 336 00:15:29,050 --> 00:15:33,170 Ia sesuatu seperti Notepad atau Teks Edit pada Windows atau Mac OS masing-masing. 337 00:15:33,170 --> 00:15:36,720 Dan saya mencadangkan bahawa terdapat benar-benar tiga bahagian penting untuk skrin ini. 338 00:15:36,720 --> 00:15:39,560 Bahagian atas adalah di mana anda akan menulis kod anda. 339 00:15:39,560 --> 00:15:44,080 Dan itulah di mana kita menghabiskan banyak kami tiga contoh dalam kuliah semalam. 340 00:15:44,080 --> 00:15:47,650 Bahagian bawah kita dipanggil apa, tetingkap hitam ini, ya? 341 00:15:47,650 --> 00:15:48,640 >> PELAJAR: Pengkompil? 342 00:15:48,640 --> 00:15:51,500 >> DAVID MALAN: Pengkompil kami diakses melalui tingkap itu. 343 00:15:51,500 --> 00:15:53,040 Tetapi yang lebih umum. 344 00:15:53,040 --> 00:15:54,540 Ya, ia hanya tetingkap terminal. 345 00:15:54,540 --> 00:15:57,780 Ini adalah istilah tua yang hanya menerangkan dasarnya yang berkelip 346 00:15:57,780 --> 00:16:01,910 segera, yang tahun lalu digunakan untuk berada di salah satu monitor CRT gaya besar. 347 00:16:01,910 --> 00:16:04,300 Tetapi pada masa kini ia semacam maya dalam perisian. 348 00:16:04,300 --> 00:16:06,710 Dan tingkap terminal mari kita menaip arahan. 349 00:16:06,710 --> 00:16:11,750 Ia semacam versi dipermudahkan antara muka pengguna atau UI. 350 00:16:11,750 --> 00:16:14,060 Ia bukan grafik antara muka pengguna atau GUI, 351 00:16:14,060 --> 00:16:17,250 ia adalah satu antara muka berasaskan teks atau antara muka baris arahan. 352 00:16:17,250 --> 00:16:20,770 >> Dan sesungguhnya itu di mana akhirnya Saya dapat menulis beberapa kod. 353 00:16:20,770 --> 00:16:24,200 Apabila saya telah menulis beberapa kod walaupun, ingat bahawa saya menggunakan arahan ini. 354 00:16:24,200 --> 00:16:26,210 Dan kerana nama jenis mencadangkan, ini 355 00:16:26,210 --> 00:16:29,860 membenarkan saya untuk membuat program dipanggil Hello. 356 00:16:29,860 --> 00:16:33,400 Tetapi apa yang ia benar-benar buat? 357 00:16:33,400 --> 00:16:36,180 Baik make mengambil saya input, kod sumber saya, 358 00:16:36,180 --> 00:16:39,380 dan menukarkannya kepada apa yang akhirnya? 359 00:16:39,380 --> 00:16:40,060 >> Kod objek. 360 00:16:40,060 --> 00:16:42,790 Dan kod objek hanya mewah yang cara untuk mengatakan sifar dan orang-orang. 361 00:16:42,790 --> 00:16:46,420 Dan kemudian sekali saya mahu untuk menjalankan kod objek, 362 00:16:46,420 --> 00:16:50,940 sekali saya mahu lulus sebagai input yang sifar dan orang-orang ke dalam komputer saya 363 00:16:50,940 --> 00:16:54,430 otak, CPU yang dipanggil atau unit pemprosesan pusat, 364 00:16:54,430 --> 00:16:55,730 Saya terpaksa menjalankan program. 365 00:16:55,730 --> 00:16:59,042 Tetapi ia tidak cukup mudah pada hari Isnin sebagai hanya klik dua kali ganda beberapa ikon. 366 00:16:59,042 --> 00:17:01,375 Apa bukannya adakah saya perlu lakukan untuk menjalankan program yang? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Apakah yang perintah kedua? 369 00:17:07,890 --> 00:17:09,619 Saya mendengar garis condong sedikit? 370 00:17:09,619 --> 00:17:10,544 Ya, ya? 371 00:17:10,544 --> 00:17:12,474 >> PELAJAR: Dot mengurangkan dan nama program. 372 00:17:12,474 --> 00:17:13,349 DAVID MALAN: Tepat sekali. 373 00:17:13,349 --> 00:17:15,030 Dot mengurangkan dan nama program. 374 00:17:15,030 --> 00:17:16,210 Sekarang apa yang ini? 375 00:17:16,210 --> 00:17:19,470 Nah dot hanya cara yang sukar difahami mengatakan dalam direktori semasa. 376 00:17:19,470 --> 00:17:23,440 Apa folder anda berada di dalam adalah dirujuk sebagai, diwakili sebagai titik. 377 00:17:23,440 --> 00:17:26,680 Slash adalah hanya apa yang anda lihat dalam Mac OS dan Windows selama bertahun-tahun, 378 00:17:26,680 --> 00:17:30,329 ia adalah pemisah antara direktori atau folder dan seluruh beberapa nama. 379 00:17:30,329 --> 00:17:32,620 Dalam Windows ia berlaku pergi ke belakang, dalam Linux dan Mac 380 00:17:32,620 --> 00:17:34,210 OS ia berlaku untuk berjalan lurus. 381 00:17:34,210 --> 00:17:37,560 Tetapi ia hanya pemisah, jadi ia hanya terperinci sintaksis tidak menarik. 382 00:17:37,560 --> 00:17:40,440 >> Bahagian berair sememangnya nama program ini, Hello. 383 00:17:40,440 --> 00:17:42,650 Dan itulah yang membuat dicipta untuk kita. 384 00:17:42,650 --> 00:17:44,910 Ia outputted fail yang bagi kami. 385 00:17:44,910 --> 00:17:46,700 Tapi bagaimana kita sampai ke tahap itu? 386 00:17:46,700 --> 00:17:48,870 Sekarang mari kita meminta soalan, apa yang benar-benar 387 00:17:48,870 --> 00:17:52,470 berlaku di sini, sekurang-kurangnya dengan mengambil kira beberapa sintaks ini? 388 00:17:52,470 --> 00:17:57,000 >> Jadi dalam ayat satu atau lebih, bagaimana kita menerangkan 389 00:17:57,000 --> 00:17:59,020 baris ini pertama itu diserlahkan dalam hijau? 390 00:17:59,020 --> 00:18:02,998 Apa yang baris pertama melakukan, berkenaan dengan program saya? 391 00:18:02,998 --> 00:18:03,974 Yeah? 392 00:18:03,974 --> 00:18:05,067 >> PELAJAR: [didengar]. 393 00:18:05,067 --> 00:18:06,150 DAVID MALAN: Katakanlah lagi? 394 00:18:06,150 --> 00:18:08,734 PELAJAR: Termasuk dan memuat turun fungsi yang lalu [didengar]. 395 00:18:08,734 --> 00:18:09,483 DAVID MALAN: Baik. 396 00:18:09,483 --> 00:18:11,900 Termasuk, saya tidak akan berkata memuat turun, tetapi katakanlah 397 00:18:11,900 --> 00:18:15,500 termasuk fungsi bahawa orang-orang telah menulis pada masa lalu. 398 00:18:15,500 --> 00:18:18,260 Dan fungsi-fungsi itu dilaksanakan di suatu tempat di komputer saya. 399 00:18:18,260 --> 00:18:20,470 Seseorang menulis fail tahun yang lalu, dan fail 400 00:18:20,470 --> 00:18:23,490 adalah suatu tempat bahagian dalam CS50 perkakas, atau pada cakera keras saya 401 00:18:23,490 --> 00:18:24,480 amnya. 402 00:18:24,480 --> 00:18:27,810 Dan garis ini pada dasarnya berkata, pergi mencari fail, saya standard / O dot 403 00:18:27,810 --> 00:18:31,740 h, dan salinan dan tampal kandungannya di sini di bahagian atas fail saya 404 00:18:31,740 --> 00:18:33,860 supaya saya tidak perlu melakukannya secara manual sendiri. 405 00:18:33,860 --> 00:18:40,970 >> Dan di antara kepingan juiciest bahagian dalam fail kita mendakwa adalah apa fungsi? 406 00:18:40,970 --> 00:18:45,740 Apa fungsi yang kita katakan telah diisytiharkan atau dinyatakan dalam standard saya / O dot h 407 00:18:45,740 --> 00:18:47,120 kemungkinan besar? 408 00:18:47,120 --> 00:18:47,900 Printf, bukan? 409 00:18:47,900 --> 00:18:50,797 Kami tidak menulis printf pada Monday, ia hanya wujud. 410 00:18:50,797 --> 00:18:52,880 Sama seperti Alana hanya datang di atas pentas dan dia hanya 411 00:18:52,880 --> 00:18:55,540 wujud dan tahu bagaimana untuk menarik sesuatu pada skrin, 412 00:18:55,540 --> 00:18:58,660 jadi tidak printf wujud selama bertahun-tahun. 413 00:18:58,660 --> 00:19:00,240 Dan hal ini ialah bagaimana kita mengaksesnya. 414 00:19:00,240 --> 00:19:03,280 Sekarang jika kita bergerak di sini, utama ialah kita serupa 415 00:19:03,280 --> 00:19:06,620 dikatakan sekeping teka-teki dipanggil apabila bendera hijau diklik 416 00:19:06,620 --> 00:19:07,620 dalam dunia Scratch. 417 00:19:07,620 --> 00:19:10,130 Ia semacam adil dari nama lalai bahawa manusia 418 00:19:10,130 --> 00:19:13,340 memutuskan akan mewakili lalai pintu masuk ke program. 419 00:19:13,340 --> 00:19:16,540 Yang sebahagian kod pengaturcaraan yang mendapat dilaksanakan pertama. 420 00:19:16,540 --> 00:19:19,700 >> Sementara ini pendakap kerinting adalah jenis seperti bentuk yang melengkung 421 00:19:19,700 --> 00:19:21,410 daripada banyak potongan-potongan daging calar kuning. 422 00:19:21,410 --> 00:19:24,860 Mereka jenis mengurung keseluruhan sekumpulan arahan bersama-sama. 423 00:19:24,860 --> 00:19:28,350 Jadi ia hanya jenis mengikat bersama-sama beberapa fungsi yang berkaitan. 424 00:19:28,350 --> 00:19:33,750 printf sudah tentu adalah fungsi yang mencetak skrin, seperti yang kita hanya melakukan. 425 00:19:33,750 --> 00:19:35,190 >> Bagaimana pula kurungan ini? 426 00:19:35,190 --> 00:19:38,770 Bagaimana anda define-- walaupun anda telah tidak pernah diprogramkan sebelum ini, tetapi hanya berdasarkan 427 00:19:38,770 --> 00:19:41,320 sekarang yang semakin meningkat mudah-mudahan gerak hati, apa yang 428 00:19:41,320 --> 00:19:43,290 adalah seperti kurungan lakukan untuk kita di sini? 429 00:19:43,290 --> 00:19:45,450 Atau apa yang mereka sekitar? 430 00:19:45,450 --> 00:19:46,360 Yeah? 431 00:19:46,360 --> 00:19:49,360 >> PELAJAR: Mereka mengatakan apa anda akan mencetak dengan printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID MALAN: Ya, mereka mengatakan apa anda akan mencetak dengan printf. 433 00:19:52,401 --> 00:19:56,260 Atau lebih umum, mereka adalah sekitar input kepada majlis itu. 434 00:19:56,260 --> 00:19:58,530 Jadi, anda hampir boleh berfikir dari orang-orang kurungan 435 00:19:58,530 --> 00:20:01,620 sebagai seperti logam klip pada papan klip ini. 436 00:20:01,620 --> 00:20:05,940 Ia adalah apa yang memegang, ia adalah apa yang akan digunakan untuk menyediakan hujah-hujah 437 00:20:05,940 --> 00:20:08,500 ke dalam majlis itu, yang pada kes ini dipanggil printf. 438 00:20:08,500 --> 00:20:12,390 >> Jadi secara umum hampir kali kita memanggil fungsi, 439 00:20:12,390 --> 00:20:14,280 kita akan melihat sepasang kurungan. 440 00:20:14,280 --> 00:20:17,000 Mungkin dengan sesuatu yang di dalamnya, seperti sekarang, mungkin tiada apa di dalamnya. 441 00:20:17,000 --> 00:20:19,770 Tetapi itu di mana anda akan meletakkan input atau yang dikenali sebagai hujah 442 00:20:19,770 --> 00:20:20,680 ke fungsi. 443 00:20:20,680 --> 00:20:22,470 >> Berikut adalah satu hujah tersebut. 444 00:20:22,470 --> 00:20:24,467 Saya menekankan semua antara petikan-petikan, 445 00:20:24,467 --> 00:20:26,300 kerana ternyata dalam bahasa ini dipanggil 446 00:20:26,300 --> 00:20:29,950 C, apabila anda mahu untuk mewakili string-- iaitu perkataan atau frasa yang 447 00:20:29,950 --> 00:20:33,470 atau paragraph-- yang anda perlu mengelilinginya dengan sebut harga berganda. 448 00:20:33,470 --> 00:20:35,420 Sebut harga tidak tunggal, sebut harga berganda. 449 00:20:35,420 --> 00:20:37,460 Dan itulah apa yang saya lakukan di sini. 450 00:20:37,460 --> 00:20:39,900 >> Sementara itu ada funky simbol ke arah akhir di sana. 451 00:20:39,900 --> 00:20:41,600 Backslash n. 452 00:20:41,600 --> 00:20:43,460 Apa yang kita katakan yang diwakili? 453 00:20:43,460 --> 00:20:44,093 Yeah? 454 00:20:44,093 --> 00:20:44,980 >> PELAJAR: Satu barisan baru. 455 00:20:44,980 --> 00:20:45,896 >> DAVID MALAN: Talian Baru. 456 00:20:45,896 --> 00:20:47,910 Betul, anda tidak umumnya tekan Enter apabila 457 00:20:47,910 --> 00:20:50,430 anda mahu rancangan itu meludah keluar barisan baru. 458 00:20:50,430 --> 00:20:54,210 Sebaliknya anda beritahu secara jelas dengan sekeping diakui batin ini 459 00:20:54,210 --> 00:20:58,770 sintaksis, backslash n, yang anda mahu barisan baru untuk pergi ke sana. 460 00:20:58,770 --> 00:20:59,810 Akhirnya koma bernoktah. 461 00:20:59,810 --> 00:21:01,560 Kami tidak benar-benar bercakap terlalu banyak tentang perkara ini, 462 00:21:01,560 --> 00:21:04,893 dan setakat ini akan menjadi penyebab kesengsaraan beberapa kewujudan anda untuk masalah pertama 463 00:21:04,893 --> 00:21:07,990 ditetapkan, apabila anda hanya gagal untuk menyedari anda terlupa sesuatu yang bodoh 464 00:21:07,990 --> 00:21:08,614 sebagai koma bernoktah. 465 00:21:08,614 --> 00:21:11,600 Dan umumnya meletakkannya akan menyelesaikan masalah itu. 466 00:21:11,600 --> 00:21:13,511 Tetapi apa yang ia lakukan bagi kami, kau kata? 467 00:21:13,511 --> 00:21:15,670 >> PELAJAR: [didengar]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID MALAN: Maaf? 469 00:21:17,484 --> 00:21:18,532 >> PELAJAR: [didengar]. 470 00:21:18,532 --> 00:21:19,990 DAVID MALAN: Kemasan kenyataan. 471 00:21:19,990 --> 00:21:22,770 Ia jenis seperti tempoh yang di akhir satu ayat Bahasa Inggeris, 472 00:21:22,770 --> 00:21:25,790 sedangkan dalam bahasa ini C ia berakhir satu kenyataan. 473 00:21:25,790 --> 00:21:29,250 Arahan pengaturcaraan kod yang anda hanya mahu untuk mengatakan, 474 00:21:29,250 --> 00:21:30,500 Saya lakukan dengan ini. 475 00:21:30,500 --> 00:21:32,240 Sekarang perhatikan itulah satu-satunya di sini. 476 00:21:32,240 --> 00:21:34,614 Oleh itu, anda tidak mahu untuk mendapatkan dalam tabiat meletakkan koma bertitik 477 00:21:34,614 --> 00:21:36,190 selepas setiap kurungan tertutup. 478 00:21:36,190 --> 00:21:38,610 Sebagai contoh ada tiada sebelah tidak sah, dan kita akan 479 00:21:38,610 --> 00:21:40,430 kembali pada masa akan datang dengan apa cara tidak sah. 480 00:21:40,430 --> 00:21:44,080 Tetapi dalam kes ini printf anda adalah fungsi, atau kenyataan yang digunakan, 481 00:21:44,080 --> 00:21:47,420 dan dengan itu kita ingin mempunyai yang perhentian pada akhir sangat itu. 482 00:21:47,420 --> 00:21:50,980 >> Dan saya sengaja memilih pada C. Dan terus terang banyak bahasa seperti C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, dan apa-apa bilangan bahasa lain mempunyai banyak ini 484 00:21:55,000 --> 00:21:56,730 jenis maklumat sintaksis. 485 00:21:56,730 --> 00:22:00,120 Yang pasti jika anda baru kepada pengaturcaraan benar boleh perjalanan kamu. 486 00:22:00,120 --> 00:22:02,307 Dan anda akan, menandakan saya kata-kata, sebahagian dari kamu akan 487 00:22:02,307 --> 00:22:04,140 mempunyai pengalaman ini dalam waktu pejabat atau lewat 488 00:22:04,140 --> 00:22:07,554 malam bekerja di beberapa p-set, di mana program sialan anda hanya tidak menyusun, 489 00:22:07,554 --> 00:22:09,470 ia tidak berjalan, anda perlu tidak tahu apa yang salah, 490 00:22:09,470 --> 00:22:11,513 ia seolah-olah benar-benar secara logik yang betul untuk anda. 491 00:22:11,513 --> 00:22:13,596 Dan ia adalah kerana anda terlupa sesuatu seperti memukul 492 00:22:13,596 --> 00:22:15,250 dengan koma bertitik pada akhir beberapa baris. 493 00:22:15,250 --> 00:22:17,590 >> Tetapi ini adalah jenis perkara anda akan segera belajar untuk melihat. 494 00:22:17,590 --> 00:22:20,048 Dan sesungguhnya ini adalah perkara-perkara bahawa CA dan TF mempunyai 495 00:22:20,048 --> 00:22:23,210 telah semacam dilatih untuk melihat lebih cepat daripada anda. 496 00:22:23,210 --> 00:22:26,610 Dan jadi ini adalah hanya untuk mengatakan, kerana anda menyelam ke dalam masalah set 1 terutamanya, 497 00:22:26,610 --> 00:22:28,217 tidak berasa kecewa dengan barangan ini. 498 00:22:28,217 --> 00:22:30,050 Sebaik sahaja anda jenis acclimate kepada dunia, anda 499 00:22:30,050 --> 00:22:35,130 mula melihat perkara-perkara yang anda mungkin tidak lihat pada pandangan pertama minggu pertama ini. 500 00:22:35,130 --> 00:22:37,440 >> Jadi kod sumber adalah sesuatu seperti itu. 501 00:22:37,440 --> 00:22:40,370 Kami mahu lulus ia ke dalam pengumpul kononnya. 502 00:22:40,370 --> 00:22:42,850 Dan pengkompil bahawa kami berkata menyediakan output 503 00:22:42,850 --> 00:22:45,660 dikenali sebagai kod objek, yang yang dipanggil sifar dan orang-orang. 504 00:22:45,660 --> 00:22:47,747 Tetapi dari sana, apa yang memberikan kami? 505 00:22:47,747 --> 00:22:49,080 Baik ia memberikan kita pola-pola ini. 506 00:22:49,080 --> 00:22:52,020 Dan sekali lagi komputer anda, Intel anda di dalam, 507 00:22:52,020 --> 00:22:54,350 memahami pola-pola ini sifar dan orang-orang. 508 00:22:54,350 --> 00:22:57,300 Dan kadang-kadang corak merupakan nombor perpuluhan sebenar 509 00:22:57,300 --> 00:22:59,770 seperti yang kita lihat minggu lepas, kadang-kadang ia mewakili surat 510 00:22:59,770 --> 00:23:02,730 seperti yang kita lihat minggu lepas, kadang-kadang ia merupakan arahan, 511 00:23:02,730 --> 00:23:05,460 seperti mencetak sesuatu untuk skrin. 512 00:23:05,460 --> 00:23:08,782 >> Jadi printf untuk instance-- tetapi sebaliknya, biarlah saya putar balik. 513 00:23:08,782 --> 00:23:11,240 Kami telah mengambil untuk diberikan bahawa orang-orang sifar dan orang-orang yang 514 00:23:11,240 --> 00:23:14,200 yang dihasilkan oleh arahan ini make. 515 00:23:14,200 --> 00:23:16,050 Tetapi make tidak pengkompil. 516 00:23:16,050 --> 00:23:19,370 Buat bukan perkara yang di tengah-tengah yang yang menghasilkan sifar dan orang-orang. 517 00:23:19,370 --> 00:23:23,780 Sebaliknya hanya membuat yang sangat mudah dinamakan program yang tujuan dalam hidup 518 00:23:23,780 --> 00:23:27,267 pada dasarnya untuk memikirkan bagaimana untuk menyusun program anda. 519 00:23:27,267 --> 00:23:29,350 Dan kita menggunakannya dalam minggu pertama kerana ia hanya 520 00:23:29,350 --> 00:23:30,910 menyelamatkan kita banyak masalah. 521 00:23:30,910 --> 00:23:34,080 >> Tetapi apa yang membuat adalah benar-benar lakukan apabila anda menyusun hello, 522 00:23:34,080 --> 00:23:36,690 , seperti yang kita kata masa lalu, ia mencari pada cakera keras anda 523 00:23:36,690 --> 00:23:40,620 atau dalam folder semasa, untuk Fail dipanggil apa, nampaknya? 524 00:23:40,620 --> 00:23:41,815 Hello.c, bukan? 525 00:23:41,815 --> 00:23:43,190 Itulah jenis adil konvensyen. 526 00:23:43,190 --> 00:23:45,620 Ia sewenang-wenangnya, tetapi itulah cara perkara-perkara yang. 527 00:23:45,620 --> 00:23:48,620 Membuat, jika anda hanya nyatakan nama daripada program yang tidak lagi wujud, 528 00:23:48,620 --> 00:23:52,200 ia akan mencari kod sumber dalam fail, secara lalai bermakna hello.c. 529 00:23:52,200 --> 00:23:53,530 Dan jika ia mendapati ia, hebat. 530 00:23:53,530 --> 00:23:56,650 Ia akan menukar sumber yang kod ke dalam kod objek untuk anda. 531 00:23:56,650 --> 00:23:59,670 >> Tetapi setiap kali saya tekan Enter selepas berjalan membuat hello, 532 00:23:59,670 --> 00:24:03,560 adakah anda ingat melihat masa lalu yang agak panjang dan urutan samar 533 00:24:03,560 --> 00:24:06,430 surat putih dan lain-lain watak-watak pada skrin? 534 00:24:06,430 --> 00:24:11,220 Baik itu adalah perintah sebenar, pengkompil sebenar, yang berjalan. 535 00:24:11,220 --> 00:24:15,500 Jadi pengkompil sebenar kita akan menggunakan kebanyakan semester adalah sesuatu yang dipanggil dilafaz. 536 00:24:15,500 --> 00:24:19,280 Sebahagian daripada anda mungkin telah menggunakan Visual Studio sebelum, atau GCC, 537 00:24:19,280 --> 00:24:21,340 atau apa-apa bilangan pengumpul lain. 538 00:24:21,340 --> 00:24:22,620 Kami akan menggunakan dilafaz. 539 00:24:22,620 --> 00:24:26,950 >> Dan dilafaz membolehkan kita untuk benar-benar menukar bahawa kod sumber kepada kod objek. 540 00:24:26,950 --> 00:24:29,430 Apakah ini sebenarnya bermakna dalam amalan? 541 00:24:29,430 --> 00:24:33,390 Nah biar saya pergi ke salah satu daripada folder saya dari masa lalu. 542 00:24:33,390 --> 00:24:35,760 Bahagian dalam perkakas CS50 ini. 543 00:24:35,760 --> 00:24:42,080 Dan biarlah saya pergi ke hadapan dan mencipta ini Fail sama, termasuk standard I / O dot h. 544 00:24:42,080 --> 00:24:42,875 Tidak sah utama Int. 545 00:24:42,875 --> 00:24:46,000 Dan kita akan kembali pada masa akan datang sebagai apa int cara dan apa cara yang tidak sah. 546 00:24:46,000 --> 00:24:49,130 Tetapi untuk sekarang mari kita buat hello garis sendeng terbalik dunia n, 547 00:24:49,130 --> 00:24:50,500 hanya suka kita lakukan di atas kapal. 548 00:24:50,500 --> 00:24:53,930 >> Biar saya simpan fail ini dipanggil hello.c. 549 00:24:53,930 --> 00:24:58,280 Dan kini jika saya ingin menyusun ini Saya could-- biarlah saya zum jangka dalam- 550 00:24:58,280 --> 00:25:00,450 membuat hello masuk. 551 00:25:00,450 --> 00:25:02,645 Dan ini sekali lagi bahawa garis sangat samar. 552 00:25:02,645 --> 00:25:05,120 Tetapi sekarang sekurang-kurangnya satu perkataan mungkin melompat keluar pada anda. 553 00:25:05,120 --> 00:25:07,087 Dilafaz ialah garis yang kita lihat sebelum ini. 554 00:25:07,087 --> 00:25:10,420 Sekarang ada banyak barangan lain terus-terang bahawa kita akan melambai tangan kita pada hari ini. 555 00:25:10,420 --> 00:25:14,020 Tetapi ada beberapa subset, aksara yang beberapa di sini 556 00:25:14,020 --> 00:25:14,907 yang mempunyai kepentingan. 557 00:25:14,907 --> 00:25:16,490 Tetapi saya akan pergi ke depan dan melakukan ini. 558 00:25:16,490 --> 00:25:18,281 Saya akan run pertama hello, hanya untuk membuktikan 559 00:25:18,281 --> 00:25:20,320 ini bekerja kerana ia adalah hari ini. 560 00:25:20,320 --> 00:25:22,330 Tetapi sekarang saya akan memadam program ini. 561 00:25:22,330 --> 00:25:25,870 Dan sama seperti kami ini nama pendek masa lalu, 562 00:25:25,870 --> 00:25:29,787 perintah bagi menghapuskan sesuatu yang rm, keluarkan, masuk. 563 00:25:29,787 --> 00:25:31,870 Anda akan mendapatkan beberapa soalan yang agak samar. 564 00:25:31,870 --> 00:25:35,210 Sukar untuk mempercayai bahawa anda boleh membuat walaupun soalan ini sukar untuk difahami. 565 00:25:35,210 --> 00:25:38,100 Tetapi mengeluarkan hello fail biasa hanya cara yang anda mahu memadam hello. 566 00:25:38,100 --> 00:25:42,650 >> Dan saya boleh pergi ke depan dan menaip y bagi ya, Masukkan, dan kini ia pergi. 567 00:25:42,650 --> 00:25:45,130 Apakah ini bermakna sekarang, jika saya mengosongkan skrin saya, 568 00:25:45,130 --> 00:25:47,301 adalah bahawa bukan melakukan membuat hello-- anda 569 00:25:47,301 --> 00:25:48,800 tahu apa, saya mendapat yang baik pada ini. 570 00:25:48,800 --> 00:25:50,690 Saya akan menjalankan pengkompil diri saya. 571 00:25:50,690 --> 00:25:53,330 Saya tidak memerlukan program untuk memikirkan apa fail saya dipanggil. 572 00:25:53,330 --> 00:25:55,370 Saya menulis hello.c, saya tahu apa yang ia dipanggil, 573 00:25:55,370 --> 00:25:57,640 Saya dengan jelas mampu menaip itu. 574 00:25:57,640 --> 00:26:02,620 Jadi saya akan pergi ke depan dan jangan dilafaz hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Seolah-olah bekerja. 576 00:26:03,264 --> 00:26:05,930 Dan tidak ada pengeluaran tambahan, kerana dilafaz adalah pengkompil. 577 00:26:05,930 --> 00:26:08,590 Ia apa yang menukar kod sumber untuk sifar dan orang-orang. 578 00:26:08,590 --> 00:26:12,870 Jadi jika saya kini melakukan dot mengurangkan hello Enter, hm. 579 00:26:12,870 --> 00:26:14,630 Mesej ralat Baru hari ini. 580 00:26:14,630 --> 00:26:17,610 Jadi bash hanya nama berkelip segera yang kita menggunakan. 581 00:26:17,610 --> 00:26:20,360 Itulah batas kasar, tetapi buat masa itu sahaja iaitu, 582 00:26:20,360 --> 00:26:21,401 ia segera berkelip. 583 00:26:21,401 --> 00:26:22,880 Dan sebab itulah ia menjerit pada kami. 584 00:26:22,880 --> 00:26:25,690 >> Tiada fail atau direktori tersebut adalah sedikit lebih mudah. 585 00:26:25,690 --> 00:26:28,190 Tetapi sesungguhnya aku dibuat bahawa kod objek. 586 00:26:28,190 --> 00:26:30,930 Tetapi tangkapan adalah, bahawa saya menaip arahan 587 00:26:30,930 --> 00:26:34,650 untuk menyenaraikan kandungan ini direktori, iaitu apa? 588 00:26:34,650 --> 00:26:36,210 ls untuk senarai. 589 00:26:36,210 --> 00:26:39,332 Ada sekumpulan barangan di sini, ada yang datang dengan perkakas, 590 00:26:39,332 --> 00:26:42,040 seperti folder Desktop saya, Muat turun folder, folder Dropbox, dan semua 591 00:26:42,040 --> 00:26:42,850 barangan itu. 592 00:26:42,850 --> 00:26:45,410 Tetapi apa yang menarik adalah hello.c, yang 593 00:26:45,410 --> 00:26:47,286 Saya telah mencipta masa lalu dengan gedit. 594 00:26:47,286 --> 00:26:49,160 Dan apa yang paling pelik mencari nama di sini, 595 00:26:49,160 --> 00:26:53,110 mungkin kita tidak melihat masa lalu di semua? 596 00:26:53,110 --> 00:26:54,710 >> a.out, bukan? 597 00:26:54,710 --> 00:26:56,920 Jadi kembali pada hari itu, ia hanya memutuskan bahawa apabila 598 00:26:56,920 --> 00:26:58,760 anda menyusun program buat kali pertama, 599 00:26:58,760 --> 00:27:02,360 dan anda tidak menentukan nama fail yang ada, mari kita memanggilnya. 600 00:27:02,360 --> 00:27:05,800 Dan a.out hanya bermakna ini adalah pengeluaran pengkompil. 601 00:27:05,800 --> 00:27:07,790 Jadi ia adalah nama yang dahsyat untuk program. 602 00:27:07,790 --> 00:27:12,820 Tetapi dengan logik itu, untuk mengurangkan dot direktori semasa, mengurangkan a.out, 603 00:27:12,820 --> 00:27:16,102 bermakna perlu ada sebenarnya saya hello program dunia. 604 00:27:16,102 --> 00:27:17,560 Sekarang sedikit yang memanaskan badan senaman juga. 605 00:27:17,560 --> 00:27:20,420 Jika saya ingin menukar nama ini fail, ternyata bahawa anda 606 00:27:20,420 --> 00:27:23,000 memindahkan fail dari satu nama yang lain. 607 00:27:23,000 --> 00:27:28,750 A.out Jadi mv, dan kemudian saya boleh memanggil ia hello Enter. 608 00:27:28,750 --> 00:27:30,940 Jadi ini adalah arahan Linux. 609 00:27:30,940 --> 00:27:34,370 DOS mempunyai ini tahun yang lalu, Windows mempunyai tetingkap terminal 610 00:27:34,370 --> 00:27:36,460 sejenis yang kelihatan seperti ini, Linux dan Mac 611 00:27:36,460 --> 00:27:38,140 komputer mempunyai segera ini berkelip. 612 00:27:38,140 --> 00:27:41,490 Walaupun kebanyakan kita mungkin jarang, jika pernah, menggunakannya. 613 00:27:41,490 --> 00:27:44,590 >> Tetapi apa yang saya lakukan adalah menjalankan program, yang namanya adalah mv, 614 00:27:44,590 --> 00:27:47,900 dan saya telah disediakan dengan dua hujah, jadi untuk bercakap. 615 00:27:47,900 --> 00:27:48,630 Dua input. 616 00:27:48,630 --> 00:27:50,260 a.out adalah nama yang asal. 617 00:27:50,260 --> 00:27:51,630 Hello adalah nama yang baru. 618 00:27:51,630 --> 00:27:55,670 Jadi jika saya kini melakukan slash dot hello, Masukkan, yang wujud. 619 00:27:55,670 --> 00:28:00,770 Dan jika saya lakukan dot slash a.out, apa yang anda mengharapkan saya perlu melihat? 620 00:28:00,770 --> 00:28:02,250 >> Bash, tiada fail atau direktori tersebut. 621 00:28:02,250 --> 00:28:03,350 Kerana saya hanya menamakannya. 622 00:28:03,350 --> 00:28:04,975 Jadi ini mengambil sedikit untuk membiasakan diri. 623 00:28:04,975 --> 00:28:06,977 Tetapi masalah yang ditetapkan 1 spesifikasi akan benar-benar 624 00:28:06,977 --> 00:28:08,810 memegang tangan anda melalui beberapa minutae ini. 625 00:28:08,810 --> 00:28:11,050 Kerana ini adalah lengkap gangguan intelektual 626 00:28:11,050 --> 00:28:12,966 dari lebih menarik idea di tangan, yang 627 00:28:12,966 --> 00:28:15,310 sebenarnya mewujudkan sesuatu daripada kod. 628 00:28:15,310 --> 00:28:18,830 Tetapi mari kita buat satu pengubahsuaian sekarang untuk program ini. 629 00:28:18,830 --> 00:28:23,150 >> Ingat bahawa kali terakhir saya melakukan sesuatu seperti ini, printf menyatakan nama anda. 630 00:28:23,150 --> 00:28:25,790 Dan sesungguhnya kami hanya melakukan ini pada skrin besar di sana. 631 00:28:25,790 --> 00:28:30,640 Dan kemudian saya mendapat rentetan s Tanda kurung GetString terbuka, Tanda kurung rapat. 632 00:28:30,640 --> 00:28:33,430 Dan Tanda kurung hanya trengkas notasi untuk kurungan. 633 00:28:33,430 --> 00:28:36,460 Jadi tidak GetString mengambil apa-apa hujah? 634 00:28:36,460 --> 00:28:38,440 Tiada input tidak, tetapi ia memerlukan kurungan, 635 00:28:38,440 --> 00:28:41,830 kerana itulah yang demarcates panggilan fungsi. 636 00:28:41,830 --> 00:28:46,440 >> Jadi saya akan pergi ke depan dan cuba untuk menjalankan pengkompil pada program ini sekarang. 637 00:28:46,440 --> 00:28:50,774 Dilafaz hello.c, kerana saya tidak berubah namanya sekarang. 638 00:28:50,774 --> 00:28:51,940 Dan saya mendapat sekumpulan kesilapan. 639 00:28:51,940 --> 00:28:53,570 Mari kita zum di sini. 640 00:28:53,570 --> 00:28:55,420 Jika saya tatal ke atas lagi, seperti saya katakan masa lalu, 641 00:28:55,420 --> 00:28:58,420 untuk, kesilapan yang pertama sama yang saya ada masa lepas. 642 00:28:58,420 --> 00:29:04,210 Popular 6 hello.c saya mempunyai rentetan pengecam tidak diisytiharkan, 643 00:29:04,210 --> 00:29:05,590 adakah saya maksudkan standard dalam? 644 00:29:05,590 --> 00:29:06,750 Saya tidak. 645 00:29:06,750 --> 00:29:10,050 Kerana apa kesilapan aku dibuat dalam hal ini program, jika anda ingat dari masa lalu? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Ya, kita memerlukan yang dipanggil roda latihan 648 00:29:15,010 --> 00:29:16,510 bahawa kita hanya akan digunakan untuk beberapa minggu. 649 00:29:16,510 --> 00:29:19,480 Tetapi saya perlu menentukan bahawa juga, di suatu tempat di dalam perkakas, 650 00:29:19,480 --> 00:29:22,720 ialah satu fail yang kita menulis hanya beberapa tahun yang lalu. 651 00:29:22,720 --> 00:29:26,500 Bahagian dalam fungsi-fungsi yang seperti nampaknya GetString. 652 00:29:26,500 --> 00:29:35,160 Jadi sekarang jika saya kembali ke bawah di sini, zum masuk, dan semula menjalankan dilafaz hello.c. 653 00:29:35,160 --> 00:29:36,500 Damn, kesilapan lain. 654 00:29:36,500 --> 00:29:38,590 Tetapi kita tidak pernah melihat satu sebelum ini. 655 00:29:38,590 --> 00:29:41,900 >> Yang ini lebih sedikit esoterik untuk memikirkan. 656 00:29:41,900 --> 00:29:46,910 Tetapi ini adalah sengaja pada skrin, kerana kita mahu memberitahu cerita ini. 657 00:29:46,910 --> 00:29:51,280 Apabila anda menyusun hello.c, sebagaimana gambar dari sebelum dicadangkan, 658 00:29:51,280 --> 00:29:54,650 anda hanya menukar yang kod sumber untuk sifar dan orang-orang. 659 00:29:54,650 --> 00:30:00,340 Sekarang kakitangan CS50 beberapa tahun yang lalu telah menulis CS50.h, dan fail yang sama, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 Dan kita, beberapa tahun yang lalu, disusun fail-fail 662 00:30:04,490 --> 00:30:07,290 ke dalam fail yang berlaku dipanggil CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Atau ia boleh dinamakan semula yang beberapa perkara yang berbeza. 664 00:30:09,180 --> 00:30:11,054 Tetapi itu cara yang mudah berfikir mengenainya. 665 00:30:11,054 --> 00:30:14,960 Oleh itu, kita disusun CS50 ini perpustakaan ke sifar dan orang-orang. 666 00:30:14,960 --> 00:30:20,340 Tetapi tidak ada tempat telah saya sebutkan yang saya mahu menggabungkan sifar saya 667 00:30:20,340 --> 00:30:24,030 dan orang-orang untuk dunia hello saya program dengan sifar dan orang-orang 668 00:30:24,030 --> 00:30:29,760 bahawa kakitangan CS50 dicipta beberapa tahun lalu ke dalam satu program yang lengkap. 669 00:30:29,760 --> 00:30:34,100 Apa yang saya telah dinyatakan oleh Allah hello.c dilafaz adalah menyusun hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Saya tidak diberitahu dilafaz untuk pautan dalam sifar dan orang-orang 671 00:30:38,380 --> 00:30:41,650 bahawa kakitangan CS50 dicipta untuk anda sedikit masa lalu. 672 00:30:41,650 --> 00:30:48,280 Jadi ia satu fix mudah, melontarkan l untuk link, CS50. 673 00:30:48,280 --> 00:30:52,600 Dan kami sekali lagi akan melihat ini tidak lama lagi dan lagi. 674 00:30:52,600 --> 00:30:54,420 Tetapi notis kini tidak ada aduan. 675 00:30:54,420 --> 00:30:59,770 Jadi sekarang sekiranya saya slash dot hello, sekarang ia bekerja. 676 00:30:59,770 --> 00:31:03,840 Walaupun itu sedikit mengelirukan kerana saya hanya dicipta semula apa yang fail? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Jadi biarlah saya putar balik hanya seketika. 679 00:31:07,930 --> 00:31:10,900 Program kita hanya disusun mempunyai tiga baris kod. 680 00:31:10,900 --> 00:31:14,710 Apabila saya berlari hello dunia, hello seketika lalu, saya tidak melihat menyatakan nama anda. 681 00:31:14,710 --> 00:31:17,080 Dan itu kerana saya berlari versi lama program ini. 682 00:31:17,080 --> 00:31:22,700 Tetapi jika saya memang berjalan dot slash a.out Masukkan, nyatakan nama, Rob, hello, 683 00:31:22,700 --> 00:31:23,370 dunia. 684 00:31:23,370 --> 00:31:23,870 Hm. 685 00:31:23,870 --> 00:31:26,110 Itulah jenis pepijat. 686 00:31:26,110 --> 00:31:28,560 Mungkin bermaksud mengatakan Rob, bukan? 687 00:31:28,560 --> 00:31:30,997 Jadi apa yang tetap di sini dalam kod. 688 00:31:30,997 --> 00:31:31,872 PELAJAR: [didengar]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID MALAN: Tepat sekali. 691 00:31:39,290 --> 00:31:43,160 Jadi saya hanya perlu membuat yang tweak akhir supaya saya lulus dalam satu pemegang tempat, 692 00:31:43,160 --> 00:31:45,690 seperti mengisi tempat kosong, seperti yang kami lakukan sebentar tadi. 693 00:31:45,690 --> 00:31:47,870 Tetapi peratus s kini yang mengisi kosong. 694 00:31:47,870 --> 00:31:52,100 Jadi akhir sekali mari kita mendedahkan terkini terperinci supaya tidak ada sihir. 695 00:31:52,100 --> 00:31:54,090 Saya akan pergi ke depan dan menghilangkan hellow. 696 00:31:54,090 --> 00:31:56,070 Saya akan pergi ke depan dan menghilangkan a.out. 697 00:31:56,070 --> 00:31:58,410 Jadi sekarang saya tidak mempunyai program, hanya kod sumber saya. 698 00:31:58,410 --> 00:32:01,100 Dan saya akan menjalankan perintah lebih lama sedikit, dilafaz 699 00:32:01,100 --> 00:32:05,650 melontarkan o hello hello.c dash LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Sekarang ini sudah mula semacam pergi dalam satu telinga dan keluar yang lain mungkin. 701 00:32:08,700 --> 00:32:10,366 Tetapi mengusik selain apa ini lakukan. 702 00:32:10,366 --> 00:32:14,910 Dentang adalah pengkompil, dash LCS50 sengaja pada akhir sangat 703 00:32:14,910 --> 00:32:18,330 melakukan apa yang dalam ayat? 704 00:32:18,330 --> 00:32:19,607 Pautan ke perpustakaan CS50 ini. 705 00:32:19,607 --> 00:32:21,440 Menangkap sifar dan orang-orang yang kakitangan yang dibuat 706 00:32:21,440 --> 00:32:23,310 dan crams mereka ke dalam program saya sendiri. 707 00:32:23,310 --> 00:32:27,040 Jadi soalan yang terakhir pada tangan adalah, apa yang dash o hello mungkin 708 00:32:27,040 --> 00:32:30,530 lakukan, walaupun anda tidak pernah dilihat sintaks ini? 709 00:32:30,530 --> 00:32:34,920 >> Keluarkan program itu tidak dinamakan a.out lalai. 710 00:32:34,920 --> 00:32:37,330 Sebaliknya ia dinamakan hello. 711 00:32:37,330 --> 00:32:39,460 Jadi sekarang tidak ada a.out. 712 00:32:39,460 --> 00:32:42,660 Tiada fail atau direktori tersebut, kerana saya jelas mengatakan 713 00:32:42,660 --> 00:32:46,720 panggilan program ini hello, supaya Saya kini boleh menaip nama seperti yang 714 00:32:46,720 --> 00:32:47,790 dan ia berkelakuan. 715 00:32:47,790 --> 00:32:50,180 >> Kini terus terang, kanak-kanak ialah tidak menarik untuk mempunyai 716 00:32:50,180 --> 00:32:52,170 ingat semua itu minutia sedikit, bukan? 717 00:32:52,170 --> 00:32:54,180 Jadi mari kita pergi ke depan dan menghilangkan hello lagi. 718 00:32:54,180 --> 00:32:57,880 Dan mari kita kini kembali ke dunia di yang mencukupi untuk mengatakan membuat hello. 719 00:32:57,880 --> 00:33:00,410 Tetapi itu sihir yang membuat lakukan untuk anda, 720 00:33:00,410 --> 00:33:02,320 itulah kebosanan yang ia melakukan untuk anda. 721 00:33:02,320 --> 00:33:04,630 Dan program dan masalah mendapatkan lebih kompleks, 722 00:33:04,630 --> 00:33:06,142 membuat benar-benar akan menjadi rakan anda. 723 00:33:06,142 --> 00:33:07,850 Oleh kerana tidak terlalu lama dari sekarang kita akan 724 00:33:07,850 --> 00:33:11,150 mempunyai program yang ditulis bukan dengan satu fail, tetapi beberapa fail, 725 00:33:11,150 --> 00:33:16,310 dan membuat akan mengautomasikan proses menyusun semua itu untuk kita bersama-sama. 726 00:33:16,310 --> 00:33:20,620 >> Jadi sekarang mencetak. 727 00:33:20,620 --> 00:33:24,960 printf adalah di dalam fail ini, standard I / O dot h, yang kita lihat sebelum ini, 728 00:33:24,960 --> 00:33:26,980 tetapi terdapat lebih kepada printf daripada itu. 729 00:33:26,980 --> 00:33:30,482 Ada garis sendeng terbalik n, tetapi ada juga sekumpulan urutan melarikan diri lain. 730 00:33:30,482 --> 00:33:32,940 Dan urutan melarikan diri hanya cara mewah untuk mengatakan sesuatu 731 00:33:32,940 --> 00:33:35,990 yang bermula dengan garis sendeng terbalik yang, tidak tanda palang ke hadapan, garis sendeng terbalik yang, 732 00:33:35,990 --> 00:33:37,920 dan membuat sedikit perkara yang khas. 733 00:33:37,920 --> 00:33:43,770 Dan kita tidak akan menyentuh mengenai kebanyakan, tetapi mengapa ada garis sendeng terbalik petikan berganda, 734 00:33:43,770 --> 00:33:44,830 yang anda fikir? 735 00:33:44,830 --> 00:33:48,010 Kenapa ada urutan ini pelik aksara, garis sendeng terbalik petikan berganda, 736 00:33:48,010 --> 00:33:50,505 mengapa yang mungkin berguna? 737 00:33:50,505 --> 00:33:51,380 PELAJAR: [didengar]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID MALAN: Tepat sekali, bukan? 740 00:33:57,760 --> 00:34:01,830 Fikirkan kembali ke program dunia hello kami yang kita lihat agak beberapa kali sekarang, 741 00:34:01,830 --> 00:34:05,880 setiap kali kita lihat bahawa dunia hello program kami mempunyai sebut harga dua kali ganda dalam 742 00:34:05,880 --> 00:34:08,210 daripadanya ialah hello koma garis sendeng terbalik dunia n. 743 00:34:08,210 --> 00:34:10,070 Tetapi berfikir kepada diri sendiri, bagaimana jika anda benar-benar 744 00:34:10,070 --> 00:34:12,520 mahu mencetak tanda petikan? 745 00:34:12,520 --> 00:34:16,100 Naluri pertama anda mungkin, saya tidak tahu mengapa saya mungkin mahu do-- sini, 746 00:34:16,100 --> 00:34:18,780 kita boleh menjadi pasif sedikit agresif, hello rakan. 747 00:34:18,780 --> 00:34:21,350 Kita mungkin mahu melakukan sesuatu seperti itu. 748 00:34:21,350 --> 00:34:25,230 >> Tetapi mengapa ini kini bermasalah? 749 00:34:25,230 --> 00:34:28,730 Mengabaikan sebut harga kerinting mengetepikan bahawa tama dibuat untuk kita secara automatik. 750 00:34:28,730 --> 00:34:29,730 Mengapa ini bermasalah? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Tepat sekali. 753 00:34:37,270 --> 00:34:39,022 Kerana kita mempunyai seperti 4 tanda petikan. 754 00:34:39,022 --> 00:34:41,230 Juga yang pertama mungkin pergi dengan yang kedua, 755 00:34:41,230 --> 00:34:43,271 dan mungkin yang keempat pergi dengan yang ketiga, 756 00:34:43,271 --> 00:34:46,170 atau, saya maksudkan saya tidak pasti, mahupun komputer akan menjadi. 757 00:34:46,170 --> 00:34:48,352 Komputer lagi, penyusun sekali lagi, agak bodoh. 758 00:34:48,352 --> 00:34:50,060 Mereka hanya akan melakukan apa yang anda memberitahu mereka lakukan. 759 00:34:50,060 --> 00:34:54,270 Dan jika anda tidak jelas mereka mungkin akan membuang ralat. 760 00:34:54,270 --> 00:34:57,700 >> Jika anda tidak jelas tentang bagaimana untuk membuat mentega kacang dan jeli sandwic 761 00:34:57,700 --> 00:34:59,510 perkara-perkara pelik mungkin tiba. 762 00:34:59,510 --> 00:35:00,580 Ia adalah idea yang sama. 763 00:35:00,580 --> 00:35:03,100 Sekarang cukuplah untuk mengatakan ada beberapa urutan melarikan diri lain, 764 00:35:03,100 --> 00:35:04,820 tetapi kami akan datang kepada mereka tidak lama lagi. 765 00:35:04,820 --> 00:35:07,410 Pada dasarnya melarikan diri ini urutan mewakili sesuatu 766 00:35:07,410 --> 00:35:10,480 bahawa anda mungkin tidak dapat terlalu mudah di papan kekunci, 767 00:35:10,480 --> 00:35:12,010 tanpa mengelirukan komputer. 768 00:35:12,010 --> 00:35:15,733 >> Sekarang sementara itu kita perlu ruang letak dalam printf. 769 00:35:15,733 --> 00:35:19,630 Peratus d, yang juga boleh ditulis dalam hampir semua kes sebagai peratus i, 770 00:35:19,630 --> 00:35:21,610 adalah pemegang tempat untuk jenis data apa? 771 00:35:21,610 --> 00:35:23,920 Apakah jenis nilai? 772 00:35:23,920 --> 00:35:24,920 Beberapa perpuluhan. 773 00:35:24,920 --> 00:35:27,234 Jadi sebenarnya kita akan mula menggunakan peratus i kerana ia 774 00:35:27,234 --> 00:35:28,650 sedikit lebih mudah, seperti integer. 775 00:35:28,650 --> 00:35:29,550 Peratus i. 776 00:35:29,550 --> 00:35:31,320 Integer yang berlaku kepada perpuluhan. 777 00:35:31,320 --> 00:35:35,690 >> Peratus s kita sudah berkata adalah pemegang tempat bagi rentetan. 778 00:35:35,690 --> 00:35:38,630 Yang hanya satu perkataan, frasa, perenggan, esei, apa sahaja. 779 00:35:38,630 --> 00:35:40,830 Ia adalah satu urutan watak-watak beberapa panjang. 780 00:35:40,830 --> 00:35:42,820 Dan kita akan melihat tidak lama beberapa orang lain ini. 781 00:35:42,820 --> 00:35:45,950 Tetapi peratus c adalah untuk watak tunggal. 782 00:35:45,950 --> 00:35:48,500 Peratus f adalah untuk terapung beberapa ketika, 783 00:35:48,500 --> 00:35:50,860 seperti nombor nyata yang mempunyai titik perpuluhan di dalamnya, yang 784 00:35:50,860 --> 00:35:52,550 sudah tentu tidak integer. 785 00:35:52,550 --> 00:35:54,670 Dan ada keseluruhannya sekumpulan orang lain juga. 786 00:35:54,670 --> 00:35:56,990 >> Sementara itu di C, dan dalam banyak bahasa, 787 00:35:56,990 --> 00:35:58,650 kita mempunyai jenis data yang berbeza. 788 00:35:58,650 --> 00:36:00,650 Jenis kaca mangkuk jika anda akan. 789 00:36:00,650 --> 00:36:03,830 Mangkuk Saya menggunakan masa lalu adalah untuk bola ping pong, 790 00:36:03,830 --> 00:36:06,990 tetapi kita juga boleh menyimpan berlainan nilai seperti aksara dan rentetan 791 00:36:06,990 --> 00:36:10,820 dan bilangan bulat di dalam bekas, seperti pembolehubah, dan C mempunyai ini. 792 00:36:10,820 --> 00:36:14,020 Char adalah jenis data, jenis pembolehubah, 793 00:36:14,020 --> 00:36:15,700 di mana anda boleh menyimpan watak. 794 00:36:15,700 --> 00:36:19,560 Float adalah sejenis pembolehubah dalam mana anda boleh menyimpan nombor nyata. 795 00:36:19,560 --> 00:36:21,220 >> Int adalah kursus untuk int satu. 796 00:36:21,220 --> 00:36:23,760 Dan bukan mustahil dinamakan yang panjang panjang 797 00:36:23,760 --> 00:36:26,830 adalah di mana anda boleh menyimpan pada dasarnya bilangan yang benar-benar panjang, walaupun dengan 798 00:36:26,830 --> 00:36:29,930 lebih digit maka biasa kedai int kekuatan. 799 00:36:29,930 --> 00:36:32,420 Tetapi kita akan kembali kepada yang lama lagi. 800 00:36:32,420 --> 00:36:35,520 >> Dalam CS50 dot h Sementara Fail pengepala lain 801 00:36:35,520 --> 00:36:37,630 yang kita lihat pasangan kali digunakan, ada 802 00:36:37,630 --> 00:36:41,350 dua jenis data lain yang tidak wujud dalam C biasanya. 803 00:36:41,350 --> 00:36:45,000 Satu tali, dan kita akan melihat dalam beberapa minggu apa yang tali benar-benar 804 00:36:45,000 --> 00:36:46,610 adalah di bawah hood. 805 00:36:46,610 --> 00:36:47,950 Dan seseorang itu bool. 806 00:36:47,950 --> 00:36:51,650 Dan bool adalah pembolehubah yang hanya boleh mengambil nilai-nilai tertentu. 807 00:36:51,650 --> 00:36:54,370 Dan hanya berdasarkan minggu lepas Penjelasan Awal, 808 00:36:54,370 --> 00:36:56,680 dan baru-baru C, apa yang anda akan rasa 809 00:36:56,680 --> 00:37:01,770 adalah dua nilai yang mungkin untuk beberapa bekas yang jenis bool? 810 00:37:01,770 --> 00:37:02,860 >> Ya dan tidak. 811 00:37:02,860 --> 00:37:03,870 Satu dan sifar. 812 00:37:03,870 --> 00:37:04,502 Benar atau palsu. 813 00:37:04,502 --> 00:37:07,460 Dan sesungguhnya ia terakhir yang cenderung menjadi konvensional dalam pengaturcaraan yang 814 00:37:07,460 --> 00:37:10,030 bahasa, berkata sesuatu seperti benar atau palsu. 815 00:37:10,030 --> 00:37:13,160 >> Sementara itu perpustakaan CS50 datang dengan sekumpulan fungsi 816 00:37:13,160 --> 00:37:16,640 bahawa kakitangan yang menulis untuk anda, selain hanya mendapat tali. 817 00:37:16,640 --> 00:37:20,910 Kami menulis dalam fungsi terlebih dahulu bahawa boleh mendapatkan integer dari pengguna, 818 00:37:20,910 --> 00:37:22,990 mendapatkan watak tunggal, mendapatkan apungan, yang 819 00:37:22,990 --> 00:37:25,160 hanya nombor dengan titik perpuluhan. 820 00:37:25,160 --> 00:37:28,290 Dapatkan yang panjang panjang, yang benar-benar nilai besar daripada pengguna. 821 00:37:28,290 --> 00:37:30,930 Oleh itu, kita hanya melihat ini dalam tindakan dalam bentuk GetString. 822 00:37:30,930 --> 00:37:33,230 Tetapi melalui fungsi-fungsi ini tidak lama lagi akan dapat untuk menulis 823 00:37:33,230 --> 00:37:36,070 program-program yang mendapatkan input daripada pengguna. 824 00:37:36,070 --> 00:37:39,230 >> Sementara itu menganggap ini program, dan mempertimbangkan 825 00:37:39,230 --> 00:37:42,600 bagaimana kita mungkin mula menambah kepadanya dengan membina baru. 826 00:37:42,600 --> 00:37:44,530 Satu lawatan badai cepat dan kemudian kita akan melihat 827 00:37:44,530 --> 00:37:47,340 di beberapa menulis beberapa program secara manual diri kita sendiri. 828 00:37:47,340 --> 00:37:49,700 Seterusnya jika kita mahu melaksanakan keadaan, 829 00:37:49,700 --> 00:37:52,790 ia tidak akan kelihatan seperti bagus sedikit teka-teki sekeping cantik. 830 00:37:52,790 --> 00:37:54,460 Ia akan kelihatan sedikit lebih sukar difahami. 831 00:37:54,460 --> 00:37:57,620 Tetapi ini adalah kanun struktur suatu keadaan di C. 832 00:37:57,620 --> 00:38:00,380 >> Perkataan ini jika, dua kurungan, bahagian dalam yang 833 00:38:00,380 --> 00:38:02,590 akan menjadi beberapa jenis ungkapan Boolean. 834 00:38:02,590 --> 00:38:04,999 Kini slash slash di tengah-tengah, ini adalah 835 00:38:04,999 --> 00:38:07,290 pada masa ini jenis seperti placeholder kod kod pseudo. 836 00:38:07,290 --> 00:38:11,576 Tetapi yang lebih baik, mana-mana baris kod dalam C yang bermula dengan slash slash 837 00:38:11,576 --> 00:38:12,850 adalah komen. 838 00:38:12,850 --> 00:38:15,920 >> Ia seperti nota melekit yang anda mungkin memakai satu esei, dicetak di atas kertas. 839 00:38:15,920 --> 00:38:17,290 Ia nota kepada diri sendiri. 840 00:38:17,290 --> 00:38:20,100 Ia tidak berfungsi kesan ke atas program tersebut. 841 00:38:20,100 --> 00:38:23,580 Ia semacam peringatan, ia sendiri dokumentasi tentang apa yang sedang berlaku. 842 00:38:23,580 --> 00:38:25,720 Jadi melakukan ini pada masa ini adalah jenis pemegang tempat yang 843 00:38:25,720 --> 00:38:27,560 untuk apa sahaja yang di dalam dari orang-orang pendakap kerinting 844 00:38:27,560 --> 00:38:29,810 akhirnya akan melakukan sesuatu. 845 00:38:29,810 --> 00:38:35,160 >> Sementara itu anda mempunyai dua garpu dalam jalan, jika lain membina seperti ini. 846 00:38:35,160 --> 00:38:37,024 Anda boleh jika, elseif, lain. 847 00:38:37,024 --> 00:38:39,690 Kini ia diperhatikan, terutamanya jika anda telah Googling sekitar 848 00:38:39,690 --> 00:38:42,480 talian untuk sumber daripada rasa ingin tahu, atau jika anda mengambil 849 00:38:42,480 --> 00:38:44,575 salah satu kursus yang buku-buku yang disyorkan di C, 850 00:38:44,575 --> 00:38:48,430 anda akan melihat bahawa manusia mempunyai banyak citarasa yang berbeza untuk bagaimana 851 00:38:48,430 --> 00:38:50,510 untuk menyatakan diri mereka dalam kod. 852 00:38:50,510 --> 00:38:53,800 Sesetengah orang suka untuk meletakkan pendakap kerinting seperti yang saya lakukan di sini. 853 00:38:53,800 --> 00:38:57,760 Sesetengah orang suka untuk meletakkan kerinting yang pendakap misalnya di sini. 854 00:38:57,760 --> 00:39:01,700 >> Sesetengah orang suka untuk meletakkan elses di sini dan kemudian ini di sini. 855 00:39:01,700 --> 00:39:05,120 Ada apa-apa bilangan cara untuk kod menulis, dan tiada seorang pun daripada mereka 856 00:39:05,120 --> 00:39:06,566 betul per se. 857 00:39:06,566 --> 00:39:08,440 Walaupun ada beberapa yang cukup salah. 858 00:39:08,440 --> 00:39:11,315 Tetapi ada no-- jika ini adalah akhirnya perdebatan sangat agama. 859 00:39:11,315 --> 00:39:13,940 Malah, salah satu yang paling menjengkelkan perkara tentang sains komputer 860 00:39:13,940 --> 00:39:16,310 ialah bagaimana keras ahli-ahli sains komputer boleh. 861 00:39:16,310 --> 00:39:19,880 Dan anda akan mendapati bahawa dari masa ke masa walaupun anda membangunkan pilihan peribadi 862 00:39:19,880 --> 00:39:22,130 bagaimana kod anda sepatutnya kelihatan. 863 00:39:22,130 --> 00:39:27,162 >> Bukan sahaja bertindak, bukan sahaja mencipta output, tetapi bagaimana ia harus melihat estetika. 864 00:39:27,162 --> 00:39:30,120 Jadi apa yang kita akan lakukan adalah membimbing anda bersama-sama jalan ke arah, buat masa ini sekurang-kurangnya, 865 00:39:30,120 --> 00:39:34,825 gaya CS50 standard yang sekurang-kurangnya menyimpan perkara-perkara yang seragam dan mudah dibaca. 866 00:39:34,825 --> 00:39:37,330 Tetapi yang lebih kepada orang-orang perbezaan tidak lama lagi. 867 00:39:37,330 --> 00:39:41,830 >> A ungkapan Boolean dalam C, jika anda mahu berkata jika keadaan ini adalah benar 868 00:39:41,830 --> 00:39:44,650 dan keadaan ini yang lain adalah benar, anda tidak menulis perkataan yang 869 00:39:44,650 --> 00:39:46,610 dan, seperti yang anda dalam bahasa Inggeris. 870 00:39:46,610 --> 00:39:50,580 Anda sebaliknya menggunakan Ampersand Ampersand, atas sebab-sebab kita akan kembali kepada. 871 00:39:50,580 --> 00:39:54,520 Jika anda ingin mengatakan atau anda menggunakan dua bar menegak, yang pada keyboard AS 872 00:39:54,520 --> 00:39:57,650 secara amnya di atas Enter seterusnya utama untuk garis sendeng terbalik itu. 873 00:39:57,650 --> 00:40:03,080 Dan ini hanya bermakna jika keadaan ini atau keadaan ini lain benar melakukan ini. 874 00:40:03,080 --> 00:40:05,210 >> Sementara itu ada ini perkara gila yang 875 00:40:05,210 --> 00:40:07,760 anda akan mempunyai kesempatan menggunakan sekali dalam seketika. 876 00:40:07,760 --> 00:40:10,390 Tetapi ia hanya alternatif cara untuk menyatakan diri anda. 877 00:40:10,390 --> 00:40:12,400 Ini, sekarang, mari kita menetapkan, ia hanya 878 00:40:12,400 --> 00:40:16,880 satu lagi cara 'funky' untuk menyatakan jika, elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 Ia hanya diformat dari segi kes-kes, di mana anda benar-benar 880 00:40:19,720 --> 00:40:23,420 menghitung nilai-nilai yang anda mungkin mahu untuk memeriksa. 881 00:40:23,420 --> 00:40:24,410 >> Sementara itu gelung. 882 00:40:24,410 --> 00:40:26,842 Kami melihat perbandingan Goreskan dengan gelung. 883 00:40:26,842 --> 00:40:29,550 Dan saya akan melambai tangan saya di apa yang setiap perkara-perkara ini bermakna. 884 00:40:29,550 --> 00:40:33,520 Tetapi melihat bahawa gelung akan sangat sering bermula dengan kata kunci untuk. 885 00:40:33,520 --> 00:40:36,350 Atau ia akan bermula dengan manakala kata kunci. 886 00:40:36,350 --> 00:40:41,360 Atau ia akan bermula dengan kata kunci lakukan, dan berakhir dengan manakala kata kunci. 887 00:40:41,360 --> 00:40:43,920 >> Tetapi apa yang kita kira-kira untuk melihat adalah perkara yang lebih seperti ini. 888 00:40:43,920 --> 00:40:47,950 Di sini, secara amnya dalam C, bagaimana anda mungkin mengisytiharkan pembolehubah dan memberikan nilai. 889 00:40:47,950 --> 00:40:50,610 Dalam C ia tidak mencukupi, seperti dalam Scratch, anda hanya 890 00:40:50,610 --> 00:40:52,810 mengatakan memberi saya ubah dikenali sebagai sesuatu. 891 00:40:52,810 --> 00:40:55,960 Anda perlu memberitahu C, dan memberitahu pengkompil anda, lebih khusus, 892 00:40:55,960 --> 00:40:58,680 jenis nilai yang anda ingin dimasukkan ke dalam mangkuk kaca. 893 00:40:58,680 --> 00:40:59,610 >> Adakah integer? 894 00:40:59,610 --> 00:41:02,210 Jika ya, anda perlu harfiah mengatakan int dan kemudian 895 00:41:02,210 --> 00:41:04,220 nama pembolehubah, maka dengan koma bernoktah. 896 00:41:04,220 --> 00:41:08,050 Jika anda mahu dan bukannya tali dan dipanggil itu sahaja seperti yang saya lakukan kod saya di sini hari ini, 897 00:41:08,050 --> 00:41:10,920 anda akan berkata koma bertitik rentetan s. 898 00:41:10,920 --> 00:41:14,200 Jika anda hendak memberikan nilai yang anda boleh menggunakan tanda yang sama, 899 00:41:14,200 --> 00:41:16,211 atau dikenali sebagai Pengendali tugasan. 900 00:41:16,211 --> 00:41:17,960 Dan perhatikan bagaimana setiap ini baris kod 901 00:41:17,960 --> 00:41:20,650 mempunyai koma bernoktah di hujung itu. 902 00:41:20,650 --> 00:41:22,550 >> Tetapi terus terang ini hanya kelihatan sedikit hodoh. 903 00:41:22,550 --> 00:41:26,580 Mengapa saya tidak boleh berkata kepada komputer, memberi saya berubah dan memulakan ia kepada sifar. 904 00:41:26,580 --> 00:41:28,380 Iaitu, memberi saya satu mangkuk kaca kosong. 905 00:41:28,380 --> 00:41:28,980 Walaupun anda boleh. 906 00:41:28,980 --> 00:41:32,250 Dan supaya satu penghakiman yang akan memanggil anda perlu membuat stylistically dari masa ke masa 907 00:41:32,250 --> 00:41:36,290 adalah, adakah anda menulis kod anda seperti ini, atau adakah anda jenis bersihkannya dan menarik 908 00:41:36,290 --> 00:41:39,040 orang dengan menulis dua baris sebagai hanya satu. 909 00:41:39,040 --> 00:41:41,830 Dan ini akan dianggap umumnya cara yang lebih elegan 910 00:41:41,830 --> 00:41:43,870 menulis kod anda stylistically. 911 00:41:43,870 --> 00:41:45,200 >> Fungsi kami sudah tentu dilihat. 912 00:41:45,200 --> 00:41:46,340 Mereka akan mengambil format ini. 913 00:41:46,340 --> 00:41:48,881 Nama fungsi, beberapa kurungan, dan kemudian mungkin beberapa 914 00:41:48,881 --> 00:41:49,910 barangan dalam. 915 00:41:49,910 --> 00:41:52,540 Atau anda mungkin melihat penggunaan sebelah fungsi yang pelbagai 916 00:41:52,540 --> 00:41:55,980 menyebelah, seperti sesuatu seperti ini. 917 00:41:55,980 --> 00:41:59,390 Sekarang sebagai menyimpang, tidak jenaka ini sekarang masuk akal? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [Ketawa] 920 00:42:04,960 --> 00:42:09,360 Ia tidak bermakna ia melucukan, tetapi ia tidak mungkin masuk akal yang lebih sedikit. 921 00:42:09,360 --> 00:42:12,140 Jadi sekarang mari kita pergi ke dalam Perkakas CS50 seketika. 922 00:42:12,140 --> 00:42:14,640 Dan biarlah saya membuka satu teaser di sini. 923 00:42:14,640 --> 00:42:17,470 >> Dan sesungguhnya salah satu sebab kerana memperkenalkan Katalog IKEA 924 00:42:17,470 --> 00:42:20,080 dan berkelip gambar iPhone sedikit yang lalu 925 00:42:20,080 --> 00:42:24,700 adalah untuk benar-benar mengikat dalam bersama-sama fakta yang hanya beberapa tahun yang lalu, pada tahun 2007, 926 00:42:24,700 --> 00:42:26,540 ini sekeping kod adalah dikeluarkan, yang 927 00:42:26,540 --> 00:42:29,820 salah satu pelaksanaan yang pertama sekeping perisian 928 00:42:29,820 --> 00:42:31,494 yang melakukan apa yang dipanggil jailbreaking. 929 00:42:31,494 --> 00:42:34,410 Bagi mereka yang tidak dikenali, jailbreaking sesuatu seperti telefon atau iPhone 930 00:42:34,410 --> 00:42:37,680 ertinya dasarnya memikirkan bagaimana untuk melakukan perkara-perkara 931 00:42:37,680 --> 00:42:39,864 dengan itu bahawa syarikat itu yang membuat ia tidak berniat. 932 00:42:39,864 --> 00:42:42,780 Seperti anda ingin memasang tertentu perisian yang tidak di kedai app, 933 00:42:42,780 --> 00:42:45,405 jailbreaking telefon anda yang anda melakukan perkara-perkara seperti itu dan banyak lagi. 934 00:42:45,405 --> 00:42:47,447 Tetapi apa yang menyeronokkan dalam 2007-- dan ada menjadi 935 00:42:47,447 --> 00:42:49,780 berpuluh-puluh versi yang berbeza perkara-perkara ini sejak itu, 936 00:42:49,780 --> 00:42:53,540 dalam segala macam languages-- ialah program ini di sini, yang dipanggil iUnlock, 937 00:42:53,540 --> 00:42:57,036 sebenarnya ditulis dalam C. Oleh itu, saya ditarik ke atas kod sumber untuk ini, 938 00:42:57,036 --> 00:42:59,910 hanya untuk jenis menunjukkan beberapa persamaan dengan membina 939 00:42:59,910 --> 00:43:01,450 kita telah membincangkan setakat ini. 940 00:43:01,450 --> 00:43:05,150 Kini ada cara yang lebih rumit di sini daripada yang kita lihat sudah di dalam kelas. 941 00:43:05,150 --> 00:43:07,160 Biar saya tatal ke atas hanya sedikit di sini. 942 00:43:07,160 --> 00:43:11,520 >> Tetapi notis these-- juga kita melihat beberapa things-- tetapi perhatikan ayat-ayat ini di sini, 943 00:43:11,520 --> 00:43:14,090 termasuk standard I / O dot h. 944 00:43:14,090 --> 00:43:17,660 Dan garis all-- 24, please-- notis saya standard / O 945 00:43:17,660 --> 00:43:21,380 dot h dan sejumlah besar lain fail yang nampaknya orang lain 946 00:43:21,380 --> 00:43:22,160 telah menulis. 947 00:43:22,160 --> 00:43:24,850 Dan jika kita skrol ke bawah ini, sedikit sewenang-wenangnya, 948 00:43:24,850 --> 00:43:27,910 notis Saya tidak tahu bagaimana untuk menulis semua ini diri saya semestinya lagi, 949 00:43:27,910 --> 00:43:28,880 tetapi jika ada. 950 00:43:28,880 --> 00:43:30,400 Jadi nampaknya ini mempunyai cawangan. 951 00:43:30,400 --> 00:43:33,210 >> Dan jika saya tatal ke bawah sedikit lagi terdapat satu lagi jika. 952 00:43:33,210 --> 00:43:38,210 Jika saya tatal ke atas, saya fikir di talian 100 untuk saya melihat. 953 00:43:38,210 --> 00:43:40,020 Jadi saya tidak cukup yakin bagaimana ini berfungsi lagi, 954 00:43:40,020 --> 00:43:43,180 tetapi ini adalah satu untuk gelung yang berlaku kepada biarlah saya iterate beberapa beberapa kali. 955 00:43:43,180 --> 00:43:45,230 Dan jika saya tatal semua perjalanan ke bahagian bawah 956 00:43:45,230 --> 00:43:51,020 Saya melihat bahawa ada berfungsi turun di sini dipanggil 957 00:43:51,020 --> 00:43:54,570 utama, dan beberapa kredit tambahan untuk keseronokan pembacaan anda. 958 00:43:54,570 --> 00:43:57,830 >> Jadi ini adalah hanya untuk say-- dan kami akan meletakkan talian ini merupakan sumber perjalanan ini 959 00:43:57,830 --> 00:44:01,480 kod today-- bahawa walaupun sesetengah alat-alat yang kita ambil untuk diberikan, 960 00:44:01,480 --> 00:44:05,130 pada akhir hari anda masih menggunakan konstruk asas yang kita kena 961 00:44:05,130 --> 00:44:07,430 telah memperkenalkan sudah setakat ini. 962 00:44:07,430 --> 00:44:08,620 Yang cukup satu itu. 963 00:44:08,620 --> 00:44:11,480 Baiklah, jadi sekarang mari kita sebenarnya membina sesuatu. 964 00:44:11,480 --> 00:44:15,640 >> Mari kita pergi di luar sesuatu seperti hello.c, dan membuka ini, 965 00:44:15,640 --> 00:44:17,170 mari kita menulis program ini di sini. 966 00:44:17,170 --> 00:44:19,850 Saya akan pergi ke depan dan menulis program yang dikenali sebagai adder.c, 967 00:44:19,850 --> 00:44:23,310 tujuan dalam kehidupan yang akan menjadi seperti kalkulator super mudah pertama saya 968 00:44:23,310 --> 00:44:24,840 yang hanya menambah beberapa nombor. 969 00:44:24,840 --> 00:44:27,050 Bukan kerana itu adalah satu keras masalah, tetapi kerana ia 970 00:44:27,050 --> 00:44:29,390 membolehkan saya kini mengikat bersama-sama beberapa perkara. 971 00:44:29,390 --> 00:44:33,100 Jadi saya akan pergi ke depan dan termasuk Saya standard / O h dan dot dot CS50 h. 972 00:44:33,100 --> 00:44:34,670 Saya akan mengatakan tidak sah utama int. 973 00:44:34,670 --> 00:44:36,545 Dan sekali lagi pada masa akan datang kita akan kembali kepadanya 974 00:44:36,545 --> 00:44:38,560 ke dalam konteks ini dan cara-cara tidak sah. 975 00:44:38,560 --> 00:44:43,340 >> Dan sekarang saya akan mengatakan sesuatu seperti printf, memberi saya integer. 976 00:44:43,340 --> 00:44:47,610 Dan sekarang pada baris kedua, bagaimana saya meluahkan diri saya seperti 977 00:44:47,610 --> 00:44:50,980 yang saya mahu untuk mengisytiharkan pembolehubah perkara yang berlaku untuk menyimpan int satu? 978 00:44:50,980 --> 00:44:55,470 Secara literal apa yang saya menaip jika saya ingin mencipta pembolehubah yang menyimpan sebuah int 979 00:44:55,470 --> 00:44:58,270 kau kata? 980 00:44:58,270 --> 00:44:59,650 int yang sama getint. 981 00:44:59,650 --> 00:45:00,485 Pasti, supaya kerja-kerja. 982 00:45:00,485 --> 00:45:02,360 Dan hanya konsisten dengan kod yang anda akan 983 00:45:02,360 --> 00:45:04,485 lihat dalam talian, saya perubahan ini x, hanya kerana x 984 00:45:04,485 --> 00:45:06,830 adalah nama pembolehubah biasa untuk digunakan, sekurang-kurangnya dalam algebra. 985 00:45:06,830 --> 00:45:08,720 Sekarang, saya akan pergi ke depan dan jangan printf lagi. 986 00:45:08,720 --> 00:45:10,692 Berikan saya integer lain. 987 00:45:10,692 --> 00:45:12,900 Dan sekarang saya akan jenis daripada belajar daripada corak itu, 988 00:45:12,900 --> 00:45:14,490 Saya akan mengatakan int y sampai ke GetInt. 989 00:45:14,490 --> 00:45:16,340 >> Dan kita masih tidak digunakan GetInt sebelum ini, tetapi hanya 990 00:45:16,340 --> 00:45:19,860 seperti GetString pergi dan mendapat tali, seperti Javier lakukan dari penonton, 991 00:45:19,860 --> 00:45:22,780 juga tidak GetInt mula berkelip segera itu. 992 00:45:22,780 --> 00:45:26,750 Dan berkesan menunggu pengguna untuk memberikan integer, dengan menaip dalam 993 00:45:26,750 --> 00:45:27,900 dan memukul Enter. 994 00:45:27,900 --> 00:45:30,850 Sekarang akhir sekali saya akan lakukan ini, printf jumlah daripada-- 995 00:45:30,850 --> 00:45:36,080 dan biarlah saya mendapatkan now-- mewah i peratus dan peratus i hadir 996 00:45:36,080 --> 00:45:39,270 i seru titik backslash n. 997 00:45:39,270 --> 00:45:42,750 Dan apa yang anda fikir saya akan dimasukkan ke dalam sekarang sebagai input tambahan 998 00:45:42,750 --> 00:45:44,620 untuk printf? 999 00:45:44,620 --> 00:45:47,380 >> Saya tidak mahu untuk mengatakan harfiah quote unquote x. 1000 00:45:47,380 --> 00:45:52,210 Saya mahu kelas x dan itu, dan kini mari kita mewah 1001 00:45:52,210 --> 00:45:54,420 dan mari kita hanya menganggap yang boleh kita lakukan apa yang kita mahu. 1002 00:45:54,420 --> 00:45:56,330 Apa yang anda mahu katakan akan datang? 1003 00:45:56,330 --> 00:45:57,070 x campur y. 1004 00:45:57,070 --> 00:45:58,520 Dan sesungguhnya yang akan bekerja. 1005 00:45:58,520 --> 00:46:01,760 Ia minimum bahasa pengaturcaraan melakukan memahami aritmetik asas, 1006 00:46:01,760 --> 00:46:03,500 dan sebagainya ini harus sebenarnya kerja. 1007 00:46:03,500 --> 00:46:06,730 >> Jadi biarlah saya pergi ke hadapan dan jangan membuat penambah dalam tetingkap hitam dan putih saya 1008 00:46:06,730 --> 00:46:08,090 turun di sini, Enter. 1009 00:46:08,090 --> 00:46:10,830 Garis samar tetapi tiada ralat mesej, supaya baik. 1010 00:46:10,830 --> 00:46:14,410 Dot mengurangkan penambah, memberi saya integer, 1. 1011 00:46:14,410 --> 00:46:16,230 Berikan saya integer yang lain, 2. 1012 00:46:16,230 --> 00:46:18,770 Jumlah bagi 1 dan 2 ialah 3. 1013 00:46:18,770 --> 00:46:21,730 >> Baiklah, jadi yang cukup remeh program, tetapi apa yang ia dilakukan? 1014 00:46:21,730 --> 00:46:25,680 Ia membolehkan saya untuk menggunakan fungsi yang memanggil sini, memanggil fungsi lain di sini, 1015 00:46:25,680 --> 00:46:29,260 dua panggilan ke GetInt, yang panggilan ketiga untuk printf, 1016 00:46:29,260 --> 00:46:30,720 dan kemudian menggunakan ruang letak ini. 1017 00:46:30,720 --> 00:46:33,160 Jadi ia lebih sedikit canggih daripada masa lalu. 1018 00:46:33,160 --> 00:46:35,260 Tetapi bagaimana jika saya mahu mendapatkan sedikit pelamun? 1019 00:46:35,260 --> 00:46:38,900 >> Biar saya pergi ke hadapan dan melakukan ini. 1020 00:46:38,900 --> 00:46:42,890 Biar saya pergi ke hadapan dan membuat Fail baru yang dikenali sebagai keadaan sifar. 1021 00:46:42,890 --> 00:46:44,890 Dan saya akan menyelamatkan masa demi kelas 1022 00:46:44,890 --> 00:46:48,260 dan hanya tampal dalam bahawa kod sebagai titik permulaan. 1023 00:46:48,260 --> 00:46:51,510 Dan sekarang saya hanya akan meletakkan sesuatu yang baru di sini di tengah-tengah. 1024 00:46:51,510 --> 00:46:55,889 Jadi printf saya ingin integer sila. 1025 00:46:55,889 --> 00:46:58,180 Dan semua kod ini boleh didapati di laman web kursus ini, 1026 00:46:58,180 --> 00:47:00,556 anda tidak perlu menaip ia semua keluar di dalam kelas jika anda lebih suka tidak. 1027 00:47:00,556 --> 00:47:02,638 int, dan kini saya akan digunakan, dan bukannya x dan y, 1028 00:47:02,638 --> 00:47:05,270 Saya akan menggunakan n, yang merupakan mungkin nama yang paling biasa 1029 00:47:05,270 --> 00:47:09,220 untuk integer dalam program komputer. 1030 00:47:09,220 --> 00:47:12,060 Dan sekarang saya ingin melakukan penghakiman sedikit di sini. 1031 00:47:12,060 --> 00:47:15,460 Saya akan melihat jika n adalah lebih besar daripada 0, maka 1032 00:47:15,460 --> 00:47:23,670 Saya akan mengatakan Whoops printf--, printf-- anda pilih nombor positif, 1033 00:47:23,670 --> 00:47:25,370 tanda seru backslash n. 1034 00:47:25,370 --> 00:47:26,460 Tutup itu. 1035 00:47:26,460 --> 00:47:33,150 Yang lain saya akan mencetak printf anda pilih nombor negatif. 1036 00:47:33,150 --> 00:47:35,377 >> Sekarang sebelum anda menjerit pada saya, mari kita menjalankan program ini. 1037 00:47:35,377 --> 00:47:36,210 Biar saya turun di sini. 1038 00:47:36,210 --> 00:47:40,730 Dan bagaimana saya menyusun program dipanggil keadaan dash 0? 1039 00:47:40,730 --> 00:47:42,300 Membuat syarat dash 0. 1040 00:47:42,300 --> 00:47:45,560 Jenis nama bodoh, but-- celaka. 1041 00:47:45,560 --> 00:47:47,560 OK, masa pengajaran yang baik. 1042 00:47:47,560 --> 00:47:48,410 Mengapa yang memecahkan? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Apa yang saya secara tidak sengaja panggil fail ini? 1045 00:47:54,710 --> 00:47:56,876 Anda boleh membuat kesimpulan jenis dari tab di sini. 1046 00:47:56,876 --> 00:47:58,750 Jadi ia bukan buruk yang saya melakukan ini, kerana ini 1047 00:47:58,750 --> 00:48:00,208 mungkin akan berlaku kepada sebahagian dari kamu. 1048 00:48:00,208 --> 00:48:03,880 Jadi saya tidak sengaja dinamakan saya sumber kod keadaan 0. 1049 00:48:03,880 --> 00:48:09,950 Tetapi kod sumber saya dengan konvensyen perlu berada dalam fail yang dipanggil keadaan 0 dash c, 1050 00:48:09,950 --> 00:48:11,720 atau apa sahaja dot c. 1051 00:48:11,720 --> 00:48:12,610 >> Jadi biarlah saya menetapkan ini. 1052 00:48:12,610 --> 00:48:16,880 Sama seperti Microsoft Word saya boleh naik Simpan Sebagai dan melakukan keadaan 0 dot c. 1053 00:48:16,880 --> 00:48:20,100 Sekarang hanya untuk kemas saya akan pergi ke depan dan mengeluarkan 1054 00:48:20,100 --> 00:48:23,020 keadaan 0, yang merupakan versi lama saya. 1055 00:48:23,020 --> 00:48:26,550 Dan sekarang mari kita jangan membuat keadaan 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 OK, seolah-olah baik. 1057 00:48:27,870 --> 00:48:29,510 >> Keadaan 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Saya ingin integer, sila, 50, anda pilih nombor positif. 1059 00:48:33,530 --> 00:48:35,390 Sekarang bagaimana pula negatif 50? 1060 00:48:35,390 --> 00:48:37,660 Anda memilih nombor negatif. 1061 00:48:37,660 --> 00:48:39,605 Bagaimana kira-kira sekarang, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Cukup yakin 0 bukan negatif. 1064 00:48:45,350 --> 00:48:47,780 >> Jadi ini adalah jenis pepijat logik. 1065 00:48:47,780 --> 00:48:50,680 Bagaimana saya menetapkan ini? 1066 00:48:50,680 --> 00:48:57,260 Yang lain jika n adalah kurang daripada 0, melakukan ini, lain kita boleh mempunyai cawangan tiga cara di sini, 1067 00:48:57,260 --> 00:49:01,740 printf anda pilih 0. 1068 00:49:01,740 --> 00:49:06,150 Jadi sekarang jika saya jalankan lagi ini program, selepas menyusun ia 1069 00:49:06,150 --> 00:49:10,790 lagi dengan membuat, dan kini jalankan lagi keadaan 0, apa yang saya akan lihat di sini 1070 00:49:10,790 --> 00:49:14,570 adalah 0 memberikan saya output itu. 1071 00:49:14,570 --> 00:49:16,280 Jadi di mana kita pergi dengan ini? 1072 00:49:16,280 --> 00:49:18,930 >> Baik ia sangat mudah untuk lupa hutan untuk pokok-pokok. 1073 00:49:18,930 --> 00:49:23,590 Dan demikian memberikan kita menyimpulkan dengan video ini 2 dan 1/2 minit 1074 00:49:23,590 --> 00:49:25,710 yang akhirnya agak daripada iklan dari Google, 1075 00:49:25,710 --> 00:49:28,850 tetapi yang benar-benar membuktikan apa walaupun menggunakan binaan asas 1076 00:49:28,850 --> 00:49:33,020 blok kita akhirnya boleh melakukannya sekali kita mempunyai sedikit pengaturcaraan 1077 00:49:33,020 --> 00:49:34,463 bernyawa TI sarana di bawah tali pinggang kami. 1078 00:49:34,463 --> 00:49:35,150 >> [MUZIK bermain] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO Brierley (suaranya): Ia adalah 26 tahun yang lalu, 1081 00:49:40,540 --> 00:49:42,470 dan saya hanya kira-kira untuk menjadikan 5. 1082 00:49:42,470 --> 00:49:45,465 Kami sampai ke stesen kereta api dan kami menaiki kereta api kita bersama. 1083 00:49:45,465 --> 00:49:48,010 Abang saya hanya berkata saya akan tinggal di sini, dan saya akan kembali. 1084 00:49:48,010 --> 00:49:51,140 Dan saya berfikir, baik anda tahu, Saya mungkin juga hanya pergi untuk tidur 1085 00:49:51,140 --> 00:49:52,690 dan dia hanya akan membangunkan saya. 1086 00:49:52,690 --> 00:49:55,145 Dan apabila saya bangun seterusnya hari, seluruh pengangkutan 1087 00:49:55,145 --> 00:49:59,125 kosong pada kereta api yang melarikan diri, hantu kereta api membawa saya Saya tidak tahu di mana. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> Saya pakai ke Australia, kepada keluarga Australia. 1090 00:50:06,280 --> 00:50:09,710 Dan ibu telah dihiasi saya bilik dengan peta India, 1091 00:50:09,710 --> 00:50:11,950 yang dia diletakkan di sebelah kesukaan saya. 1092 00:50:11,950 --> 00:50:15,830 Saya bangun setiap pagi melihat peta itu, dan dengan itu 1093 00:50:15,830 --> 00:50:18,530 ia semacam memelihara kenangan hidup. 1094 00:50:18,530 --> 00:50:20,530 Ramai yang akan berkata, anda cuba mencari jarum 1095 00:50:20,530 --> 00:50:23,560 dalam sisa rumput kering, Saroo anda tidak akan menemuinya. 1096 00:50:23,560 --> 00:50:28,540 >> Saya telah pemimpin-pemimpin itu satu tempat yang saya digunakan untuk pergi, berkelip keluarga saya 1097 00:50:28,540 --> 00:50:29,890 muka. 1098 00:50:29,890 --> 00:50:34,060 Terdapat imej ibu saya, duduk dengan kaki bersilang, 1099 00:50:34,060 --> 00:50:35,740 hanya menonton menangis dia. 1100 00:50:35,740 --> 00:50:38,160 Hidup ini hanya begitu keras. 1101 00:50:38,160 --> 00:50:41,237 Itulah harta saya. 1102 00:50:41,237 --> 00:50:44,320 Dan saya cari di Google Map dan menyedari ada Google Earth juga. 1103 00:50:44,320 --> 00:50:48,140 Dalam dunia di mana anda boleh zum ke dalam, Saya mula mempunyai pemikiran ini 1104 00:50:48,140 --> 00:50:51,500 dan apa kemungkinan ini boleh lakukan untuk saya. 1105 00:50:51,500 --> 00:50:54,890 Saya berkata kepada diri saya sendiri, yang anda tahu, anda mempunyai mendapat semua orang-orang kenangan fotografi 1106 00:50:54,890 --> 00:50:58,590 dan mercu tanda di mana anda daripada, dan anda tahu apa yang bandar kelihatan seperti. 1107 00:50:58,590 --> 00:51:03,060 Ini boleh menjadi suatu permohonan yang anda boleh gunakan untuk mencari jalan anda kembali. 1108 00:51:03,060 --> 00:51:06,720 >> Saya fikir, baik saya akan meletakkan dot di stesen kereta api Calcutta, 1109 00:51:06,720 --> 00:51:10,890 dan garis jejari, anda tahu, bahawa anda perlu mencari di sekitar kawasan ini. 1110 00:51:10,890 --> 00:51:13,750 Saya semacam terserempak ini trek kereta api. 1111 00:51:13,750 --> 00:51:18,160 Dan saya mula mengikuti, dan Saya datang ke stesen kereta api yang 1112 00:51:18,160 --> 00:51:22,228 mencerminkan imej yang sama yang di dalam kenangan saya. 1113 00:51:22,228 --> 00:51:23,707 Semua dipadankan. 1114 00:51:23,707 --> 00:51:27,950 Saya hanya fikir yep, saya tahu di mana saya akan. 1115 00:51:27,950 --> 00:51:30,116 Saya hanya akan membiarkan peta yang saya ada dalam kepala saya 1116 00:51:30,116 --> 00:51:33,080 membawa saya dan membawa saya pulang ke kampung halaman saya. 1117 00:51:33,080 --> 00:51:36,420 >> Saya datang ke depan pintu rumah yang saya dilahirkan. 1118 00:51:36,420 --> 00:51:39,140 Dan berjalan di sekitar kira-kira 15 meter sekitar sudut, 1119 00:51:39,140 --> 00:51:42,980 terdapat tiga wanita berdiri di luar, bersebelahan dengan satu sama lain. 1120 00:51:42,980 --> 00:51:47,830 Dan yang tengah melangkah ke hadapan, dan Saya fikir, ini adalah ibu anda. 1121 00:51:47,830 --> 00:51:53,450 Dia datang ke hadapan, dia memeluk saya, dan kami berada di sana selama kira-kira lima minit. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Dia meraih tangan saya dan dia membawa saya ke rumah 1124 00:51:59,000 --> 00:52:02,450 dan mendapat di telefon, di mana beliau berdering kakak saya dan abang saya 1125 00:52:02,450 --> 00:52:05,600 untuk mengatakan bahawa, anda tahu, saudara anda mempunyai hanya 1126 00:52:05,600 --> 00:52:09,340 semua tiba-tiba muncul seperti hantu. 1127 00:52:09,340 --> 00:52:12,440 Kemudian keluarga bersatu semula lagi. 1128 00:52:12,440 --> 00:52:15,110 Semua semua yang baik, Saya membantu ibu saya keluar, 1129 00:52:15,110 --> 00:52:17,110 dia tidak perlu slaving dari sini. 1130 00:52:17,110 --> 00:52:19,555 Beliau boleh hidup yang lain hidupnya dengan aman. 1131 00:52:19,555 --> 00:52:23,460 >> Ia adalah jarum dalam sisa rumput kering, tetapi jarum berada di sana. 1132 00:52:23,460 --> 00:52:24,400 Semuanya ada di sana. 1133 00:52:24,400 --> 00:52:28,260 Semua yang kita ada di dunia adalah di paip butang. 1134 00:52:28,260 --> 00:52:32,010 Tetapi anda perlu mempunyai kemahuan dan keazaman untuk mahu ia. 1135 00:52:32,010 --> 00:52:32,950 >> [MUZIK bermain] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID MALAN: hebat testimoni manis 1138 00:52:38,170 --> 00:52:40,540 hanya apa yang anda boleh kini melakukan dengan teknologi. 1139 00:52:40,540 --> 00:52:43,390 Kami akan melihat anda minggu depan. 1140 00:52:43,390 --> 00:52:44,374