[MUSIC PLAYING] HOPARLÖR: Bütün hüququ. Belə ki, başqa haqqında danışmaq edək C cür unikal bir şey, olan data növləri və dəyişənlər var. Mən demək unikal C, Mən, həqiqətən, yalnız kontekstində demək, Bir proqramçı olduğunuz halda həqiqətən uzun müddət, Siz yəqin ki, var məlumat növləri ilə işləyib Müasir istifadə etdiyiniz halda proqramlaşdırma dilləri. Kimi müasir languages PHP və JavaScript, biz də bir az görmək lazımdır ki, Sonra əlbəttə, Siz, həqiqətən, müəyyən yoxdur dəyişən data type Siz onu istifadə zaman. Siz yalnız elan və istifadə başlayın. Bu tam varsa, onu Bu tam bilirik. Bu bir xarakter varsa, bu bu bir xarakter bilir. Bir söz varsa, bilir Bu sözdə bir simli var. Lakin C, olan bir older dil, biz lazım məlumat müəyyən etmək üçün hər dəyişən növü biz ilk dəfə yaratmaq ki, dəyişən istifadə. Belə ki, C bəzi gəlir daxili data növləri. Və tanış edək o bəzi. Və sonra sonra biz də danışmaq lazımdır məlumat növləri bəzi az Biz sizin üçün yazdıq ki, belə ki, CS50 istifadə edə bilərsiniz. ilk int edir. int data type dəyişənlər üçün istifadə olunur ki, tam dəyərlər saxlamaq olacaq. Belə ki, 1, 2, 3, mənfi 1, 2, 3, və s. Bir şey deyil Integers, viktorina üçün yadda saxlamaq lazımdır, həmişə dörd bytes qədər yaddaş olan 32 bit edir. Bir byte səkkiz bit var. Belə ki, bu sıra o deməkdir ki, bir tam bilərsiniz ki qiymətləndirir çərçivəsində uyğun bilər nə ilə məhdudlaşır Məlumat dəyərində 32 bit. İndi çıxır kimi, Bu çoxdan qərar verildi biz parçalamaq ki, 32 bit ki, sıra mənfi integers daxil və müsbət integers, sıra hər əldə yarısı. Təmsil dəyərlər sıra belə mənfi 2 tam sıra 2 31 hakimiyyətə etmək 31 güc mənfi 1, siz də 0 üçün bir ləkə lazımdır səbəb olur. Mümkün dəyərlər Belə ki, əsasən yarım Əgər mənfi bir int uyğun və yarım müsbət. Və təxminən burada, bu mənfi haqqında 2 milyard müsbət 2 milyard haqqında. Vermək və ya bir neçə yüz milyon almaq. Belə ki, siz uyğun nə tam dəyişən. İndi biz də bir şey var imzasız tam çağırıb. İndi imzasız ints bir var dəyişən ayrı-ayrı növü. Əksinə, imzasız edir nə seçmələrində deyirlər. Bu data modifikasiya qədər tam növü. Və bu halda, nə imzasız means-- və siz də edə bilərsiniz imzasız digər məlumatlar növləri istifadə, tam yalnız bir deyil. Nə səmərəli yoxdur ikiqat edir dəyərlərin müsbət sıra tam da bilər ki, artıq imkan xərc mənfi dəyərlərə etmək. Bildiyiniz nömrələri varsa daha yüksək 2 milyard lakin az olacaq 4 milyard daha misal üçün olan 32 üçün 2 power-- Siz istifadə edə bilərsiniz Əgər imzasız int Sizin dəyər mənfi heç vaxt bilirik. Siz bəzən lazımdır imzasız dəyişənlər üçün istifadə Mən burada qeyd niyə CS50, olan. Amma dəyərlərin yenidən sıra ki, bir imzasız tam ilə təmsil edə bilər müntəzəm tam t kimi, 0 var 32-ci hakimiyyətə mənfi 1 2, və ya təxminən 0 4 milyard. Belə ki, səmərəli iki dəfə etdik Siz uyğun müsbət üçündür, lakin bütün imtina etdik mənfi dəyərləri. İndi bir kənara, imzasız kimi yalnız seçmə deyil biz görə bilərsiniz ki, dəyişən data növləri. Adlı şeylər də var qısa və uzun və const. Const bir az görürsünüz az sonra kurs. Qısa və uzun, biz yəqin ki, olmayacaq. Amma ki, yalnız var bilirik digər seçmələri var. İmzasız yalnız bir deyil. Amma biz istəyirik yalnız biri İndi haqqında danışmaq olacaq. Belə ki, bütün hüququ. Beləliklə, biz integers əhatə etdik. Nə gələn var? Chars. Belə ki, chars dəyişənlər üçün istifadə olunur ki, bir simvol saxlamaq olacaq. Char xarakter üçün qısa. Və bəzən eşitmək bilər insanlar avtomobil kimi tələffüz. Simvol həmişə bir qədər almaq, belə ki, yalnız 8 bit yaddaş byte. Belə ki, bu yalnız uyğun o deməkdir ki, Mənfi 2 aralığında dəyərlər yeddinci güc, və ya mənfi 128, 2 7 hakimiyyəti 1 və ya 127 minus üçün. ASCII sayəsində, o çoxdan bir yol qərar həmin müsbət nömrələri xəritəsi Müxtəlif simvol 0 127 bütün klaviatura mövcud. Biz sonra görəcəksiniz kimi, belə ki, Əlbəttə ki, və yəqin ki, lazımdır bəzi alarkən gəlib point, kapital A, misal üçün karakter paytaxtı A-- sayı 65 xəritələri. Və səbəbi ki, çünki bu nə var ASCII standart tərəfindən təyin edilmişdir. Kiçik A 97 edir. siz üçün xarakter 0 həqiqətən, xarakter deyil yazın sayı sıfır təmsil edən 48. Siz bir neçə öyrənmək lazımdır bu siz getmək kimi. Və əlbəttə ki, ehtiyac gəlmək lazımdır onlara bir az sonra CS50. növbəti əsas data type point nömrələri üzən olunur. Belə ki, üzən point nömrələri də real nömrələri kimi tanınır. Onlar əsasən ədəd olduğunu onlara bir decimal point var. Üzən point dəyərləri integers kimi də Yaddaş 4 bayt içində. İndi burada heç bir chart var. Heç bir nömrə line çünki var bir float sıra izah tam aydın və ya intuitiv deyil. Siz onu demək kifayətdir ilə işləmək üçün 32 bit var. Və bir sıra varsa var kimi pi, tam part 3 və üzən point hissəsi, və ya decimal hissəsi 0,14159, və s, siz olmaq lazımdır pseudocode bütün təmsil edə tam hissəsi decimal hissəsidir. Beləliklə, nə siz ki, demək bilər? Bir şey ki ondalık əgər hissəsi, uzun və daha uzun olur Mən çox böyük varsa tam hissəsi, mən bilər kimi dəqiq ola bilər bu hissəsi ilə. Və həqiqətən bir float məhdudlaşdırılması. Floats dəqiq problem var. Biz yalnız 32 bit var ilə işləmək, belə ki, biz yalnız bilərsiniz Bizim decimal hissəsi ilə belə dəqiq olmalıdır. Biz mütləq decimal ola bilməz 100 və ya 200 rəqəm dəqiq hissəsi, biz yalnız, çünki 32 bit ilə işləmək üçün. Belə ki, bir float bir məhdudiyyət var. İndi xoşbəxtlikdən var adlı bir veri növü ikiqat olan qədər bu problem ilə məşğul olur. Çiftler, üzüb gedirdi kimi də istifadə olunur real nömrələri, və ya üzən point saxlamaq dəyərləri. fərq edir double double dəqiq var. Onlar 64 bit uyğun data, və ya səkkiz bytes. Bunun mənası nədir? Bəli, biz ola bilər deməkdir daha çox bu kəsir dəqiq. Bunun əvəzinə yeddi pi olan bir float ilə bəlkə yerləri, biz bəlkə 30 yerlərinə ola bilər. Ki, vacibdir, siz istədiyiniz bilər əvəzinə float ikiqat istifadə etmək. Ümumiyyətlə, siz değilseniz bir şey olduğu üzərində işləyir həqiqətən uzun decimal yerə sahib və dəqiq bir çox vacibdir Siz yəqin ki, istəyirəm ikiqat overfloat istifadə edin. İndi sizin iş üçün ən CS50, bir float kifayət olmalıdır. Amma iki dəfə kimi mövcud olduğunu bilirik qədər dəqiqliyi ilə məşğul yol 32 əlavə verərək problem bit nömrələri ilə işləmək üçün. İndi bu veri növü deyil. Bu bir növüdür. Və etibarsız deyirlər. Və mən bu barədə söhbət alıram Burada biz yəqin ki, var, çünki Artıq bir neçə dəfə CS50 Göründüyü. Və merak bilər nə bütün haqqında. Belə ki, etibarsız bir növüdür. Bu mövcuddur. Amma bir veri növü deyil. Biz tipli dəyişən yarada bilməz ləğv, bir dəyər təyin. Amma funksiyaları, məsələn, bir etibarsız qaytarılması növü ola bilər. Ümumiyyətlə, siz bir funksiyası görmək əgər ki, etibarsız qaytarılması növü var, bu bir dəyər qayıtmaq deyil deməkdir. Siz ümumi hesab edə bilər Biz bu günə qədər istifadə etdiyiniz funksiyası CS50 bir dəyər qayıtmaq deyil ki? Printf biridir. Printf həqiqətən deyil sizə bir şey qayıtmaq. Bu bir şey yazdıran ekran, və əsasən printf nə bir yan təsiri. Amma bu, bir dəyər geri vermir. Siz nəticə və mağaza tutmaq deyil Bəzi dəyişən sonra onu istifadə etmək. Bu, sadəcə bir şey yazdıran ekran və siz tamamlayın. Beləliklə, biz printf ki, demək bir boşluq funksiyası var. Bu heç bir şey qaytarır. bir perimetri siyahısı funksiyası da etibarsız ola bilər. Və siz də gördüm çox CS50 bir qədər. Int əsas void. Bir zəng çalmaq ki, yoxdur? Əsasən nə deməkdir ki, Əsas hər hansı parametrləri daşımır. Heç bir dəlil yoxdur ki, Əsas keçdi almaq. İndi sonra biz olduğunu görəcəksiniz bir yol, əsas daxil dəlilləri keçmək lakin bu günə qədər biz nə int əsas etibarsız görülür. Main yalnız hər hansı bir dəlilləri daşımır. Və belə ki, biz etibarsız söyləyərək daxil. Biz yalnız çox olan edirik bu barədə açıq hər hansı arqumentlər deyil ki. Indi üçün Belə ki, kifayətdir əsasən ki, etibarsız demək Yalnız bir tutucu kimi xidmət etməlidir Sizin üçün bir şey kimi haqqında düşünür kimi. Bu, həqiqətən bir şey bunu deyil. Burada heç bir qaytarılması dəyəri var. Burada heç bir parametrləri var. Bu boşluq var. Bu bir az daha kompleks var. Amma bu kifayət olmalıdır Kursun yaxşı hissəsi. Və inşallah indi bir az var etibarsız nə bir anlayış daha çox bit. O belə beş növ will var inşa olunur C. qarşılaşma Amma CS50 biz də bir kitabxana var. Siz daxil ola bilər CS50.h. Və təmin edəcək iki əlavə növləri ilə Siz yəqin ki, edə bilərsiniz ki, Sizin tapşırıqları istifadə etmək, və ya yalnız adətən iş proqramlaşdırma. Bunlardan birincisi bool edir. Belə ki, Boolean data növü, bool, dəyişənlər üçün istifadə olunur ki, bir Boolean dəyər saxlamaq olacaq. Əgər eşitdim varsa bu müddət əvvəl, siz boolean ki, bilirik bilər dəyəri yalnız qadirdir iki fərqli fərqli dəyərlər keçirilməsi. True və yalan. İndi bu olduqca görünür fundamental, sağ? Bu ki, bir sürpriz növü var Bu daxili kimi C mövcud deyil. Və bir çox müasir dildə, əlbəttə, Booleans Standart default data növü var. Lakin C, onlar həqiqətən deyilik. Amma biz sizin üçün yaratdıq. Əgər yaratmaq lazımdır Belə ki kimin növü bool bir dəyişən, yalnız CS50.h # daxil əmin olun proqram əvvəlində, və yaratmaq edə bilərsiniz bool tipli dəyişənlər. Siz CS50.h # daxil etmək unutmaq və əgər Siz Boolean tipli dəyişənlər istifadə edərək başlamaq Siz bəzi problemlər qarşılaşa bilər zaman sizin proqram tərtib edirik. Belə ki, yalnız üçün gözetleme olmaq. Və bəlkə siz yalnız düzeltebilirsiniz cs50.h. daxil olmaqla, funt problemləri digər böyük data type ki, biz CS50 kitabxana sizin üçün təmin simli edir. Belə bir string nədir? Strings, həqiqətən, yalnız sözlər var. Onlar simvol kolleksiyaları istəyirik. Onlar sözləri istəyirik. Onlar cümlələri istəyirik. Onlar ci maddələrdə istəyirik. Hətta, bütün kitab ola bilər. Çox uzun üçün çox qısa simvol seriyası. Siz strings istifadə etmək lazımdır, Məsələn, bir söz saxlamaq üçün, yalnız CS50.h daxil olun proqram əvvəlində belə ki, simli növü istifadə edə bilərsiniz. Və sonra dəyişənlər yaratmaq bilər kimin data type simli edir. İndi sonra əlbəttə, biz də ki, görürsünüz ya deyil, bütün hekayə. Biz hər şeyi qarşılaşa bilərsiniz adlı strukturları, ola bilər nə qrup sizə imkan verir ki, bir tam və vahid bir string. Və biz istifadə edə bilərsiniz bir məqsəd, güc kurs sonra lazımlı olur. Və biz də öyrənmək lazımdır müəyyən növləri haqqında, siz yaratmaq imkan verir Öz data növləri. Biz narahat ehtiyac yoxdur indi bu barədə. Amma ki, yalnız var bilirik ki, üfüqdə bir şey, bu bütün daha çox var ki, Mən yalnız sizə deyirəm çox növü şey indi. Belə ki, indi biz bir öyrəndim ki, əsas məlumatların az növləri və CS50 data növləri, edək dəyişənlərin ilə işləmək üçün necə haqqında danışmaq və bu istifadə edərək, onları yaratmaq Bizim proqramlarında data növləri. Bir dəyişən yaratmaq istəyirsinizsə, Siz nə etmək lazımdır bütün iki şeyi edir. Birincisi, siz bir növü vermək lazımdır. Sizə lazım olan ikinci şey etmək üçün bir ad verir. Ki, görülən və yumruq atdı sonra bir ki, xəttin sonunda nöqtəli vergül, Bir dəyişən yaratdıq. Belə ki, burada iki misal var. Int nömrəsi; char məktub ;. Mən burada nə var? Mən iki dəyişənlərin yaratdıq. dəyişən nin ilk adı nömrəsini. Və sayı tam keçirilməsi qadirdir onun növü int çünki dəyərlər yazın. Letter başqa dəyişən ki, simvol aça bilər onun data növü char çünki. Pretty sadə, sağ? Siz özünüzü tapmaq varsa bir vəziyyət birdən çox yaratmaq lazımdır Eyni tipli dəyişənlər, Yalnız müəyyən etmək lazımdır bir növü adı. Sonra bir çox dəyişənlər siyahısı ki növü sizə lazım kimi. Beləliklə, mən, məsələn, burada bilər kodu bu üçüncü xətt, int hündürlük ;, yeni deyirlər. Int eni ;. Və çox iş olardı. Mən hələ iki dəyişənlərin adlı almaq istədiyiniz hündürlüyü və eni, hər hansı tam deyil. Amma, C sintaksis şeyi icazə alıram bir xətt onu gücləndirmək. Int hündürlüyü, eni; Bu eyni şey. Mən adlı iki dəyişənlərin bir yaratdıq width adlı boyu bir hər ikisi holdinqin bilən tam növü dəyərlər. Eynilə burada, mən üç yarada bir dəfə point dəyərləri üzən. Mən bəlkə bir dəyişən yarada 2-- kvadrat kök adlı olan ehtimalla nəhayət olacaq üzən point keçirilməsi Meydanın ki nümayəndəliyi 2-- kvadrat 3 kök, və pi kök. Mən bu həyata bilər var üç ayrı-ayrı xətləri. Float, kvadrat kök 2; Kvadrat kök Float 3; pi float; və çox iş olardı. Ancaq yenə də, mən yalnız birləşdirmək olar kodun bir xətt bu. Şeyi bir az edir qısa, kimi clunky deyil. İndi ümumiyyətlə, yalnız yaxşı dizayn Siz lazım bir dəyişən elan. Və biz bir az danışmaq lazımdır bu barədə az daha sonra kurs zaman çərçivəsində müzakirə. Belə ki, mütləq lazım deyil Sizin dəyişənlərin bütün yaratmaq Proqramın başında olan Bəzi insanlar, keçmiş görmüşük bilər və ya, əlbəttə, bir çox ortaq oldu kodlaşdırma təcrübə bir çox il əvvəl C. ilə iş zaman Siz yalnız bilər bir dəyişən hüququ yaratmaq istəyirik Siz lazım. Oldu. Beləliklə, biz dəyişənlərin yaratdıq. Necə ki, biz onlardan istifadə edə bilərəm? Biz bəyan sonra dəyişən, biz lazım deyil data növü müəyyən etmək üçün ki, dəyişən artıq. Bunu əgər Əslində, siz bilər bəzi qəribə nəticələri ilə son biz növ indi ötürməyə lazımdır ki. Amma demək kifayətdir, qəribə şeylər gedir sehven əgər baş başlamaq üçün Eyni adı ilə dəyişənlərin-elan yenidən üzərində. Belə ki, burada Mən kodu dörd xətləri var. Mən bir neçə var yalnız ifadə var şərhlər Nə baş Hər line yalnız kömək etmək Siz neler yerləşən almaq. Belə ki, int sayı ;. Siz əvvəl gördüm. Ki, bir dəyişən elan var. İndi bir dəyişən yaratdıq adlı sayı tam tipli dəyərlər keçirilməsi qadir. Mən bunu elan etdik. Mən təyin alıram növbəti line nömrəsinə dəyəri. Number 17 bərabərdir. Orada nə baş verir? Mən sayı 17 qoyulması alıram ki, dəyişən daxilində. Mən heç sonra çap əgər Belə ki, nə sıra məzmunu sonra var, onlar 17 mənə deyim. Mən bir dəyişən elan etdik, və sonra mən onu təyin etdik. Biz prosesi təkrar edə bilərsiniz daha char hərfi ilə ;. Ki, bir bəyannamə var. Letter paytaxtı bərabərdir H. Bu bir tapşırıq var. Pretty sadə, çox. İndi bu proses bilər cür silly görünür. Niyə biz bunu edirik kodu iki xətləri? Bunu daha yaxşı bir yolu var mı? Əslində, var. Bəzən görə bilərsiniz Bu başlatma çağırıb. Bir dəyişən elan zaman var və eyni zamanda bir dəyər təyin. Bu, həqiqətən, olduqca deyil ümumi şey. Bir dəyişən, siz adətən yaratmaq zaman Bəzi əsas dəyər olsun. Hətta 0 və ya bir şey varsa. Siz yalnız bir dəyər verir. Siz dəyişən başlamaq bilər. 17 bərabərdir sayı int kimi eyni yuxarıda kodu ilk iki xətləri. Char məktub h kimi eyni bərabərdir Yuxarıda kodu üçüncü və dördüncü xətləri. Burada ən əhəmiyyətli paket biz elan və təyin etdiyiniz zaman biz sonra dəyişənlərin var onu elan bildiriş Mən yenə data növü istifadə edərək deyiləm. Mən int sayı 17 bərabərdir demirəm Məsələn, ikinci xətt kodu. Mən yalnız sayı 17 bərabərdir deyirəm. Yenə bir dəyişən sonra yenidən elan Əgər siz artıq bu çıxara bilər bəyan etdik bəzi qəribə nəticəsi üçün. Belə ki, yalnız ki, ehtiyatlı olun. Mən Doug Lloyd edirəm. Bu CS50 edir.