Hvordan lære C programmering med dette nybegynnerprosjektet

Hvordan lære C programmering med dette nybegynnerprosjektet / programmering

Lære å programmere er en kumulativ opplevelse. I tillegg til å lære syntaksen til ditt valgte språk må du også lære de generelle prinsippene som alle programmeringsspråk bruker.

Forståelse og læring C-programmering kan være skremmende, men det er noen grunnleggende ideer verdt å gjøre deg kjent med når du starter. Et enkelt prosjekt er en fin måte å lære grunnleggende på C.

Så hvor skal du begynne? Ved å si hei!

1. Hei, Verden!

Den første delen av nesten alle kodingskurs er Hei Verden program. Går over det i detalj fremhever noen av måtene C skiller seg fra andre språk. Til å begynne med, åpne en tekstredigerer eller IDE Tekstredigerer vs IDE: Hvilken er bedre for programmerere? Tekstredigerere vs IDE: Hvilken er bedre for programmerere? Å velge mellom en avansert IDE og en enklere tekstredigerer kan være vanskelig. Vi gir litt innsikt for å hjelpe deg med å ta den beslutningen. Les Mer av ditt valg, og skriv inn denne koden:

#inkludere  / * dette er et Hello World-skript i C * / int main (void) printf ("Hei, Verden! \ n"); returner 0; 

Dette korte stykket kode skrives ut til konsollen før programmet avsluttes. Lagre det et sted lett å huske som Hei C. Nå må du kompilere og bygge filen.

Gjør det kjørt

Vanligvis behøver du ikke installere ytterligere programvare på datamaskinen din for å kjøre C-skript. Åpne et terminalvindu (eller kommandoprompt hvis du kjører Windows) og naviger til katalogen du lagret skriptet i.

Måten du kompilerer og kjører filen varierer fra system til system:

  • Windows-brukere: Gjør filen kjørbar ved å skrive kl hello.c og trykk enter. Dette vil lage hello.exe i samme mappe, som du kan kjøre ved å skrive Hallo.
  • Linux og macOS brukere: Type gcc -o hei hei.c og trykk enter for å gjøre det kjørbar, og kjør det ved å skrive ./Hallo.

Uansett hvilken metode du bruker, skal du vise dette ved å kjøre skriptet ditt:

Hvis det ikke fungerte på Windows, må du sørge for at du kjører kommandoprompten i administratormodus. For MacOS kan det hende du må installere Xcode fra App Store, og følg disse trinnene fra StackOverflow.

Nå, la oss se på programlinjen for linje for å se hvordan den fungerer, og forbedre den!

Under hetten: Forstå C Språk

preprocessors

Skriptet du nettopp har opprettet, begynner med inkludering av et bibliotek.

#inkludere  

Den første linjen i skriptet kalles a preprosessor. Dette utføres før resten av skriptet er utarbeidet. I dette tilfellet forteller det skriptet å bruke stdio.h bibliotek. Det finnes et stort antall preprosessorer tilgjengelig for forskjellige oppgaver.

Stdio.h tar seg av å få innspill fra programmets bruker, og overføre informasjon tilbake til dem.

/ * dette er et Hello World-skript i C * / 

Denne neste linjen er en kommentar. Slash og stjerne forteller kompilatoren å ignorere alt mellom den og den avsluttende stjernen og skråstrek. Selv om dette kan virke meningsløst, å kunne forlate deg selv og andre klare notater om hva koden din gjør er en viktig vane å komme inn på.

Hovedfunksjonen

int main (void) 

Hvert C-program må ha en hoved- funksjon. Main er en funksjon som returnerer et heltall, betegnet av int. Brakettene etter main er for sine argumenter, men i dette tilfellet tar det ingen, og derfor bruker du tomrom søkeord.

Du skriver koden som skal utføres mellom to krøllete bånd.

printf ("Hei, Verden! \ n"); returner 0; 

Inne i funksjonen, ringer du på printf () funksjon. Akkurat som hoved(), printf er en funksjon. Forskjellen er, printf er en funksjon i stdio bibliotek du inkluderte i starten.

Printf skriver ut alt i parentes, mellom anførselstegnene, til konsollen. De \ n er en fluktssekvens som heter newline, og forteller kompilatoren å hoppe over til neste linje i konsollen før du fortsetter.

Merk at disse linjene slutter i semikolon, som kompilatoren bruker til å dele en oppgave fra den neste. Vær oppmerksom på disse semikolonene - savner dem ut, er nummer én årsak til ting som ikke går rett!

Endelig returnerer funksjonen med nummer 0, og slutter programmet. De hoved() funksjonen må alltid returnere et heltall, og return = 0; signaliserer til datamaskinen at prosessen var vellykket.

Forstå hvert trinn i dette skriptet er en god start når du lærer både C-syntaks og hvordan språket fungerer.

2. Lag dine egne C-funksjoner

Du kan lage dine egne tilpassede funksjoner i C. I stedet for å skrive ut Hello World i hovedfunksjonen, opprett en ny funksjon for å gjøre det for deg.

void print_for_me () printf ("Hei, Verden! \ n");  

La oss bryte dette ned.

tomrom er et søkeord som betyr at følgende funksjon ikke vil returnere noe.

print_for_me () er navnet på funksjonen, og de tomme parentesene viser at det ikke krever argumenter for å fungere. Et argument er noe informasjon å overføre til en funksjon for å få det til å fungere - senere vil du legge til et eget argument for å endre utgangen! Merk: Dette er ikke det samme som hovedfunksjonen () ovenfor som brukes tomt. Den funksjonen kan ikke ta argumenter, mens denne kan (men i dette tilfellet trenger ikke).

