[Powered by Google Translate] Kazi ni sehemu ya maadili ya kutumika ndani ya mpango kubwa kufanya kazi fulani. Wao pia inajulikana kama taratibu, subroutines, na subprograms, tangu wao kweli ni tu mipango ndani ya mini mipango. Hata ingawa unaweza kuwa niliona, wewe dhahiri zaidi na kutumika kazi tayari kama umefanya iliyowekwa katika C. Wakati kuandika mambo kwa kutumia screen printf, wewe ni kweli kutumia kazi kuitwa printf. Kadhalika, GetInt na GetString ni kazi ambayo CS50 hutoa kwa ajili yenu. Kama programmers, sisi kutumia kazi kwa sababu kadhaa. Kuwa na kazi ya kufanya kazi ya kawaida kama kuandika kwa screen na kusababisha mtumiaji kwa ajili ya pembejeo anaokoa yetu wakati programu. Ni si lazima kuandika code kufanya mambo wale sawa tangu wao uko tayari amefanya kwa ajili yetu. Si hata muhimu kwetu kuelewa hasa jinsi wale utendaji kazi wa ndani. Badala yake, sisi tu kujua jinsi ya kutumia au kuwaita katika mipango yetu. Ni pia kusaidia kuandika kazi katika programu kubwa hata kama wewe si mipango juu ya kuwa na wengine kuzitumia, tu ya kugawanya kazi kubwa katika mkono. Kwa njia hii, kutoa muundo kwa code yako kiasi kama wewe d kutoa muundo kwa insha, na kwa kweli kubwa miradi wewe kuwawezesha watu mbalimbali kufanya kazi katika sehemu mbalimbali kwa wakati mmoja tangu ni wazi ambapo kazi ya mtu mmoja unamalizika na mwingine huanza. Kazi kawaida kazi ya pembejeo 1 au zaidi, inayojulikana kama hoja au vigezo, kubadilisha pembejeo wale katika thamani ya pato kwamba ni kisha akarudi. Hata hivyo, pia inawezekana kuwa na kazi ambazo si kutumia hoja yoyote ya pembejeo na wala kurudi pato. Okay, ya kutosha pamoja na mambo fluffy. Hebu tuangalie baadhi ya majukumu ya kweli katika C. Hapa tuna kazi kuitwa mraba kwamba, amini au siyo, computes mraba ya pembejeo. Hebu mchambue syntax ya hiyo. neno ya kwanza unaweza kuona katika kazi, int, bayana aina ya kurudi kwa kazi, yaani, aina C ya pato kazi ya. Kazi hii pato thamani kwa int aina. neno ijayo unaweza kuona ni jina la kazi, mraba katika kesi hii. Kumtaja kazi ipasavyo ni muhimu hasa tangu pengine nyaraka linaloonekana zaidi ya kile kazi gani. Inaweza kuwa ya baridi hili jina Shazam kazi au booyah, lakini kwamba itakuwa si kutuambia chochote kuhusu nini kazi gani. Kufuatia jina kazi kuja pembejeo ili kufanya kazi, hoja. Wao ni waliotajwa ndani ya seti ya mabano na wote aina yao na kutumia jina kwa ajili yao ndani ya mwili wa kazi. Square inachukua 1 tu hoja, int ya mraba, ambayo nimepata aliamua kumpa jina x. Hii mwisho tamko kazi au mfano. braces curly jirani ya mapumziko ya kazi kuashiria mwanzo na mwisho wa mwili kazi, ufafanuzi wa kazi yenyewe. Square ni kazi pretty rahisi. Ni tu got 1 line, tangu wote sisi kufanya ni kuzidisha x kwa yenyewe. kurudi neno bayana thamani ya pato na kuchochea mwisho wa kazi. Kutumia kazi za mraba, tunahitaji ugavi pembejeo sahihi na kisha kukamata pato. Hapa, unaweza kuona michache ya njia ya kufanya hivyo. Tunaweza kupita katika int ghafi, kama 6, au tunaweza kupita katika variable kama. Kumbuka kwamba kila wakati sisi kuwaita mraba, sisi kukamata pato katika kutofautiana na kisha magazeti hayo. Hata hivyo, hatuna kuhifadhi thamani ya kurudi katika kutofautiana na kisha magazeti. Tunaweza tu kutuma moja kwa moja kwa printf kama sisi kufanya wakati sisi mraba 10, lakini hii haina maana kwamba hatuna upatikanaji wa thamani ya kurudi kwa mraba 10 mahali pengine katika code. Hebu tuangalie mfano mwingine rahisi. Hii wakati, tutaweza sum ikifungwa 2 pamoja ili tuweze kuona nini kazi inaonekana kama wakati ni got pembejeo 2 badala ya 1 tu. Kama unaweza kuona, si tofauti sana. Wote sisi kufanya ni kuongeza katika hoja 2, kuelea aitwaye b, kwa orodha hoja kutumia comma ili kujitenga na hoja ya kwanza, kuelea. Hivyo, mraba yetu na kazi Jumla ni pretty rahisi kuelewa kwa sababu wao ni sawa na kazi ambayo umefanya kuona mbele katika darasa math. Sasa, hebu tuangalie kazi ambayo ni tofauti kidogo. Badala ya kurejea thamani, ni hugeuza serikali. Hii inajulikana kama kuwa na athari upande. Katika mpango huu, printf_fudd_style kazi ina aina ya kurudi kwamba hatujaona kabla, utupu. Tupu ni kutumika kwa kusema kwamba kazi haina kurudi chochote. Hakuna vigezo ya utupu aina, hivyo kama wewe kujaribu kurudi kitu kutoka kazi kama printf_fudd_style, compiler itakuwa yell saa wewe. Ndani ya printf_fudd_style, tunaona kwamba wakati kazi bado anafanya kazi, yaani, byte wote Rupia kwa WS, uhakika wa kazi ni kurekebisha kamba na kisha magazeti nje juu ya screen, kubadilisha hali ya mpango badala ya kurudi matokeo. Kutumia kazi hii ni mengi sana kama vile kutumia mraba yetu na kazi jumla, ila hatuna kuhifadhi matokeo katika variable au kupita ni mbali na kazi nyingine tangu hakuna matokeo kuyataja. Hivyo, wakati sisi kukusanya na kukimbia wetu Elmer Fudd mpango, unaweza kuona kwamba "Wewe rascally sungura!" anapata haki ya kubadilishwa "Wewe wascally wabbit!" Hatimaye, kuna 1 zaidi kazi yenye thamani ya kujadili tangu tumekuwa kutumia katika kila mpango C ve milele imeandikwa, kuu. Kuu ni kazi sana kama mtu mwingine yeyote. Ni got aina kurudi, jina, orodha ya hoja, na mwili. aina ya kurudi kuu ni daima int, na int hii ni kutumika kwa kuwasiliana hadhi ya mpango wakati finishes. Je, ni kukimbia kwa mafanikio, au alifanya hivyo kumaliza mapema kwa sababu ya makosa? Kurudi kwa sifuri inaonyesha kukimbia mafanikio, na kurudi thamani yoyote yasiyo ya sifuri inaonyesha makosa. Kutegemea aina ya mpango wewe ni kuandika, kurudi codes mbalimbali kwa makosa mbalimbali inaweza kusaidia kwa watu ambao wanatumia programu yako ya baadaye. Mains hoja ni ngumu zaidi kidogo. orodha hoja yanaweza ama kuwa tupu, ambayo sisi zinaonyesha kwa kuandika katika utupu kati ya mabano, au orodha inaweza kuwa na hoja 2: int na safu ya Char * s. Hizi ni kutumika wakati mpango wako inatarajia kutumia hoja kupita katika juu ya mstari amri wakati mpango ni kutenguliwa. hoja int ni kawaida kuitwa argc, na ni sawa na urefu wa safu Char *, unaojulikana kama argv. Argv ina hoja mstari amri kupita katika mpango. Katika mwingine mfupi, tutaweza kuzungumzia jinsi ya kutumia vigezo haya kwa undani zaidi. Kwa sasa, unaweza kujisikia huru kutangaza kuu ama njia. Mimi kawaida kuchagua kuandika ni nje ya njia mfupi, na hoja hakuna, wakati iwezekanavyo. Sasa kwa kuwa wewe kujua jinsi ya kuandika kazi, wewe ni vizuri njia yako kwa kuendeleza kubwa, programu ngumu zaidi. Jina langu ni Nate Hardison. Hii ni CS50.