Oglas

Učenje programiranja je kumulativna izkušnja. Poleg učenja sintakse izbranega jezika se morate naučiti tudi splošnih načel, ki jih uporabljajo vsi programski jeziki.

Razumevanje in učenje programiranja C je lahko zastrašujoče, vendar obstaja nekaj osnovnih idej, s katerimi se je vredno seznaniti, ko začnete. Preprost projekt je odličen način za učenje osnov C.

Torej, kje bi morali začeti? S pozdravom!

1. Pozdravljen, svet!

Prvi del skoraj vsakega tečaja kodiranja je Pozdravljen, svet program. Če ga podrobno pregledamo, poudarimo nekatere načine, kako se C razlikuje od drugih jezikov. Za začetek odprite a urejevalnik besedil ali IDE Urejevalniki besedil vs. IDE: Kateri je boljši za programerje?Izbira med naprednim IDE in enostavnejšim urejevalnikom besedil je lahko težka. Ponujamo vam nekaj vpogledov, ki vam bodo pomagali pri tej odločitvi. Preberi več po vaši izbiri in vnesite to kodo:

#vključi /* to je skript Hello World v C */ int main (void) { printf("Pozdravljeni, svet! \n"); vrni 0; }

Ta kratek del kode se natisne na konzolo, preden konča program. Shranite ga nekam, kot si ga je enostavno zapomniti zdravo.c. Zdaj morate prevesti in zgraditi svojo datoteko.

Making It Run

Običajno vam za izvajanje skriptov C v računalnik ne bo treba namestiti dodatne programske opreme. Odprite terminalsko okno (ali ukazni poziv, če uporabljate Windows) in se pomaknite do imenika, v katerem ste shranili svoj skript.

Način prevajanja in izvajanja datoteke se razlikuje od sistema do sistema:

  • Uporabniki sistema Windows: Datoteko naredite izvedljivo tako, da vnesete cl hello.c in pritisnite enter. To bo ustvarilo hello.exe v isti mapi, ki jo lahko zaženete tako, da vnesete zdravo.
  • Uporabniki Linuxa in macOS: Vrsta gcc -o zdravo hello.c in pritisnite enter, da ga naredite izvršljivega, in ga zaženite tako, da vnesete ./zdravo.

Ne glede na metodo, ki jo uporabite, vam mora zagon skripta pokazati to:

Izhod, ki prikazuje rezultate Hello World! skica v C

Če v sistemu Windows ni deloval, se prepričajte, da ste zagnali ukazni poziv v skrbniškem načinu. Za macOS boste morda morali namestiti Xcode iz App Store in sledite tem korakom iz StackOverflow.

Zdaj pa poglejmo program po vrsticah, da vidimo, kako deluje, in ga izboljšamo!

Pod pokrovom: Razumevanje jezika C

Predprocesorji

Skript, ki ste ga pravkar ustvarili, se začne z vključitvijo knjižnice.

#vključi 

Prva vrstica v skripti se imenuje a predprocesor. To se izvede, preden se prevede preostali del skripta. V tem primeru pove skriptu, naj uporabi stdio.h knjižnica. Za različne naloge je na voljo ogromno predprocesorjev.

Stdio.h skrbi za pridobivanje vnosa od uporabnika programa in pošiljanje informacij njim nazaj.

/* to je skript Hello World v C */

Ta naslednja vrstica je komentar. Poševnica in zvezda povesta prevajalniku, naj prezre vse med njo in končno zvezdico in poševnico. Čeprav se to morda zdi nesmiselno, je bistvena navada, da lahko sebi in drugim pustite jasne zapiske o tem, kaj počne vaša koda.

Glavna funkcija

int main (void)

Vsak program C mora imeti a glavni funkcijo. Main je funkcija, ki vrne celo število, označeno z int. Oklepaji za glavnim so za njegove argumente, čeprav v tem primeru ne potrebujejo nobenega, zato uporabite nična ključna beseda.

Kodo, ki bo izvedena, napišete med dvema zavitimi oklepaji.

{ printf("Pozdravljeni, svet! \n"); vrni 0; }

Znotraj funkcije pokličete printf() funkcijo. Tako kot glavni (), printf je funkcija. Razlika je v tem, da je printf funkcija v stdio knjižnico, ki ste jo vključili na začetku.