Koden blokk bør være kjent for deg - det er bare utskriftserklæringen fra den opprinnelige hovedfunksjonen.

Nå kan du ringe denne funksjonen fra hovedfunksjonen.

int main (void) print_for_me (); print_for_me (); returner 0;  

Du kan se her en fordel med å bruke din egen funksjon. Snarere enn å skrive printf (“Hei Verden! \ n”) hver gang kan du ringe funksjonen to ganger.

For øyeblikket kan dette ikke virke så viktig, men hvis print_for_me-funksjonen inneholdt mange linjer med kode, er det mulig å ringe det så enkelt en god tidsparer!

Dette er en grunnleggende ide om programmering du vil komme over gjennom hele utdanningen din. Skriv din egen funksjon en gang, i stedet for å skrive de samme store bitene med kode om og om igjen.

3. Bruk funksjon Prototyper i C

Prototyper er en av de store måtene som begynner C, er forskjellig fra andre språk. Kort sagt, en prototype er som en forhåndsvisning av en funksjon som er definert senere. Hvis du skriver funksjonen print_for_me () etter hovedfunksjonen, kan du få en advarsel når du kompilerer:

Advarselsmeldingen forteller deg at kompilatoren kjørte inn i funksjonen print_for_me før den ble erklært, slik at det ikke kunne være sikkert at det ville fungere riktig når programmet kjører.

Koden vil fortsatt fungere, men advarselen kan unngås helt ved å bruke en prototype.

#inkludere  void print_for_me (); int main (void) print_for_me (); print_for_me (); returner 0;  void print_for_me () printf ("Hei, Verden! \ n"); 

Ved å se på hele programmet kan du se prototypen for print_for_me () eksisterer ved starten av programmet, men inneholder ingenting. Prototypefunksjonen viser kompilatoren hvordan funksjonen skal se ut, og om det krever argumenter eller ikke.

Dette betyr at når du ringer det i hovedfunksjonen, vet kompilatoren om den blir kalt riktig og kan kaste en advarsel eller feil hvis det er nødvendig. Dette kan være noe som virker rart nå, men å vite om dem nå, vil hjelpe i fremtiden.

Dette programmet fungerer fortsatt uten prototype, men de er god praksis å bruke. Utgangen ser likevel ut det samme for nå, la oss endre det for å gjøre det mer personlig!

4. Passing Arguments to C Funksjoner

Endre skriptet

For dette siste trinnet, vil du be om brukerens navn og registrere innspillet. Deretter bruker du den i funksjonen du opprettet før. I C er ord ikke kjent som strenge som i andre programmeringsspråk.

I stedet er de et utvalg av enkeltpersoner. Symbolet for en matrise er [] og søkeordet er røye. Begynn med å oppdatere prototypefunksjonen ved starten av skriptet ditt:

#inkludere  void print_for_me (karnavnet []); 

Nå vil kompilatoren vite at funksjonen senere i skriptet tar en rekke karakterer som kalles Navn. Så langt eksisterer denne karakteren ikke. Oppdater hovedfunksjonen din for å opprette den, og bruk den til å lagre brukerinngangen:

int main (void) char navn [20]; printf ("Skriv inn navn:"); scanf ("% s", navn); print_for_me (navn); print_for_me ( "Alle!"); returner 0; 

Den første linjen i hovedet skaper et tegnfelt med 20 mulige mellomrom kalt navn. Deretter blir brukeren bedt om å skrive inn navnet sitt ved hjelp av printf. Neste linje bruker en ny funksjon som kalles scanf som tar neste ord brukerens typer.

De “% s” forteller funksjonen at den skal lagre dataene som en streng, og ringe den Navn.

Endre funksjonen

Nå når du ringer print_for_me, kan du inkludere Navn i parentesene. På neste linje vil du se at du også kan passere andre tegn så lenge de er mellom anførselstegn. Begge ganger blir det som står i parentesen overført til print_for_me-funksjonen.

Endre det nå for å bruke den nye informasjonen du gir den:

void print_for_me (karnavnet []) printf ("Hei"); puts (navn);  

Her kan du se at parentesene har blitt oppdatert akkurat som prototypen ved starten av manuset. På innsiden skriver du fremdeles hallo ved hjelp av printf. En ny funksjon her er puts. Dette er en mer avansert versjon av printf.

Alt i parentesene vil bli skrevet ut til konsollen, og en ny linje (den \ n du brukte tidligere) blir lagt til automatisk.

Lagre og kompilere koden din på samme måte som du gjorde tidligere. Merk at du kan nevne programmet noe annerledes hvis du ikke vil overskrive det tidligere programmet. Jeg heter min hello2:

Som du bør se, tar programmet innspillet og bruker det i funksjonen, før du sender den forhåndsinnstilte hilsen til “alle!” igjen gi to separate utganger til samme funksjon.

The ABCs of C Programmering

Dette programmet er enkelt, men noen av konseptene i det er ikke. Mer avansert C-kode må skrives veldig bra for å forhindre krasjer. Dette er grunnen til at mange tror det er et utmerket språk for å lære først som det skaper gode vaner til nye programmerere.

Andre tenker å lære C ++ er en bedre ide, da den bygger på C, mens den beholder sin lavere systemkontroll. En ting er sikkert: språk som python er mye mer nybegynnere vennlig. For et gammelt språk er C fortsatt brukt overalt, men Python kan være fremtidssprog. 6 Grunner til at Python er fremtidsprogrammeringsspråket. 6 Grunner til at Python er fremtidens programmeringsspråk. Vil du lære eller utvide programmeringsevnen din ? Her er hvorfor Python er det beste programmeringsspråket å lære i år. Les mer !

.