Skelbimas

Mokymasis programuoti yra kaupiama patirtis. Be mokymosi pasirinktos kalbos sintaksės, taip pat turite išmokti bendruosius principus, kuriuos naudoja visos programavimo kalbos.

C programavimo supratimas ir mokymasis gali būti bauginantis, tačiau yra keletas pagrindinių idėjų, su kuriomis verta susipažinti pradedant. Paprastas projektas yra puikus būdas išmokti C.

Taigi nuo ko turėtumėte pradėti? Pasisveikinant!

1. Labas pasauli!

Pirmoji beveik kiekvieno kodavimo kurso dalis yra Labas pasauli programa. Išsamiai apžvelgus, išryškėja kai kurie būdai, kaip C skiriasi nuo kitų kalbų. Norėdami pradėti, atidarykite a teksto redaktorius arba IDE Teksto redaktoriai vs. IDE: kuris iš jų yra geresnis programuotojams?Gali būti sunku pasirinkti pažangią IDE ir paprastesnę teksto rengyklę. Siūlome tam tikrą įžvalgą, kuri padės jums priimti šį sprendimą. Skaityti daugiau savo pasirinkimą ir įveskite šį kodą:

#įtraukti /* tai Hello World scenarijus C */ int main (tuščia) { printf("Sveikas, pasauli! \n"); grąžinti 0; }
instagram viewer

Ši trumpa kodo dalis išspausdinama konsolėje prieš baigiant programą. Išsaugokite jį kur nors, ką būtų lengva prisiminti labas.c. Dabar reikia kompiliuoti ir sukurti failą.

Paleisti

Paprastai, norint paleisti C scenarijus, kompiuteryje nereikės įdiegti jokios papildomos programinės įrangos. Atidarykite terminalo langą (arba komandų eilutę, jei naudojate „Windows“) ir eikite į katalogą, kuriame išsaugojote scenarijų.

Failo kompiliavimo ir paleidimo būdas įvairiose sistemose skiriasi:

  • „Windows“ naudotojai: Padarykite failą vykdomąjį įvesdami cl labas.c ir paspausdami enter. Tame pačiame aplanke bus sukurta hello.exe, kurią galėsite paleisti įvesdami Sveiki.
  • „Linux“ ir „MacOS“ naudotojai: Tipas gcc -o labas labas.c ir paspauskite enter, kad jis būtų vykdomas, ir paleiskite jį įvesdami ./Sveiki.

Nepriklausomai nuo to, kurį metodą naudojate, scenarijus turėtų parodyti tai:

Išvestis, kurioje rodomi sveiko pasaulio rezultatai! eskizas C

Jei jis neveikia sistemoje „Windows“, būtinai paleiskite komandų eilutė administratoriaus režimu. Jei naudojate „MacOS“, gali reikėti įdiegti „Xcode“ iš „App Store“ ir atlikite šiuos veiksmus iš StackOverflow.

Dabar pažvelkime į programą eilutę, kad pamatytume, kaip ji veikia, ir patobulinkime ją!

Po gaubtu: C kalbos supratimas

Pirminiai perdirbėjai

Ką tik sukurtas scenarijus prasideda įtraukiant biblioteką.

#įtraukti 

Pirmoji scenarijaus eilutė vadinama a pirminis procesorius. Tai atliekama prieš sudarant likusią scenarijaus dalį. Tokiu atveju jis nurodo scenarijui naudoti stdio.h biblioteka. Yra daugybė išankstinių procesorių, skirtų įvairioms užduotims atlikti.

Stdio.h rūpinasi, kad programos vartotojas gautų įvestį ir grąžintų jiems informaciją.

/* tai Hello World scenarijus C */

Ši kita eilutė yra komentaras. Pasvirasis brūkšnys ir žvaigždutė nurodo kompiliatoriui nekreipti dėmesio į viską, kas yra tarp jo ir uždaromos žvaigždės bei pasvirojo brūkšnio. Nors tai gali atrodyti beprasmiška, gebėjimas palikti sau ir kitiems aiškias pastabas apie tai, ką daro jūsų kodas, yra būtinas įprotis.

Pagrindinė funkcija

int main (tuščia)

Kiekviena C programa turi turėti a pagrindinis funkcija. Pagrindinis yra funkcija, kuri grąžina sveikąjį skaičių, žymimą tarpt. Skliausteliuose po pagrindinio yra pateikti argumentai, nors šiuo atveju jo nereikia, todėl naudojate tuštuma raktažodį.

Kodą, kurį reikia atlikti, rašote tarp dviejų garbanotų skliaustų.

{ printf("Sveikas, pasauli! \n"); grąžinti 0; }

