[Bermain muzik] DAVID MALAN: Baiklah. Selamat kembali. Ini adalah CS50, dan ini adalah Minggu Satu, berterusan. Jadi salah satu daripada sebab-sebab kita telah lulus teknologi-teknologi seperti Google Kaca adalah bahawa mereka datang dengan sesuatu yang dikenali sebagai API, sebuah Permohonan Pengaturcaraan Antaramuka. Dan apakah ini bermakna bahawa dengan fail yang betul dan dengan hak dokumentasi, anda benar-benar boleh menulis perisian untuk peranti walaupun seperti ini. Dan supaya apa yang kita ada di dalam fikiran ke arah semester akhir, jika projek melibatkan, mengatakan, Google Kaca mungkin rayuan, kita akan melihat apa yang boleh kita lakukan dalam segi hooking anda dengan beberapa perkakasan loaner serta API awam diakses supaya anda boleh sebenarnya mula mencipta perisian yang berjalan di Google Glass sama. Peranti lain yang kita telah bermain dengan akhir-akhir ini yang kita fikir mungkin bersenang-senang di akhir semester adalah perkara ini sedikit di sini. Ia dipanggil Usul Leap, dan apa yang anda kira-kira untuk melihat secara teknikal yang iklan untuk peranti, tetapi ia tidak bercakap dengan apa yang khusus ini peranti mampu. Dan ia juga datang dengan API melalui yang anda boleh menulis perisian untuk mengawal komputer anda sendiri dengan cara yang agak suka filem ini satu minit di sini. [MAIN SEMULA VIDEO] [AKHIR VIDEO MAIN SEMULA] Jadi sekarang, peranti ini berlaku kepada dilaksanakan sebagai USB sedikit penyambung yang anda boleh dimasukkan ke dalam anda komputer, tetapi saya tidak akan terkejut jika sebelum lama kita mempunyai jenis-jenis teknologi dalam kumpulan seterusnya PC dan Mac supaya anda boleh, sesungguhnya, berinteraksi dengan dalam cara seperti itu. Malah, apa yang saya fikir saya akan lakukan, juga, adalah Saya ditarik ke atas satu demonstrasi kecil program yang datang dengan perisian ini. Jadi, saya telah meletakkan sensor kecil di hadapan komputer riba saya. Dan seperti yang anda lihat, ia telah menyedari yang tangan saya ada mengawal ia. Dan semua permohonan ini adalah tidak dgn perkara-perkara kecil seperti ini. Tetapi, anda boleh melihat bahawa, sesungguhnya, Saya mempunyai lima jari di sana. Jika kita boleh mendapatkan untuk melakukan semua 10, anda boleh bayangkan piano kemas permohonan atau sebagainya. Jadi, jika anda ingin datang selepas kelas hari ini dan bermain dengan itu sebagai Selain itu, anda dialu-alukan untuk. Jadi lebih pada itu ke arah akhir semester. Jadi beberapa pentadbiran pengumuman. Satu, melakukan bahagian dengan Jumaat ini pada tengah hari di cs60.net/section. Itu URL adalah pada kursus yang laman web juga. Dalam pada itu, walaupun, supersections akan debut Ahad ini. Supersections adalah satu perkara yang satu masa, kerana ia membawa kita sedikit masa untuk bekerja siapa yang dalam yang seksyen dan di mana. Jadi Ahad akan datang ini, akan menjadi salah satu bahagian untuk mereka yang kurang selesa, satu bahagian untuk mereka lebih selesa. Dan orang-orang di antara kamu di suatu tempat di antara dialu-alukan untuk pergi ke salah satu atau kedua-duanya atau tidak. Kedua-dua ini akan difilemkan. Mereka akan berada di dalam auditorium yang lebih besar daripada bahagian yang biasanya akan masuk Tetapi matlamat di sini adalah untuk melengkapkan anda dengan beberapa keselesaan dengan masalah menetapkan satu, dengan C, dengan perkakas CS50, ini hujung minggu, walaupun sebelum anda mengetahui anda seksyen formal tugasan. Jadi, anda akan bertemu TF anda dan yang lebih kecil anda kumpulan sectionmates dalam kira-kira masa seminggu. Waktu pejabat, Sementara itu, telah berlaku. Adakah mengambil kesempatan daripada mereka malam ini atau malam esok jika anda ingin. Set Masalah 0 adalah disebabkan pada hari Jumaat. Ini adalah hari yang lewat daripada kerap-dijadualkan Khamis. Tetapi dengan set masalah 1, anda akan melihat bahawa ia termasuk beberapa memanaskan badan latihan yang anda sendiri anda boleh melanjutkan Khamis Tarikh akhir Jumaat. Set Masalah 1 Sementara itu, akan debut di laman web kursus yang akan datang Friday, jika anda ingin untuk melenting dengan ia seperti yang saya lakukan satu ketika dahulu lewat Malam Jumaat di dalam bilik anda. Jadi cs50.net/appliance adalah tempat di mana anda boleh mendapatkan perkakas CS50 kita mula menggunakan pada hari Isnin. Kami akan menggunakan ia sedikit lebih hari ini. Tetapi yakinlah bahawa masalah set 1 spesifikasi akan berjalan anda melalui tepat langkah-langkah yang perlu untuk mendapatkan dan berjalan. Jadi jangan bimbang melakukan bahawa sebelum Pset 1 jika anda lebih suka tidak. Baiklah. Jadi kita melihat pada hari Isnin di kod sumber, tetapi dalam konteks yang baru bahasa pengaturcaraan, iaitu C. Dan C, tidak seperti Awal, bukan grafik. Ia tidak teka-teki keping. Ia lebih bahasa Inggeris seperti sintaksis. Dan ada beberapa langkah yang terlibat dalam sebenarnya menulis dan menjalankan program dalam C, kerana selain sumber kod seperti ini, anda memerlukan sesuatu dipanggil pengkompil. Dan dari segi orang biasa itu, apa tidak pengkompil lakukan untuk kami? Yeah. PELAJAR: Ia menukarkan kod bahawa anda menulis kepada 0 dan 1s. DAVID MALAN: Baik. Jadi ia menukarkan kod yang kita menulis kepada 0 dan 1s. Ia menukarkan dipanggil kod sumber untuk kod objek, kedua yang kelihatan sesuatu yang kecil seperti ini. Dan ia CPU anda, otak dalam komputer anda, bahawa kerana orang yang mencipta mereka komputer, tahu apa yang mereka urutan min 0 dan 1s. Mungkin ia bermakna cetak. Mungkin ia bermakna tambahan. Mungkin ia bermakna penolakan. Mungkin ia bermakna memaparkan grafik. Terdapat corak yang telah ditetapkan bit bahawa dunia telah memutuskan bermakna perkara-perkara tertentu. Tetapi bagi sebahagian yang paling dalam kursus ini, kita akan bekerja pada tahap yang lebih tinggi, dan kita akan mengambil mudah bahawa wujud perkara-perkara seperti penyusun yang boleh membuat fungsi kod sumber kami dalam cara kita berniat. Jadi program ini kita menulis pertama minggu lalu dan kemudian mula port, jadi untuk berucap, C lepas ini Monday, adalah ini. Apabila bendera hijau klik, bertanya khabar. Ini, sudah tentu, ditulis dalam Scratch. Dan saya mendakwa bahawa bersamaan program dalam C kelihatan sedikit sesuatu seperti ini. Jadi apa yang saya fikir kita akan lakukan pada mulanya ialah, mari kita mengusik selain apa yang kelihatan, pada mulanya pandangan, diakui, kerana agak batin sintaksis, tetapi anda akan mula notis corak agak cepat. Apa yang kita juga akan lakukan hari ini ialah menyediakan anda dengan model mental untuk beberapa berkanun, beberapa membina standard dalam pengaturcaraan. Dan kemudian kita benar-benar akan mendapatkan tangan kita kotor dengan beberapa contoh juga. Jadi bagi orang-orang yang anda lebih selesa, menyedari bahawa minggu ini dan kemudian seterusnya minggu dengan baik boleh menjadi sedikit kajian. Tetapi terutama apabila edisi penggodam masalah 1 set keluar pada kursus laman web pada hari Jumaat, saya berfikir anda akan mendapati bahawa walaupun anda mengisi beberapa kosong selama minggu depan atau dua, anda akan mula mendapat yang lebih mencabar dan menghadapi sesuatu yang baru dan baru. Jadi mari kita mengusik program ini selain beberapa baris pada satu masa. Di bahagian paling atas, kita mempunyai apa yang teknikal dipanggil arahan prapemproses. Ini hanyalah satu baris kod yang mengatakan untuk memasukkan kandungan fail, dipanggil standard I / N, input standard - atau, maaf, standard I / O, standard input / output. h, di dalam program saya sendiri. Jadi, dalam erti kata lain, jika saya menulis ini program dengan editor teks yang mudah seperti gedit, bersamaan lebih mudah daripada sesuatu seperti Microsoft Word, yang arahan # include stdio.h, hanya akan memberitahu pengkompil, merebut kandungan fail yang lain, stdio.h, dan tampal di sini. Sekarang, mengapa saya penjagaan? Apa yang kita dakwa di dalam fail ini dipanggil stdio.h, yang disimpan di suatu tempat pada cakera keras saya, atau dalam kes, di suatu tempat di dalam perkakas CS50? Orang lain meletakkan di sana untuk saya. Tetapi apa yang di dalamnya? Ya, maka ia adalah satu pengisytiharan fungsi printf dipanggil. Jadi printf mengimbas kembali fungsi yang memaparkan kata-kata dan huruf dan nombor pada skrin pada bidaan saya. Tetapi saya tidak menulisnya. CS50 tidak menulisnya. Seseorang tahun lalu menulis, dan mereka dasarnya memberikan kita resipi untuk ia dalam fail yang dipanggil stdio.h. Supaya baris pertama hanya memberikan saya akses kepada fungsi-fungsi yang orang lain menulis tahun lalu, di kalangan yang printf. Sekarang, baris seterusnya saya akan melambai saya tangan di, sekurang-kurangnya sehingga minggu depan. Tetapi untuk sekarang, tahu bahawa int utama (tidak sah) adalah dasarnya bersamaan ini sekeping teka-teki kuning apabila bendera hijau diklik. Dunia, tahun lalu, memutuskan bahawa jika anda menulis program dalam bahasa yang dikenali sebagai C, anda mula program anda dengan garis yang kelihatan seperti itu. Dalam masa hanya kira-kira seminggu, ia akan membuat rasa apa int, apa yang tidak sah adalah. Tetapi untuk sekarang, hanya memikirkan ia kerana ini sekeping teka-teki kuning. Sekarang akan datang, kita perlu bersedia kerinting diikuti oleh yang lain bersedia kerinting rapat, jadi untuk bercakap. Dan kita akan melihat ini sepanjang program dalam C, serta JavaScript dan PHP. Dan ini hanya merangkumi garisan yang berkaitan dengan kod. Kerinting bersedia terbuka dasarnya berkata, di sini datang beberapa kod. Dan bersedia kerinting tertutup, yang merupakan bersudut ke arah yang lain, hanya cara, itu sahaja untuk kod yang berkaitan. Jadi garis berair dalam pertama program adalah yang terakhir, printf, quote-unquote, hello dunia. Dan saya dipanggil perkara antara sebut apa masa lepas? Jadi ia adalah rentetan. Dan rentetan hanya techie yang panjang bagi urutan watak-watak, perkataan, frasa. Walaupun satu huruf boleh boleh double dipetik. Tetapi ia adalah satu urutan sifar atau lebih watak-watak. Garis sendeng terbalik-n, walaupun, kelihatan agak pelik. Tetapi ia hanya bermakna sesuatu mudah untuk komputer. Apa backslash-n? Barisan baru. Jadi itu hanya urutan khas watak-watak yang dunia telah memutuskan cara meletakkan satu baris di sana, kerana pengkompil sebenarnya akan mendapat keliru, biasanya, jika anda, sangat difahami, tetapi tidak betul, hanya mula memukul Masukkan meletakkan baris baru dalam kod anda. Anda perlu lebih sedikit jelas dengan garis sendeng terbalik-n. Dan kita akan melihat ada beberapa yang lain seperti corak untuk aksara khas. Sebagai contoh, jika anda mahu untuk membiarkan anda fikiran merayau kepada kes sudut, menganggap bahawa saya mahu untuk mencetak petikan berganda pada skrin untuk apa-apa sebab, yang akan seolah-olah menjadi sedikit bermasalah, bukan? Kerana jika saya meletakkan petikan berganda dalam tengah-tengah "hello, dunia," untuk apa-apa sebab, mengapa yang kelihatan berpotensi bermasalah? Ia pecah tali. Pengkompil hanya program. Satu program seperti pengkompil hanya akan membaca atas kod anda ke bawah, kiri ke kanan. Dan jika melihat tiga petikan berganda bukannya dua, ia tidak akan tahu jika anda bermakna bahawa perkara yang kiri harus tali, atau perkara yang perlu yang betul, atau segala-galanya. Ia adalah samar-samar, dan jadi apa yang biasa pengkompil akan lakukan adalah hanya aneh keluar, dan memberikan anda beberapa mesej ralat, dan membuat anda menangani masalah tersebut. Jadi memandangkan backslash-n bermakna baru line, apa yang akan naluri anda sekarang mula jika anda mahu termasuk sesuatu yang ganjil seperti dua memetik dalam ini sebaliknya dipetik rentetan? Quote garis sendeng terbalik-double. Dan dengan itu kita akan melihat ini jenis corak juga. Jika anda mahu melakukan sesuatu yang sedikit pelik, anda akan mendapati bahawa penyelesaian yang sering mengikuti corak, dan garis sendeng terbalik di menandakan urutan melarikan diri. Dan ia hanya bermaksud sesuatu yang istimewa bahawa kita perlu untuk mewakili dalam cara yang berbeza. Adapun bagaimana anda mewakili backslash, baik, kami akan kembali kepada itu. Tetapi jawapan itu juga, sebenarnya agak jelas. Jadi mari kita kini memperkenalkan beberapa lain membina pengaturcaraan yang anda lihat dalam Scratch. Anda mungkin telah diambil untuk diberikan pun jika anda sudah menyelam ke masalah set 0. Tetapi mari kita kini memperkenalkan sintaks dalam C bagi sebaliknya agak intuitif idea-idea, sekurang-kurangnya sebahagian daripada mereka. Jadi tanggapan ini keadaan atau cawangan, sedangkan sebelum ini kita diwakili dengan kod yang kelihatan seperti ini di sebelah kiri dalam Scratch - jika x adalah kurang daripada y, maka berkata demikian - sebaliknya kini C - biarlah saya mengasah di atas mana-mana yang mudah - kita hanya akan berkata, jika, membuka kurung, sesuatu yang benar - satu Ungkapan Boolean akan pergi di mana saya telah berkata keadaan - kurungan rapat, maka apa yang dalam orang-orang pendakap kerinting. Jadi di sini, juga, pendakap kerinting adalah jenis seperti itu Scratch Kepingan teka-teki berbentuk U. Adakah apa yang di dalam ini pendakap kerinting. Dalam kes ini, mengurangkan mengurangkan. Dan notis ini ke hadapan mengurangkan, tidak backslash a. Italik, italik, bagi mereka yang telah diprogramkan sebelum ini, hanya bermaksud - ia hanya komen. Komen bukanlah garis kod, per se. Ia adalah satu garis Bahasa Inggeris yang anda, manusia, telah menulis kepada diri sendiri untuk mungkin mengingatkan anda untuk melakukan sesuatu, untuk menjelaskan kepada diri sendiri, untuk menerangkan kepada orang lain, apa kod anda lakukan. Ia hanya satu komen deskriptif. Kini, sudah tentu, kita boleh mempunyai cara dua garpu di jalan raya hanya dengan melakukan ini, tiga cara garpu di jalan raya dengan melakukan ini, dan jika anda terus ini corak, anda boleh mempunyai empat cara, lima cara, enam cara garpu di jalan raya jika anda perlu untuk mengendalikan, sesungguhnya, bahawa keadaan banyak. Dan kemudian melihat keselarian di sini - jika (keadaan), lain jika (keadaan), dan hanya satu yang sedikit aneh adalah yang terakhir, yang hanya itu yang lain. Tetapi sekali lagi, ini adalah sama, konsep, dengan apa yang kita lakukan sudah, walaupun sintaks akan mengambil sedikit untuk membiasakan diri. Sekarang, dalam contoh ini, terdapat beberapa sintaks pelik yang lain. Kita melihat printf lagi, kurungan terbuka, dan kurung dekat. Dan di dalam terdapat tali dipetik. Kurungan, dalam konteks daripada printf, pergi di sebelah kiri dan kanan apa? Apa yang kita menggambarkan yang dipetik tali sebagai lebih umum? Jadi ia adalah hujah. Mana-mana masa yang anda perlu fungsi, seperti printf, dan kemudian paren terbuka dan paren rapat dan sesuatu yang di dalam , sama ada ia adalah rentetan, atau integer, atau apa-apa lagi, perkara di antara orang-orang kurungan dipanggil pertengkaran. Dan hujah hanya mempengaruhi tingkah laku fungsi ini. Dalam kes ini, ia cukup jelas bagaimana. x