Printf na konzolo natisne vse, kar je v oklepajih, med narekovaji. The \n je ubežno zaporedje, imenovano nova vrstica, ki prevajalniku pove, naj preskoči na naslednjo vrstico v konzoli, preden nadaljuje.

Upoštevajte, da se te vrstice končajo z podpičja, ki ga prevajalnik uporablja za ločitev ene naloge od druge. Bodite pozorni na te podpičje – zamuda je glavni vzrok, da stvari ne gredo prav!

Končno se funkcija vrne s številko 0 in konča program. The glavni () funkcija mora vedno vrniti celo število in vrnitev = 0; signalizira računalniku, da je bil postopek uspešen.

Razumevanje vsakega koraka tega skripta je odličen začetek pri učenju sintakse C in delovanja jezika.

2. Ustvarjanje lastnih funkcij C

V C-ju lahko ustvarite lastne funkcije po meri. Namesto da natisnete Hello World v glavni funkciji, ustvarite novo funkcijo, ki bo to naredila namesto vas.

void print_for_me() { printf("Pozdravljeni, svet! \n"); }

Razčlenimo to.

nična je ključna beseda, kar pomeni, da naslednja funkcija ne bo vrnila ničesar.

natisni_za_me() je ime funkcije, prazni oklepaji pa kažejo, da za delovanje ne potrebuje argumentov. Argument je vsak podatek, ki ga je treba posredovati funkciji, da bo delovala – pozneje boste dodali svoj argument, da boste spremenili izhod! Opomba: To ni isto kot funkcija main(), nad katero je bila uporabljena void. Ta funkcija ne more sprejemati argumentov, medtem ko ta lahko (vendar v tem primeru ni treba).

Blok kode bi vam moral biti znan – to je samo izjava za tiskanje iz izvirne glavne funkcije.

Zdaj lahko to funkcijo pokličete iz vaše glavne funkcije.

int main (void) {print_za_me(); natisni_za_me(); vrni 0; }