Funkcijos viduje iškviečiate printf () funkcija. Tiesiog kaip pagrindinis (), printf yra funkcija. Skirtumas yra tas, kad printf yra funkcija stdio biblioteka, kurią įtraukėte pradžioje.

Printf spausdina viską, kas yra skliausteliuose, tarp kabučių, į konsolę. The \n yra pabėgimo seka, vadinama nauja eilute, kuri nurodo kompiliatoriui pereiti prie kitos konsolės eilutės prieš tęsiant.

Atminkite, kad šios eilutės baigiasi kabliataškiai, kurią kompiliatorius naudoja, kad atskirtų vieną užduotį nuo kitos. Atkreipkite dėmesį į šiuos kabliataškius – jų praleidimas yra pagrindinė priežastis, kodėl viskas nesiseka!

Galiausiai funkcija grįžta su skaičiumi 0 ir baigia programą. The pagrindinis () funkcija visada turi grąžinti sveikąjį skaičių ir grąža = 0; praneša kompiuteriui, kad procesas buvo sėkmingas.

Kiekvieno šio scenarijaus žingsnio supratimas yra puiki pradžia mokantis C sintaksės ir kalbos veikimo.

2. Savo C funkcijų kūrimas

Galite sukurti savo pasirinktines funkcijas C. Užuot spausdinę Hello World pagrindinėje funkcijoje, sukurkite naują funkciją, kuri tai atliktų už jus.

tuščias print_for_me() { printf("Sveikas, pasauli! \n"); }

Išskaidykime tai.

tuštuma yra raktinis žodis, reiškiantis, kad ši funkcija nieko negrąžins.

print_for_me() yra funkcijos pavadinimas, o tušti skliaustai rodo, kad jai nereikia argumentų. Argumentas yra bet kokia informacija, kurią reikia perduoti funkcijai, kad ji veiktų – vėliau pridėsite savo argumentą, kad pakeistumėte išvestį! Pastaba: Tai nėra tas pats, kas main() funkcija, virš kurios buvo naudojama void. Ši funkcija negali priimti argumentų, o ši gali (bet šiuo atveju neprivalo).

Kodo blokas turėtų būti jums pažįstamas – tai tik spausdinimo teiginys iš pradinės pagrindinės funkcijos.

Dabar galite iškviesti šią funkciją iš pagrindinės funkcijos.

int main (tuščia) { print_for_me(); print_for_me(); grąžinti 0; }

