DAVID J. MALAN: Siz yəqin bilirsiniz ki, temperatur istifadə ölçülür müxtəlif müxtəlif tərəzi dünya hissələri. Məsələn, 212 dərəcə Fahrenheit edir 100 dərəcə Selsi və 32 dərəcə Fahrenheit 0 dərəcə Selsi. Biz bir kompüter idi, əgər gözəl olmazdı bizə icazə proqramı Fahrenheit, demək ki, çevirmək Selsi? Yaxşı, ki, proqram yazmaq olar. Ilk cs50.h daxildir ilə başlamaq edək, biz adlı funksiyası istifadə edə bilərsiniz, belə ki, get int kimi, olur ki, float, almaq istifadəçi sayı, lakin bu dəfə üzən point sayı - bir kəsir ilə. Nin də standart io.h daxil imkan biz çıxış var ki, print f kimi funksiyaları. Və həmçinin əsas bəyan edək adi şəkildə. Növbəti üçün istifadəçi təklif edək Fahrenheit temperatur. İndi qoy həqiqətən ki, temperatur almaq istifadəçi, birinci adlı dəyişən elan növü float f. A float, yenə, bir dəyişən məna ki, , bir üzən point dəyər saklar kəsir ilə bir. Nin qaytarılması təyin edək get float dəyəri. Və sonra arifmetik bir az bunu bildirin bu, ilk bir float elan C Selsi və mağaza çağırıb C bəzi ümumi hesab nəticə. 5.0 9.0 dəfə F minus 32.0 bölünür. Indi nəticəsində çap edək Bu hesablama. faiz f - üçün tutucu signifying üzən point dəyəri - çap vergül C Selsi temperatur. Mənim final xilas edək. C. Run F proqram ilə tərtib C. dot çizgi F ilə Və bu ümumi edək temperatur. Fahrenheit 212 dərəcə 100 dərəcə Selsi. Fahrenheit 32 dərəcə Selsi 0 dərəcə. İndi bu proqram bir az saflaşdırmaq imkan verir olduqca çox 0 nin çap olmayan bit ki decimal yer sonra. Bunu etmək üçün, mən gedirəm geri line 11 getmək. Və daha çox yalnız faiz f daxil, I, demək əvəzinə müəyyən etmək üçün gedirəm Mən yalnız 0.1 f, məlumat print f üzən point dəyər çap etmək istəyirəm decimal yer sonra bir dəyəri. Mənim proqram resave edək. Sonra C. etmək F ilə derleyeceğiz dot çizgi C. F Və ilə təkrar nin 212, demək, yeniden imkan, olan mənə 100.0 verir. İndi mən etdim qeyd dəyər çox qəsdən line 9 bir şey. Mən 5 5.0, 9 yazdı necə edək 9,0 və 32.0 kimi hətta 32 kimi. Bəli, bu dəyərlərin ilk iki idi çox qəsdən olmaq üçün seçilmişdir üzən point dəyərləri deyil, yalnız çünki qalan ardıcıllıq mənim proqram - olan aydın üzən daxildir point dəyərlər - ancaq Əgər, ki, C çıxır, çünki başqa int bir int bölmək Siz almaq olacaq nəticələnən cavab özü bir int, belə ki, əgər vasitələri hər şey tullamaq olan Bu kəsir sonra. Başqa sözlə, bu 5.0 dəyişdirmək əgər 5 və ya sonra bu 9 9.0 və resave mənim proqram, C markası F ilə compile və sonra dot çizgi F ilə yenidən run 212 kimi bir giriş C və növü, fark Mən gedirəm cavab bu dəfə həqiqətən olduqca yanlış almaq. 0.0 doğru dərəcə deyil 212 Fahrenheit kimi Selsi. Yaxşı, nə olub? Yaxşı, line 9, 5, çünki indi bir deyil tam və çünki 9 indi edir tam, nəticə riyazi belə 0,5555 olmalıdır. Amma nəticə olaraq, çünki C-nin qaydaları, bir int var ki, 0,5555, üz atılır olur yalnız 0 bizi tərk. Belə ki, sonunda, mən vurulması başa olduqca təsadüfən 0 dəfə f minus Nə olursa olsun olan 32.0, həmişə mənə 0 vermək niyyətindədir. Belə ki, istifadə edərək, nəzərə hər hansı bir vaxt saxlamaq yoxdur yaxınlığında üzən point dəyərləri ints, siz güc mütləq gözləmək belə cavab almaq. Mən olduğu kimi, belə ki, istifadə etmək üçün qayğı Birinci halda, üzən point dəyərləri ərzində bu cür məsələləri qarşısını almaq üçün.