[MUSIC PLAYING] DAVID Malan: Salam, hər kəs. Bu CS50 supersection deyil. Təyin Bölmələr deyil bir həftə başlamaq. Və bu gün, mən buradayam with-- MARIA: Maria. DAVID Malan: həqiqətən --to problem nəzər bir kurs nin müəyyən maddi birinci həftə Siz CS50 IDE ilə yönümlü almaq, bir az Linux, əməliyyat sisteminin IDE çalışan, eləcə də keçid bəzi baxmaq C aparıcı Not problemin bir qurmaq. Belə ki, daha ADO olmadan, problem, bir müəyyən Siz olacaq CS50 IDE, təqdim edən Bu web-based proqramlaşdırma var biz üçün istifadə mühit proqramları yazmaq. Bu, çox baxmaq üçün nəzərdə edilmişdir tipik kompüter xatırladan Əməliyyat çalışan sistemi Linux adlı sistemi. Amma bu qondarma bulud var, olan sinif hər kəs deməkdir həqiqətən ola bilər onun öz hesabına, habelə istifadə və. Belə ki, çox güman ki, istifadə heç vaxt əvvəl və ya bəlkə bir Linux mühit hətta bir command line mühit. Və command line ətraf mühit fərqlidir. Bu, bütün mətn var. Bu, bütün klaviatura əmrləri var. Və heç bir mousing, heç nişanlar var, heç bir dialoq windows, heç menyular. Bu sırf mətn var. Belə ki, ilk, bu cür bir addım kimi hiss geri sophistication baxımından. Amma bir çox olan qədər başa daha güclü, əlbəttə ki, kompüter alim üçün, nəticədə. Belə ki, bir nəzər salaq. Burada, CS50.io am hansı vasitəsilə Siz CS50 IDE daxil ola bilərsiniz. Və daha Not kimi var bu ekran üç əsas sahələri. Belə ki, sol tərəfində, biz nə fayl browser olacaq. Bu qovluq da var İndi boş top, Mən bütün xilas bəri mənim supersection əvvəl faylları. Və biz lazımdır var biz yazmaq C faylları saxlamaq. Sağ üst, biz bir yerdə var Bizim bütün kodu yazılı almaq olacaq. And olsun ki, mən bu plus basın əgər bu Mənə yeni fayl seçin imkan gedir. Və burada mən və ya C kodu yazılı başlaya bilərsiniz, həqiqətən, başqa dillərdə hər hansı bir sayı. Və sonra harada altındakı deyir jharvard @ ide50-- və sizin olacaq bir az bir şey demək different-- bu nə adlanır? Terminal pəncərə. Bəli. Belə ki, terminal pəncərə edir Sözdə command line Siz qarşılıqlı bilər vasitəsilə interfeys əsas əməliyyat sistemi ilə. İndi, biz olacaq şeylərdir çox az istifadə etmək Yalnız baxmaq, tərtib etmək biz görürük səhv messages, və proqramları çalıştırmak üçün. Amma nəticədə, gedirik eləcə də, çox daha çox. Və hətta proqram quraşdıra bilərsiniz və iş idarə CS50 IDE ərzində, eləcə də. Amma ki, bəzi başqa vaxt daha çox. Belə ki, irəli getmək və yazmaq imkan çox sadə proqram yalnız bir isti-up vasitəsilə getmək üçün bəlkə hello.c, biz yaza bilərsiniz sadə proqram. Mən artıq yeni nişanı açmıştınız. Mən irəli getmək üçün gedirəm və standart io.h. daxildir demək Sonra əsas (void) int. Və sonra printf ("Salam, dünya" backslash n, yaxın quote, yaxın parantez, və nöqtəli vergül. Oldu. Belə ki, indi mənim pəncərə untitled bildiriş. Beləliklə, mən çox tez gedirəm Saxla Fayl qədər getmək. Və bu vacibdir Mən "salam". Bu zəng Belə ki, bir çox ümumi səhv, xüsusilə problem bir müəyyən təsadüfən yalnız zəng etmək üçün sizin proqram "su" və ya "görməmiş" və ya "Mario" "kredit" və ya kimi və ya. Amma həqiqətən etmək istəyirəm Siz fayl uzantısı var Bu yeganə yoldur ki, çünki compiler və həmçinin code redaktoru sen bilir ki, həqiqətən C kodu yazmaq. Mənə irəli getmək və Saxla basın bildirin. İndi də nə CS50 IDE Bu da var ki, bizim üçün nə edib syntax hər şeyi vurğuladı. Belə ki, hər şey çox rəngarəng etdi. Və bütün məqsədi ki, funksional deyil. Bu mənim gözləri çəkmək üçün yalnız var konseptual müxtəlif ədəd Bu proqramın. Belə ki, irəli getmək və bu tərtib edək. Mən bu tərtib edə bilərsiniz yolları bir neçə. Və həftə bir, Köhnə məktəb yolu biz etdi Bu sözün idi komanda xətti "cingilti hello.c." Və sonra Enter düyməsini basın. Və heç bir şey görünür terminal pəncərə. Amma IDE dəyişdirmək nə etdi? Harada yenə, IDE yalnız deməkdir Integrated Development Environment. Bu deyərək bir xülya yolu Bu entegre inkişaf proqram inkişaf üçün mühit. Belə ki, UI nə dəyişdi? Nə hiss etmədi ki Maria, müxtəlif var? MARIA: Mən bir şey fərq IDE50 altında burada qovluq. DAVID Malan: Bəli. Belə ki, burada yalnız biz var "hello.c." Biz də olan "a.out" var bir proqram üçün bir lal adı növüdür. Şübhəsiz ki, bu, bir-u mənim adı var yalnız kodu tərtib proqram və compiler demək deyil çıxış üçün nə fayl. Mən bu almaq istəyirsinizsə, mən compiler demək lazımdır daha doğrusu, mən lazımdır iş demək ki, mən adlı proqram run etmək istəyirəm "a.out". Daxil edin. Və salam "var dünya. "indi" ./ ". həqiqətən vacibdir. Hətta normal biz yalnız olsa əmrləri adlarını yazmaq, bu var bir proqram zaman yazılı, siz "./" demək istəyirəm ki, açıq-aydın Linux deyir, çünki Siz adlı proqram run etmək istəyirəm ki, Bu var "a.out", dot Hal-hazırda edirəm bu kataloq deməkdir olmaq olur ki, "a.out, iş çağırıb. Mən yalnız bildirib Çünki əgər "a.out" daxil edin, Mən komanda a.out "deyil almaq üçün gedirəm tapıldı "kompüter üçün, çünki Mən icad çünki "a.out" Bu kompüter üçün gəlmədi burada onu axtarmaq bilmir, hətta doğru olsa mənim burun altında, belə danışmaq. OLDU. Beləliklə, biz bu dəyişə bilər "salam -o cingilti hello.c." ola Mən daxil edin hit varsa, hansı proqram Bu, mənim üçün çıxış edəcək? Fayl adı nədir? Bəli, geri. Düzdür. "Salam." Belə ki, "salam" olacaq Proqramın adı biz istifadə etdik, çünki bir qondarma yalnız command line dəlil, davranışı dəyişən bir yoldur həqiqətən çıxış compiler xüsusi fayl adı. And olsun ki, mən zoom əgər həyata və burada baxmaq, indi yalnız "a.out" var və Eləcə də "hello.c", həm də "salam". Belə ki, indi mən "hello," daxil edə bilərsiniz. Və "Salam, dünya." Var Lastly-- və bu Amma İndi konqres olacaq biz ərzində istifadə semestr, typically-- siz də yalnız demək olar ki, "salam etmək." Şübhəsiz ki, bu qədər var deyərək bu günə qədər artıq var çünki. Mənə davam və aradan qaldırılması edək rm komanda, "a.out" həm - və demək "müntəzəm fayl a.out aradan qaldırılması?" Yalnız o deməkdir ki, siz Siz onu silmək istəyirsiniz? Bəli demək gedirəm. Və sonra mən aradan qaldırılması üçün gedirəm "Salam" deyil, "hello.c." Mən açıq-aşkar "bəli" demək gedirəm lakin "y", eləcə də kifayətdir. İndi əgər bildiriş I , ls-- ki, geri yazın bütün siyahıları list-- deməkdir Mənim qovluq faylları. And olsun ki, mən zoom əgər həyata və sol üst baxmaq, nə var ki təsdiq bu qovluq, hətta Bu qədər burada IDE50 kimi etiketli baxmayaraq və iş, yalnız "hello.c." var Belə ki, indi aşağı burada, mən əgər Enter "salam, Marka" yoxdur, indi çox daha uzun komanda görmək, lakin bir olacaq daha mürəkkəb command gələcək həftə faydalı olmaq. İndi "hello." Deyə bilərsiniz Belə ki, tez tur imkan bəzi digər Linux əmrləri. Sonra niyə biz bir addım deyil geri və həqiqətən, çox C baxmaq ümumiyyətlə, Not keçid C, və sonra bir göz ilə bağlamaq ilk problem C. müəyyən Yaxşı. Beləliklə, mən qabaqda və yalnız təmiz getmək üçün gedirəm Control-L yalnız mənim iş up səliqəli ekran saxlamaq. Lakin heç bir funksional var başqa təsir. Biz gördük Recall İndi bir neçə əmrləri. Belə ki, biz ümumiyyətlə, cingilti gördüm siz Artıq əl icra etmək olmaz. Biz yerinə markası istifadə edəcəyik. Amma biz də bir göstərir ki, ls gördüm Mənim kataloq faylları siyahısı. İndi nə orada iki var edir İndi faylları, "salam" və "hello.c." Nə üçün bir ulduz və ya var "salam" sonra ulduz? Ki əsaslanır, nə demek idi biz həftə bir gördüm nə? Nə fikirləşirsən? Star nə mənaya gəlir? MARIA: "salam" proqramı baxan mýsýn? DAVID Malan: "Hello *". Bəli. Bəli, Oh? Oh, çalıştırılabilir. Düzdür. Belə ki, o deməkdir ki, "Salam" proqram deyil. Şübhəsiz ki, ki, niyə var Mən "hello". Edə bilərsiniz Oldu. Belə ki, nə mən burada nə edə bilər? Bəli, mən çıxır də rehberler yaratmaq. Mənə irəli getmək və yaratmaq imkan, Məsələn, bir "pset1" kataloq. Və problem set dəqiqləşdirilməsi Siz məhz bunu olacaq, belə ki, bu gün xatırlamaq yoxdur. Amma "mkdir pset1" görünür heç bir təsir göstərməyəcəkdir. Ancaq yenə də, heç bir səhv baş beledir ümumiyyətlə yaxşı bir şey deyil. Mən ah, indi artıq "ls" yazın əgər Mən adlı faylı var "Merhaba" C file "hello.c." Adlı Və sonra arxada çizgi, belə danışmaq bu kataloq deməkdir. Şübhəsiz ki, indi mən onu açmaq istəyirəm. Mən kimi basın ikiqat deyil GUI, qrafik mühit. Mən əvəzinə "cd pset1." Demək Daxil edin. Maraqlı bir şey var görünür mənim kiçik tez istisna olmaqla, baş burada bu xatırladan Linux yoludur Mənə burada mən belə nə qovluq açıqdır. Bu, yalnız açıq-aşkar mənə izah edir kimi qrafiki qarşı. Mən yazın əgər və "ls," niyə mən başqa görürsünüz Sizcə, dərhal təklif, Mən pset1 məzmunu siyahısı zaman? MARIA: Siz yəqin ki, yoxdur orada bir şey var. DAVID Malan: Bəli. Beləliklə biz açıq-aydın yoxdur orada heç bir şey yaradılmışdır Mən yalnız kataloq yaratmışdır, çünki. İndi bir faylı yaratmaq istəyirdi Məsələn, mən yeni bir fayl yarada bilər. Və sonra mən getmək bilər Saxlamaq və kimi saxlamaq, kimi, "mario.c" Siz yapýyorsun əgər pset bir standart nəşr. Və sonra, hər hansı bir Mac və ya PC kimi, yalnız Saxla qovluq "pset1 download. İndi fayl boş. Amma ikinci yenidən zoom imkan. Burada ls nə edək. İndi biz "mario.c" bax. Belə ki, bir neçə digər əmrləri var ki, sýrada üzərində mind saxlamaq layiqdir aydın, və ya Control-L I var nə vuruş olmuşdur; mkdir biz gördük; rm biz olan, eləcə də, gördüm aradan qaldırılması və ya bir fayl silmek üçün. Siz baxmaq əgər also-- bilər çəkinin və online tutorials, siz -rf rm lazımdır deyərək bir çox ümumi bir yoldur bu məhsulları bir qovluq silin. Just super ehtiyatlı, super olun. -rf recursively deməkdir bu nə silmək Silmək çalışdığınız və zorla silin. Bir qovluq ilə əgər deməkdir ki recursive bir qovluq bir qovluq bir qovluq, onların hamısını silmək. Və zorla hətta nə deməkdir bəli mənə sual və ya yox, mən əminəm? Belə ki, bir super təhlükəli yoldur tez stuff çox silmə. Amma beware-- çox tez-tez bir qorxmaz yoxdur tələbə təsadüfən, demək, pset silmək məsələn bir. MARIA: onlar əgər yalnız -r, onlar olacaq hər bir fayl haqqında onlara. DAVID Malan: var orta annoying. MARIA: Bəli. DAVID Malan: Belə ki, niyə var bizə çox, self daxil -rf istifadə vərdiş edirəm. Amma bu təhlükəli deyil. Belə ki, alıcı çəkinin. Və sonra mv cür deyil maraqlı adına. Belə ki, bu hərəkət əmr edir, olan qəribə bir az hiss edir həqiqətən üçün istifadə edə bilərsiniz, çünki bir yerdən faylları hərəkət. Məsələn, mən messed ki, güman edirlər. Mən yaratdığı güman pset üçün yeni bir fayl. Və mən onu xilas "greedy.c." Lakin təsadüfən mən güman saxlamaq IDE50-- mənim iş özü belə və pset1 da. Siz sol üst qədər görə bilərsiniz. "Greedy.c." Var Və bir neçə həllər var. Belə ki, bir mən istifadə edə bilərsiniz super istifadəçi dostu yol yalnız sürükleyerek və bırakarak. Və həqiqətən ki Bu problemi həll. Ancaq bu gün biz baxmaq çalışdığınız daha gizli, lakin güclü yolları bu edirik. Mənə pset1 ildə "ls" götürək. Mən yalnız "mario.c." Görmək Mənə davam və edək "cd ..". Belə ki, CD yenidən dəyişiklik kataloq edir. ".." Olsa da, nə deməkdir? Sonuncu dəfə dedim "cd pset1 "pset1 getmək. Mən "cd .." deyəndə, mən nə edirəm? Geri. Bəli. Belə ki, qondarma valideyn olacaq. Kimi, bir səviyyədə getmək Bir qovluq həyata mövcud. Belə ki, daxil edin. Şübhəsiz ki, bu, nə baxmaq. Bu əvəzinə yalnız iş məni köçürülüb bir iş olan pset1 daxil. İndi "LS" yazın əgər, məhsullarının bütün dəstə var. Ildə "greedy.c" var. Belə ki, indi mənə sanki MV istifadə edək pset1 daxil "greedy.c" hərəkət. Və belə Linux bir çox əmrləri məhz bu kimi işləmək. Onlar heç bir dəlilləri və ya onlar bir almaq dəlil və ya iki command line almaq arqumentlər və s. Və bu halda, bu sanki bunu nə Bu succinctly-- olsa deyir pset1 daxil greedy.c hərəkət. Daxil edin. Heç bir şey baş görünür. Mən bir ls əgər Lakin, görməmiş getdi. Mən "cd pset1" nə, onda daxil edin və ls yenidən, indi doğru yerdə var. Bir kənara, əgər kimi bəzi xüsusilə reason-- Siz aralıq varsa şəbəkə bağlantısı və ya ətrafında gəzinti etdiyiniz Sizin laptop qapaq ilə kampus qapalı və sonra onu açmaq yenidən və iş qədər sync, heç bir böyük həyata görünür. Sadəcə brauzer yeniden pəncərə və olmalıdır resync ki, sol fayl browser dəqiq görünür terminal pəncərə kimi. Narahat deyil. Zaman şübhə, belə ki, səhifə yeniden uzun Əgər siz artıq faylları xilas etdik kimi. OLDU. Belə ki, mv həmçinin faylları adını dəyişmək üçün istifadə edilə bilər. Və bir nəzər salaq Burada bu final komanda. Belə ki, suppose-- və bu super ümumi, çox, erkən. Bəzi tələbələr bəzən bir fayl yaratmaq adlı nin başqa bir nə deyək? "WATER.C." Like Beləliklə, mən yalnız sizin üçün, fəğan lazımdır bütün caps heç bir səbəb. Amma bu deyil fayl üçün doğru adı Bizim problem müəyyən yalnız, çünki dəqiqləşdirilməsi sizə demək deyildi bütün caps kimi fayl saxlamaq üçün "WATER.C." Əksinə, biz gözləyirik Kiçik "water.c". Və əslində, bu problemli çünki check50, Siz olacaq bir proqram problem cavab avtomatik sınayar bir set Sizin kodu düzgün sizə fəğan gedir əgər bilməz bütün kiçik "water.c" tapa bilərsiniz. Beləliklə, mən bu düzeltmek lazımdır. Belə ki, bir çox müxtəlif yolları olan ilk bunu nəzarət-basın və ya sağ-klik olardı Fayl adı yalnız Rename dəyişdirmək və. Bunu tamamilə gözəl. Ancaq yenə də, bu gün edək bir az meraklısı yoxdur. Nin dəyişdirmək üçün MV istifadə edək Üçün "WATER.C" "water.c". Belə ki, ilk dəlil istifadə edə bilərsiniz İkinci arqument üçün adını dəyişmək üçün İkinci arqument deyil, əgər Əslində bir qovluq və ya bir kataloq adı. Oldu. Və nəhayət, bir az trick-- mən deyiləm an mənim iş directory. Mən pset bir nəzərə almaq istəyirsinizsə, Mən, əlbəttə, "cd pset1." Edəbilərsiniz Amma bu "pset1" yazın belə yorucu və ya fayl adları və ya qovluq adları artıq hələ. Belə ki, çox tez-tez Linux, nə Siz "PSE" yazaraq başlayın edə bilərsiniz və yalnız cansıxıcı almaq Tab edib və imkan Sizin üçün kompüter rəqəm onu. Ki, vərdiş halına almaq üçün Super faydalı. siz yalnız tutmaq başlayan birdən çox fayl və ya qovluq Məktubda "p" və ya "Ps," siz ola bilər əvvəl bir neçə yazın Kompüter nə bilir. MARIA: Biz qısa istəyirəm. DAVID Malan: Bu iradə sizə çox vaxt saxlaya bilərsiniz. Və həmçinin, biz, mühazirə dediyi kimi yuxarı və aşağı, tarixi qədər hərəkət edə bilər, Bu yaxınlarda icra tapmaq üçün əmrləri, həmçinin. Oldu. Belə ki, indi bizim diqqət geri çevirmək bildirin sadə proqram, hello dünya. Beləliklə, biz məhz bu tərtib etdik. İndi niyə biz etmirlər data növləri bir göz və sonra bəzi keçid C. Scratch blokları uyğun MARIA: Awesome. Belə ki, indi açılmış etdik ki, C proqramları yazılı, biz söhbət başlamaq olacaq məlumat növləri və dəyişənlər haqqında. Belə ki, bəzi data növləri ki, indi başlayır bilmək istəyirəm olan olanlardır mavi qeyd. Beləliklə, biz, ilk int var olan tam dayanır. Və sizin kimi, integers keçirir ola bilər guessed-- belə 1, 2, 3, və hər hansı digər integers Siz hesab edə bilər. DAVID Malan: Və həmçinin mənfi. MARIA: Həmçinin mənfi olanları, yep. 0. Sonra biz üzüb gedirdi, olan point nömrələri üzən olunur. Belə ki, bütün real nömrələri var ki decimal xal var. Belə ki, 5.0, 5.2, və daha çox Bu kəsir sonra rəqəm, eləcə də, həmçinin mənfi olanları. Sonra bir xarakter olan char var. Belə ki, biz danışdıq düşünmək Bu mühazirə gün. Amma biz bir misal üçün, məktublar var Bir char kimi saxlanıla bilər B, C-. Amma sonra biz daha çox simvol var ki, bir char kimi saxlanıla bilər. Və o ASCII kimi saxlanılır. Və sonra biz bool var, olan Booleans var. Və bu True qiymətləndirmək və ya Yalan və ya müvafiq olaraq 1 və 0. DAVID Malan: Və geri ki, bool CS50 kitabxana gəlir. Belə ki, daxil deyil C, ancaq super faydalı doğru və yalan anlayışı var. Və hətta baxmayaraq fun faktı Sizcə bilər. A bool texniki neçə bit lazımdır, Həqiqətən, False qarşı True təmsil? Neçə bit düşünürsünüz Siz maksimum, lazımdır? Bəli, yalnız bir. Belə ki, C çıxır yalnız bir az verə bilməz. ölçü ən kiçik vahidi əldə edə bilərsiniz səkkiz edir. Belə ki, onlar etdiyiniz bir az israfçı var bütün byte, və ya səkkiz bit istifadə, doğru və ya yalan təmsil etmək. Lakin bu yalnız yolu CS50 kitabxana C həyata keçirilir. MARIA: biz istəyirik Və sonra isə kimi geniş haqqında danışmaq niyyətində deyil sağ ikiqat, indi, ki böyük üzüb gedirdi üçün. Uzun uzun və qısa integers üçün də var. DAVID Malan: Həqiqətən. Pset biri hacker nəşr, Biz, həqiqətən, uzun uzun istifadə edin. Lakin standart nəşr üçün, zəruri olmamalıdır. MARIA: Cool. OLDU. Belə ki, olmalıdır operators-- Bunlardan ən yəqin ilə tanış. Bundan əlavə, +; toplama işlemi, -. Vurma, biz * var. Belə ki, X biz adətən istifadə. Division, biz backslash var. Və modulo son operator ki, biz indi haqqında danışmaq gedir. Bu bizə imkan verir ki, operator var bölgüsü qalan almaq. 4% varsa, 2, 4 bölünür So 2 0 bir qalan 2. Belə ki, 2 iştirakçı 4% 0. 4% 3 1. Siz guessed ola bilər kimi 4% 5, 4. Və bütün bunlar istifadə edərkən xatırlayıram operatorları PEMDAS qaydaları istifadə etmək. DAVID Malan: Belə ki, aydın olmaq əgər 4% 2 yoxdur, niyə məhz ki, 0? MARIA: 4 Çünki bölünür 2 0 bir qalan 2. Belə ki, modulo bizə kimi qalan verir bölgüsü nəticəsində qarşı çıxdı. DAVID Malan: Şübhəsiz ki, bu faydalı tapa bilərsiniz nə bəzi problemləri ki, ki, mütləq bir deyil Siz etmək istəyirsinizsə Özünüzü məhdudlaşdıran təsiri ədəd bir sıra bir şey vasitəsilə 0 kimi, Əgər ətrafında kesmek üçün modulo istifadə edə bilərsiniz əvvəllər 2 milyard kimi çox və ya 4 milyard dəyərinin biz mühazirə haqqında söhbət etdik. MARIA: Bəli. Və hətta biz bilər "görməmiş" da. DAVID Malan: Bəli, problem, eləcə də bir müəyyən. MARIA: Bəli, gözəl. DAVID Malan: Yaxşı ipucu. MARIA: Sorry. Boolean belə expressions-- Boolean operatorları üçün, biz bütün danışmaq gedir Bu ki, burada baxın. Belə ki, indi biz iki bərabər əlamətləri bərabərdir verilmişdir. Belə ki, o Müqayisə üçün. Bu günə qədər yalnız gördüm bir işarə bərabərdir. Biz təyin zaman ki dəyişən dəyəri. Beləliklə, biz sonra int n = 5 gördüm əgər biz dəyişən n 5 təyin etdik. Amma biz == istifadə etmək istəyirsinizsə, müqayisə, biz əgər n == 5 kontrol edə bilərsiniz. Və n == 5, onda ki, doğrudur. Belə ki, Boolean operatorları əsasən, bizə imkan, Boolean qiymətləndirmək doğru və ya yalan üçün ifadələr. Belə ki, biz bərabərdir deyil nida işarəsi və bərabər. Belə ki, biz də n yoxlamaq bilər bərabər deyil 5 node belə n! = 5. Daha az və ya bərabər daha az, böyük və ya bərabər daha böyük, sonra biz məntiqi var AND və məntiqi ya. Və bu bizə qiymətləndirməyə imkan verir birlikdə çox Boolean ifadələr əsasən birlikdə gəlib bir bütün Boolean ifadə. Biz bir sıra tapmaq istəyirsinizsə Belə ki, demək ki, daha 5 lakin az 15 Eyni zamanda, biz istifadə edəcək n olub olmadığını görmek üçün məntiqi və operator daha 5 && az 15 n. DAVID Malan: Və burada, da, bu, həqiqətən asandır erkən səhvən Yalnız bir işareti istifadə və ya bir şaquli bar. Və inşallah compiler olacaq fəğan, siz həqiqətən çünki onlar bir çox müxtəlif mənası var. O maraqlı üçün, onlar bitwise əməliyyatları üçün istifadə, fərdi bit fəaliyyət. Amma burada onların cüt istəyirəm. Və super vacibdir ki, Birincisi, bərabər işarəsi, bərabərlik operator kimi olan tapşırıq operator qarşı çıxdı. MARIA: Və şaquli bar var Sil və qayıt arasında yerləşir. DAVID Malan: Bəli. Tipik ABŞ klaviatura. MARIA: Yep. Belə ki, sağ jump imkan şərti hesabatları. Not, siz var artıq görünür, yəqin ki, əgər sizə imkan verir hesabatları Bir şey doğru, onda yoxlamaq başqa bir şey. Belə ki, istəyirdi bilər Sizin sprite olub olmadığını kontrol etmək bəzi digər sprite toxunan və ya ekranın sərhəd. Və sonra istədi ola bilər oyun başa və ya başqa bir şey yoxdur. Ki, sintaksis belə "Əgər (vəziyyəti)" dir. Belə ki, əgər sizin sprite şey toxunan, sonra qıvrım aşırma daxilində deyil yoxdur. Sonra biz əgər-başqa hesabatları var. Else bizə bir şey etmək üçün imkan verir vəziyyəti ki, əgər biz əvvəlində kontrol doğru deyil. Sprite toxunan əgər Belə ki, sərhəd başqa Bunu başqa bir şey. Belə ki, başqa başqa bir şey. Sonra biz bu qısa misal var. Belə ki, əgər (military_time <12), biz printf istəyirəm "Yaxşı səhər!" Başqa biz olacaq printf "Yaxşı axşam!" Əsas nümunəsidir. DAVID Malan: Yaxşı. MARIA: Cool. Belə ki, indi biz keçid hesabatları var. Ümumi can bəyanatlar keçid Bizə eyni şey bir çox imkan verir biz yalnız söhbət ki, hesabatları, əgər haqqında. Məsələn, indi biz keçid bəyanat ümumi forması bizə etmək üçün imkan verir adlı dəyişən n və bir çox müqayisə müxtəlif dəyərlər, burada biz constant1, constant2 çağırıb. Biz daha çox ola bilər. Və o hallarda deyilir. Biz bir keçid varsa, belə ki, statement-- və bu işlər yalnız bir var integers-- üçün n ki, bu halda dəyişən. Dəyişən n olarsa , biz constant1 bərabər kodu bəzi parçasını icra edəcək və ya biz etmək istəyirəm ki, bir şey. Və sonra biz qırmaq olardı. Belə ki, fasilə o deməkdir ki, switch bəyanat əgər icra dayandırmaq n, constant1 bərabərdir və sonra proqram davam edəcək. Bu xaricinə çıxış edəcək şərh keçid və lazımdır başqa bir şey etməyə davam edir. Lakin, n bərabər deyil, əgər constant2 üçün constant1, onda işi yoxlanılacaq. Belə n, digər constant2 bərabərdir əgər kod parçasını icra olunacaq. Və sonra qırmaq lazımdır ki, bərabər olduqda. Və sonra biz also-- deyil ola bilər mütləq bir default halda olsa da n bərabər deyil, əgər ki, baş verəcək Əgər sadalanan hallarda hər hansı bir. Və default halda, biz də mütləq bir fasilə ehtiyac yoxdur switch bəyanat biləcəklər, çünki Bu default sonra son lazımdır ki, hal bu halda əgər. DAVID Malan: Amma stylistically, biz həmişə orada qoyun. MARIA: Bəli. DAVID Malan: Bəli. Belə ki, xüsusilə, həyata başlayan zaman xüsusilə də arasında az əgər rahat, mən şəxsən ki yalnız IFS ilə qalmaq görürük və ifs-Elsəs əgər-başqa-if-Elsəs və s yalnız onlar bir az istəyirik, çünki daha sadə. Bu gözəl optimallaşdırma, və ya bəzən hətta estetik onu code daha oxunaqlı edir. Və əslində, yəqin ki, Mid-semestr biz bir problem görəcəksiniz yalnız daha yaxşı görünür harada müəyyən və asan insanlar üçün oxumaq bir keçid bəyanat istifadə edərək. Amma narahat olmayın çox erkən bu yapışaraq. MARIA: Bəli. Siz hesabatları, əgər bir çox varsa, yalnız çox oxunaqlı ola bilər. Bu, çox sürətli ola bilər Siz onun vasitəsilə getmək üçün. Belə ki, hesabatları bilərsiniz keçid çox faydalı, həm də ola bilər. Və həmçinin, Xatırlamaq deyil yoxdur orada fasilələri qoymaq unutmayın. DAVID Malan: bu xatırlayıram etməyin. MARIA sonra düşmək bilər, çünki vasitəsilə bir halda. Belə ki, bu halda constant1 deyək bu bir break şərh yoxdur. Sonra biz vasitəsilə düşmək bilər daxili işi constant2. Və biz əgər bunu etmək istəmirəm biz artıq işi constant1 əldə etdik və n bərabər var. Belə ki, məsələn, biz bir dəyişən varsa bir sinif sayı ehtiva edir n, və biz nə görmək istəyirik n 50 bərabərdir əgər sinif, is-- biz CS50 deyil "çap olacaq Computer Science I. giriş " Sonra biz qırmaq olacaq. Və bu. Lakin, n bərabərdir 51, gedirik CS51 Giriş deyil "çap Computer Science II. " Sonra yenə biz qırmaq olacaq. Lakin, onda biz qoymaq 124, 61, hər hansı bir Siz hesab edə bilər ki, digər sayı, və ya proqram niyyətində deyil ki, tanımaq üçün. Belə ki, Bağışlayın, mən deyiləm ", demək olacaq ki, sinif ilə tanış deyil. " Və bu qırmaq olacaq. DAVID Malan: Beləliklə, siz həqiqətən bilərsiniz The əgər başqa burada başqa bir fikir, əgər. Bu, yalnız müxtəlif sintaksis var eyni fikir ifadə. MARIA: Məhz. İndi bizim ternary operatorları var. Belə ki, ternary operatorları var üç şərt parts-- əgər bir şey ki, vəziyyəti, doğrudur və sonra bir şey etmək ki vəziyyəti yalan. Belə ki, əsasən, görmək burada sintaksis. Biz sual işarəsi var, və sonra the-- biz bu zəng edirsiniz? DAVID Malan: colon. MARIA: Colon. Təşəkkür edirəm. Sorry. Belə ki, bizim nümunə baxaq Biz bu mənada edə bilər, əgər görmək class_num == 50. Belə ki, burada biz == bizim Boolean operator görmək ki, dəyişən class_num müqayisə 50. Belə ki, class_num mağazalar bir tamsayı. Və tam əgər sonra biz istəyirik, 50 bərabərdir saxlamaq üçün gedir "David Malan" string professor daxilində. Class sayı deyil, əgər "Biz David Malan", 50 bərabər professor olacaq. DAVID Malan: Təşəkkür edirəm. Və bu bərabərdir görünür Siz ilk baxışdan, nə demək olar? MARIA: Mənə görünür kimi, əgər-başqa hesabatları. DAVID Malan: Bəli. Və əslində, bu cür olduqca bir liner, belə həyata keçirilməsi üçün, danışmaq tam məntiqi əgər-başqa lakin bir addım hər şeyi. MARIA: Məhz. Bəli. Belə ki, əgər-başqa hesabatları bilər kosmik bir çox almaq. Onlar üçün çox uzun ola bilər Bu kimi sadə bir şey. Belə ki, bu çox ola bilər yığcam və çox gözəl. Belə ki, indi biz baxaraq daxil olacaq təkrar bir şey həyata, belə bir yoxlanılması neçə dəfə vəziyyətdə və sonra bir şey davam ki, şərt doğru edir. Belə ki, bu bizə gətirir gözəl isə loops daxil. Sol, biz ilk isə loop. Bir şey doğru isə Belə ki, təkrar bir şey yoxdur. Belə ki, qeyd etmək əmin olun bizim şərt burada üst təsdiq edilir. Dediyimiz ikinci loop, halbuki bir do-isə biz bir şey loop ki, sonra biz bir şərt üçün kontrol edin. Və şərti əgər doğru olmağa davam edir, Biz geri getmək və yenidən şey. Belə ki, əsas fərq olduğu vəziyyəti yoxlanılır. Və kodu ola bilməz şərt deyil edam müddət loop ilə doğru. Do-isə, halbuki loop, biz kod ki, həmişə ən azı bir dəfə həyata keçirilir. Və sonra vəziyyəti isə doğru olmağa davam edir, Biz geri getmək və yenə təkrarlamaq olar. Beləliklə, nə siz istifadə düşünürsünüz bir müddət loop üzərində loop do-isə? Right. Biz təklif etmək istəyirsinizsə, belə ki, daxil bir növ üçün istifadəçi, biz onlara istəyirsinizsə öz adını daxil etmək üçün, biz ən azı bir dəfə onlara soruşmaq istəyirəm. Onlar daxil edə bilərəm, əgər ki, adı, biz deyilik onları yenidən soruşacağam biz artıq bilirik çünki. Lakin onlar daxil yoxsa onların adı, və ya onlar əgər ki, bir şey daxil açıq-aydın bir adı, biz hələ davam etdirmək istəyirik Onların adı onlara xahiş. DAVID Malan: Və mühazirə biz bir idi almaq müsbət int bu kimi heç bir şey yoxdur, məsələn, Siz hətta çünki ilk deyil bir int kazanılmış. Belə ki, Biz bu etmək istəyirəm user-- bir int almaq sonra bəlkə, onu yoxlamaq, təkrar və yenidən. MARIA: Məhz. Loops-- OK. Loops imkan bilər us demək olar ki, nə etmək eyni şey, eləcə də. Bu, faktiki olaraq eyni şey. Belə ki, heç bir şey yoxdur ki, Siz loops üçün ilə edə bilərsiniz Siz edə bilməz ki, isə loops ilə. Amma loops üçün bir az görünə bilər az daha syntactically mürəkkəb Onlar çünki üç hissədən daxilində nə yalnız əvvəl idi isə loops ilə vəziyyəti. Belə ki, ilk hissəsi dəniz, sol ən olduq "int dwarves = 0" Belə ki, bu harada biz bizim dəyişən başlamaq. Sonra bir nöqtəli vergül var və "dwarves 7. <" Belə ki, bu harada var vəziyyəti əslində. Belə ki, biz var nə edir müddət yalnız qoymaq loop "Dwarves 7.