Čia galite pamatyti savo funkcijos naudojimo pranašumus. Užuot spausdinęs printf("Sveikas, pasauli! \n) kiekvieną kartą funkciją galite iškviesti du kartus.

Šiuo metu tai gali neatrodyti taip svarbu, bet jei funkcijoje print_for_me yra daug kodo eilučių, taip lengvai ją iškvietus sutaupysite laiko!

Sveiki pasaulis, išveda du kartus per kelių funkcijų skambučius

Tai yra pagrindinė programavimo idėja, su kuria susidursite mokymosi metu. Vieną kartą parašykite savo funkciją, o ne nuolat rašykite tuos pačius didelius kodo gabalus.

3. Funkcijų prototipų naudojimas C

Prototipai yra vienas iš pagrindinių būdų, kaip pradedantysis C skiriasi nuo kitų kalbų. Trumpai tariant, prototipas yra tarsi vėliau apibrėžtos funkcijos peržiūra. Jei rašote funkciją print_for_me() po pagrindinės funkcijos, kompiliuodami galite gauti įspėjimą:

Sudėtinis vaizdas, kuriame rodomas kodas be prototipo ir įspėjimas, kurį pateikia c kompiliatorius

Įspėjamajame pranešime nurodoma, kad kompiliatorius paleido funkciją print_for_me prieš ją paskelbdamas, todėl negalėjo būti tikras, kad ji veiks tinkamai, kai programa paleista.

Kodas vis tiek veiktų, tačiau naudojant prototipą įspėjimo galima visiškai išvengti.

#įtraukti galiojantis print_for_me(); int main (tuščia) { print_for_me(); print_for_me(); grąžinti 0; } galiojantis print_for_me() { printf("Sveikas, pasauli! \n"); }

Žvelgdami į visą programą galite pamatyti, kad print_for_me() prototipas egzistuoja programos pradžioje, bet jame nieko nėra. Prototipo funkcija parodo kompiliatoriui, kaip funkcija turi atrodyti ir ar jai reikia argumentų, ar ne.

Tai reiškia, kad kai iškviečiate jį pagrindinėje funkcijoje, kompiliatorius žino, ar jis iškviečiamas teisingai, ir gali pateikti įspėjimą arba klaidą, jei to reikia. Dabar tai gali atrodyti keista, tačiau žinojimas apie juos dabar padės ateityje.

Sveiki pasaulis, išveda du kartus per kelių funkcijų skambučius

Ši programa vis dar veikia be prototipo, tačiau jas naudoti yra gera praktika. Išvestis kol kas atrodo tokia pati, leiskite ją pakeisti, kad būtų asmeniškesnė!

4. Argumentų perdavimas C funkcijoms

Scenarijaus keitimas

Šiame paskutiniame veiksme paprašysite vartotojo vardo ir įrašysite jo įvestį. Tada naudosite jį anksčiau sukurtoje funkcijoje. C kalboje žodžiai nėra žinomi kaip eilutės, kaip kitose programavimo kalbose.

Vietoj to, jie yra pavienių simbolių masyvas. Masyvo simbolis yra [] ir raktinis žodis yra char. Pradėkite atnaujindami prototipo funkciją scenarijaus pradžioje:

#įtraukti  void print_for_me (char name[]); 

Dabar kompiliatorius žinos, kad funkcija vėliau scenarijuje užima simbolių masyvą, vadinamą vardas. Kol kas šis veikėjas neegzistuoja. Atnaujinkite savo pagrindinę funkciją, kad ją sukurtumėte, ir naudokite ją, kad išsaugotumėte vartotojo įvestį:

int main (tuščia) { simbolio pavadinimas[20]; printf ("Įveskite vardą:"); scanf("%s", pavadinimas); print_for_me (vardas); print_for_me("Visi!"); grąžinti 0; }

Pirmoji pagrindinė eilutė sukuria simbolių masyvą su 20 galimų tarpų, vadinamų pavadinimu. Tada vartotojas raginamas įvesti savo vardą naudojant printf. Kitoje eilutėje naudojama nauja funkcija, vadinama scanf kuris užima kitą žodį, kurį įveda vartotojas.

The „%s“ nurodo funkcijai, kad ji turi saugoti duomenis kaip eilutę, ir ją iškviečia vardas.

Funkcijų modifikavimas

Dabar, kai skambinate print_for_me, galite įtraukti vardas skliausteliuose. Kitoje eilutėje pamatysite, kad taip pat galite perduoti kitus simbolius, jei jie yra tarp kabučių. Abu kartus tai, kas yra skliausteliuose, perduodama funkcijai print_for_me.

Pakeiskite tai dabar, kad naudotumėte naują informaciją, kurią jai pateikiate:

void print_for_me (char name[]) { printf ("Sveiki, "); įdeda (vardas); }

Čia galite pamatyti, kad skliaustai buvo atnaujinti kaip ir prototipas scenarijaus pradžioje. Viduje vis tiek spausdinate „hello“ naudodami „printf“. Čia yra nauja funkcija deda. Tai pažangesnė printf versija.

Viskas, kas nurodyta skliausteliuose, bus atspausdinta konsolėje ir nauja eilutė ( \n naudojote anksčiau) pridedamas automatiškai.

Išsaugokite ir sukompiliuokite kodą taip pat, kaip darėte anksčiau – atkreipkite dėmesį, kad galite pavadinti programą kitaip, jei nenorite perrašyti ankstesnės programos. Aš pavadinau savo labas2:

Baigta programa C

Kaip matote, programa paima įvestį ir naudoja ją funkcijoje prieš išsiųsdama iš anksto nustatytą sveikinimą „Visi! vėl suteikiant du atskirus išėjimus tai pačiai funkcijai.

C programavimo ABC

Ši programa paprasta, tačiau kai kurios joje pateiktos sąvokos – ne. Pažangesnis C kodas turi būti parašytas labai gerai, kad būtų išvengta gedimų. Štai kodėl daugelis mano, kad tai yra puiki kalba, kurią reikia išmokti pirmiausia nes tai įskiepija gerus įpročius naujiems programuotojams.

Kiti mano, kad mokytis C++ yra geresnė idėja, nes ji remiasi C, išlaikant žemesnę sistemos valdymą. (Taip pat reikia atsižvelgti į rūdis – tai yra įdomi programavimo kalba kuris sintaksiškai panašus į C++.)

Vienas dalykas yra tikras: tokiomis kalbomis kaip Python yra daug draugiškesni pradedantiesiems. Senai kalbai C vis dar vartojamas visur, bet Python gali būti ateities kalba 6 priežastys, kodėl Python yra ateities programavimo kalbaNorite išmokti ar praplėsti savo programavimo įgūdžius? Štai kodėl Python yra geriausia programavimo kalba, kurią šiais metais galima išmokti. Skaityti daugiau !

Ianas Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ir nelipa ant scenos, jis imasi „pasidaryk pats“ elektronikos ar kodų, tikėdamasis tapti pamišusiu mokslininku.