Tukaj lahko vidite prednosti uporabe lastne funkcije. Namesto tipkanja printf(»Pozdravljeni, svet! \n") vsakič lahko funkcijo pokličete dvakrat.

Trenutno se to morda ne zdi tako pomembno, toda če je vaša funkcija print_for_me vsebovala veliko vrstic kode, je to, da jo lahko tako enostavno prikličete, odličen prihranek časa!

Pozdravljeni svet, dvakratni izpis prek klicev več funkcij

To je temeljna ideja programiranja, s katero se boste srečali skozi celotno izobraževanje. Enkrat napišite svojo funkcijo, namesto da znova in znova pišete iste velike kose kode.

3. Uporaba prototipov funkcij v C

Prototipi so eden od glavnih načinov, kako se začetni C razlikuje od drugih jezikov. Skratka, prototip je podoben predogled funkcije, definirane pozneje. Če napišete funkcijo print_for_me() za glavno funkcijo, boste pri prevajanju morda prejeli opozorilo:

Sestavljena slika, ki prikazuje kodo brez prototipa in opozorilo, ki ga daje prevajalnik c

Opozorilno sporočilo vam sporoča, da je prevajalnik naletel na funkcijo print_for_me, preden je bila razglašena, zato ni mogel biti prepričan, da bo pravilno deloval, ko se program zažene.

Koda bi še vedno delovala, vendar se je opozorilu mogoče v celoti izogniti z uporabo prototipa.

#vključi void print_za_me(); int main (void) {print_za_me(); natisni_za_me(); vrni 0; } void print_for_me() { printf("Pozdravljeni, svet! \n"); }

Če pogledate celoten program, lahko vidite, da prototip za print_for_me() obstaja na začetku programa, vendar ne vsebuje ničesar. Funkcija prototip prikazuje prevajalniku, kako naj bi funkcija izgledala in ali zahteva argumente ali ne.

To pomeni, da ko jo pokličete v glavni funkciji, prevajalnik ve, ali je bila poklicana pravilno, in lahko prikaže opozorilo ali napako, če je potrebno. To je morda nekaj, kar se zdaj zdi nenavadno, toda vedenje o njih zdaj bo pomagalo v prihodnosti.

Pozdravljeni svet, dvakratni izpis prek klicev več funkcij

Ta program še vedno deluje brez prototipa, vendar je dobra praksa za uporabo. Izhod je za zdaj še vedno enak, spremenimo ga, da bo bolj oseben!

4. Prenos argumentov v funkcije C

Spreminjanje skripte

Za ta zadnji korak boste zahtevali ime uporabnika in zabeležili njihov vnos. Nato ga boste uporabili v funkciji, ki ste jo že ustvarili. V C besede niso znane kot nizi kot v drugih programskih jezikih.

Namesto tega so niz posameznih znakov. Simbol za matriko je [] in ključna beseda je char. Začnite s posodabljanjem funkcije prototipa na začetku skripta:

#vključi  void print_for_me (ime znakov []); 

Zdaj bo prevajalnik vedel, da funkcija pozneje v skriptu sprejme niz klicanih znakov ime. Zaenkrat ta lik ne obstaja. Posodobite svojo glavno funkcijo, da jo ustvarite, in jo uporabite za shranjevanje uporabniškega vnosa:

int main (void) { char ime[20]; printf("Vnesite ime: "); scanf("%s", ime); print_for_me (ime); print_for_me("Vsi!"); vrni 0; }

Prva vrstica v glavni vrstici ustvari niz znakov z 20 možnimi presledki, imenovanimi ime. Nato je uporabnik pozvan, da vnese svoje ime s pomočjo printf. Naslednja vrstica uporablja novo funkcijo, imenovano scanf ki vzame naslednjo besedo, ki jo uporabnik vnese.

The “%s” pove funkciji, da naj shrani podatke kot niz, in jo pokliče ime.

Spreminjanje funkcije

Zdaj, ko pokličete print_for_me, lahko vključite ime v oklepajih. V naslednji vrstici boste videli, da lahko podajate tudi druge znake, dokler so med narekovaji. Obakrat se tisto, kar je v oklepajih, prenese funkciji print_for_me.

Spremenite to zdaj, da boste uporabili nove podatke, ki mu jih dajete:

void print_for_me (ime znaka[]) { printf("Pozdravljeni, "); postavlja (ime); }

Tukaj lahko vidite, da so bili oklepaji posodobljeni tako kot prototip na začetku skripta. V notranjosti še vedno natisnete hello z uporabo printf. Tu je nova funkcija postavlja. To je naprednejša različica printf.

Vse, kar je v oklepajih, bo natisnjeno na konzoli, nova vrstica ( \n ki ste jo uporabili prej) se samodejno doda.

Shranite in prevedite svojo kodo na enak način kot prej – upoštevajte, da lahko program poimenujete drugače, če ne želite prepisati starejšega programa. Jaz sem svojega poimenoval zdravo 2:

Končan program v C

Kot bi morali videti, program prevzame vnos in ga uporabi v funkciji, preden pošlje prednastavljeni pozdrav »Vsi!« ponovno daje dva ločena izhoda isti funkciji.

ABC programiranja v C

Ta program je preprost, vendar nekateri koncepti v njem niso. Naprednejšo kodo C je treba napisati zelo dobro, da preprečimo zrušitve. Zato mnogi mislijo, da je odličen jezik za učenje saj novim programerjem vliva dobre navade.

Drugi menijo, da je učenje C++ boljša ideja, saj gradi na C, hkrati pa ohranja nižji nadzor nad sistemom. (Upoštevati je treba tudi Rust - to je razburljiv programski jezik ki je sintaktično podoben C++.)

Eno je gotovo: jezike, kot je Python so veliko bolj prijazni do začetnikov. Za stari jezik se C še vedno uporablja povsod, vendar Python je morda jezik prihodnosti 6 razlogov, zakaj je Python programski jezik prihodnostiSe želite naučiti ali razširiti svoje znanje programiranja? Tukaj je razlog, zakaj je Python najboljši programski jezik, ki se ga je treba naučiti letos. Preberi več !

Ian Buckley je samostojni novinar, glasbenik, izvajalec in video producent, ki živi v Berlinu v Nemčiji. Ko ne piše ali ne na odru, se poigrava z DIY elektroniko ali kodo v upanju, da bo postal nori znanstvenik.