Vil du begynne å programmere, men er ikke sikker på C?  Prøv denne C-programmeringen for nybegynnerveiledningen for å sjekke om det er språket for deg.

Hvordan lære C-programmering med dette nybegynnerprosjektet

Annonse Å lære å programmere er en kumulativ opplevelse. Ved siden av å lære syntaks for det valgte språket ditt, må du også lære de generelle prinsippene som alle programmeringsspråk bruker. Å forstå og lære C-programmering kan være skremmende, men det er noen få grunnleggende ideer som er verdt å sette seg inn i når du starter. Et enkelt prosj

Annonse

Å lære å programmere er en kumulativ opplevelse. Ved siden av å lære syntaks for det valgte språket ditt, må du også lære de generelle prinsippene som alle programmeringsspråk bruker.

Å forstå og lære C-programmering kan være skremmende, men det er noen få grunnleggende ideer som er verdt å sette seg inn i når du starter. Et enkelt prosjekt er en flott måte å lære grunnleggende om C.

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

1. Hei, verden!

Den første delen av nesten hvert kodingskurs er hei-verden- programmet. Å gå nærmere inn på det fremhever noen av måtene C skiller seg fra andre språk. Til å begynne med, åpner du en tekstredigerer eller IDE Text Editors vs. IDEer: Hvilken er bedre for programmerere? Tekstredaktører vs. IDEer: Hvilken er bedre for programmerere? Det kan være vanskelig å velge mellom en avansert IDE og en enklere tekstredigerer. Vi tilbyr litt innsikt for å hjelpe deg med å ta den avgjørelsen. Les mer etter eget valg, og skriv inn denne koden:

 #include /* this is a Hello World script in C */ int main(void) { printf("Hello, World! \n"); return 0; } 

Denne korte koden stikker ut til konsollen før du avslutter programmet. Lagre det et sted som er lett å huske som hello.c . Nå må du kompilere og bygge filen din.

Få det til å løpe

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

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

  • Windows-brukere: Gjør filen din kjørbar ved å skrive cl hello.c og trykke enter. Dette vil opprette hello.exe i samme mappe, som du kan kjøre ved å skrive hallo .
  • Linux- og macOS-brukere: Skriv gcc -o hallo hallo.c og trykk enter for å gjøre det kjørbart, og kjør det ved å skrive ./hello .

Uansett hvilken metode du bruker, skal du kjøre skriptet vise deg dette:

Output som viser resultatene fra en Hello World! skisse i C

Hvis det ikke fungerte på Windows, må du kontrollere at du kjører ledeteksten i administratormodus. For macOS kan det hende du må installere Xcode fra App store og følge disse trinnene fra StackOverflow.

La oss se på programmet linje for linje for å se hvordan det fungerer og forbedre det!

Under panseret: Forstå C-språket

preprocessors

Skriptet du nettopp opprettet starter med inkludering av et bibliotek.

 #include 

Den første linjen i skriptet kalles en forbehandler . Dette blir utført før resten av manuset blir satt sammen. I dette tilfellet forteller det skriptet å bruke stdio.h- biblioteket. Det er et stort antall forbehandlere tilgjengelig for forskjellige oppgaver.

Stdio.h tar seg av innspill fra programmets bruker, og sender informasjon tilbake til dem.

 /* this is a Hello World script in C */ 

Denne neste linjen er en kommentar. Skråstikket og stjernen forteller kompilatoren om å ignorere alt mellom den og den lukkende stjernen og skråstrekningen. Selv om dette kan virke meningsløst, er det en viktig vane å komme til å være i stand til å forlate deg selv og andre tydelige merknader om hva koden din gjør.

Hovedfunksjonen

 int main(void) 

Hvert C-program må ha en hovedfunksjon. Main er en funksjon som returnerer et heltall, betegnet med int . Brakettene etter main er for sine argumenter, men i dette tilfellet krever det ingen, og det er grunnen til at du bruker det ugyldige søkeordet.

Du skriver koden som skal utføres mellom to krøllete seler.

 { printf("Hello, World! \n"); return 0; } 

Inne i funksjonen kaller du funksjonen printf () . Akkurat som main () er printf en funksjon. Forskjellen er at printf er en funksjon i stdio- biblioteket du inkluderte i starten.

Printf skriver ut alt i parentesene, mellom anførselstegnene, til konsollen. \ N er en flukt-sekvens kalt newline, og ber kompilatoren hoppe til neste linje i konsollen før du fortsetter.

Legg merke til at disse linjene ender i semikolon, som kompilatoren bruker for å dele en oppgave fra den neste. Vær nøye med disse semikolonene - å miste dem er den viktigste årsaken til at ting ikke går riktig!

Til slutt kommer funksjonen tilbake med tallet 0, og avslutter programmet. Hovedfunksjonen () må alltid returnere et heltall, og returnere = 0; signaliserer til datamaskinen at prosessen var vellykket.

Å forstå hvert trinn i dette skriptet er en god start på å lære både C-syntaks, og hvordan språket fungerer.

2. Opprette dine egne C-funksjoner

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

 void print_for_me() { printf("Hello, World! \n"); } 

La oss bryte dette ned.

void er et nøkkelord 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 all informasjon du vil overføre til en funksjon for å få den til å fungere. Senere legger du til et eget argument for å endre utdata! Merk: Dette er ikke det samme som hovedfunksjonen () ovenfor som brukte tomrom. Denne funksjonen kan ikke ta argumenter, mens denne kan (men i dette tilfellet ikke trenger).

Kodeblokken skal 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(); return 0; } 

Du kan se en fordel med å bruke din egen funksjon. I stedet for å skrive printf (“Hallo, verden! \ N”) hver gang, kan du ringe funksjonen to ganger.

Akkurat nå virker dette kanskje ikke så viktig, men hvis print_for_me-funksjonen inneholdt mange kodelinjer, er det en god tid å spare det å kunne kalle det så enkelt!

Hallo verden som sender ut to ganger gjennom flere funksjonssamtaler

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

3. Bruke funksjonsprototyper i C

Prototyper er en av de viktigste måtene nybegynner C skiller seg fra andre språk. Kort sagt, en prototype er som en forhåndsvisning av en funksjon som er definert senere. Hvis du skriver print_for_me () -funksjonen etter hovedfunksjonen, kan det hende du får en advarsel når du sammenstiller:

Sammensatt bilde som viser kode uten prototype og advarselen c-kompilatoren gir

Varslingsmeldingen forteller deg at kompilatoren kjørte inn i funksjonen print_for_me før den ble erklært, så den kunne ikke være sikker på at den ville fungere riktig når programmet kjører.

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

 #include void print_for_me(); int main(void) { print_for_me(); print_for_me(); return 0; } void print_for_me() { printf("Hello, World! \n"); } 

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

Dette betyr at når du kaller den i hovedfunksjonen, vet kompilatoren om den kalles 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.

Hallo verden som sender ut to ganger gjennom flere funksjonssamtaler

Dette programmet fungerer fortsatt uten en prototype, men de er god praksis å bruke. Outputen ser fortsatt den samme ut for nå, lar den endre for å gjøre den mer personlig!

4. Overføring av argumenter til C-funksjoner

Endring av manus

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

I stedet er de en rekke enkeltpersoner. Symbolet for en matrise er [] og nøkkelordet er røye . Begynn med å oppdatere prototypefunksjonen din i begynnelsen av skriptet:

 #include void print_for_me(char name[]); 

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

 int main(void) { char name[20]; printf("Enter name: "); scanf("%s", name); print_for_me(name); print_for_me("Everyone!"); return 0; } 

Den første linjen i hovedsak oppretter en karaktergruppe med 20 mulige mellomrom kalt navn. Deretter blir brukeren bedt om å oppgi navnet sitt ved bruk av printf. Den neste linjen bruker en ny funksjon som heter scanf som tar neste ord brukeren skriver.

"% S" forteller funksjonen om at den skal lagre dataene som en streng, og kaller den navnet .

Endre funksjonen

Når du ringer print_for_me, kan du ta med navn i parentesene. På neste linje ser du at du også kan passere andre tegn så lenge de er mellom anførselstegn. Begge ganger overføres det som er i parentes til funksjonen print_for_me.

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

 void print_for_me(char name[]) { printf("Hello, "); puts(name); } 

Her kan du se at parentesene er oppdatert akkurat som prototypen i begynnelsen av skriptet. På innsiden skriver du fremdeles hei ved hjelp av printf. En ny funksjon her er sette . Dette er en mer avansert versjon av printf.

Alt som er lagt i parentesene, skrives ut på konsollen, og en ny linje ( \ n du brukte tidligere) blir automatisk lagt til.

Lagre og kompilere koden din på samme måte som du gjorde tidligere - merk at du kan navngi programmet noe annerledes hvis du ikke vil overskrive det tidligere programmet. Jeg heter mitt hallo2 :

Det ferdige programmet i C

Som du bør se, tar programmet innspillet og bruker det i funksjonen, før du sender den forhåndsinnstilte hilsenen til “Alle!” Igjen og gir to separate utganger til samme funksjon.

ABCs of C-programmering

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

Andre mener å lære C ++ er en bedre idé, ettersom det bygger på C samtidig som den beholder sin lavere systemkontroll. (Det er også Rust å vurdere - det er et spennende programmeringsspråk som syntaktisk ligner C ++.)

En ting er sikkert: språk som Python er mye mer nybegynnervennlig. For et gammelt språk brukes C fremdeles overalt, men Python kan være fremtidens språk 6 grunner til at Python er fremtidens programmeringsspråk 6 grunner til at Python er fremtidens programmeringsspråk Vil du lære eller utvide dine programmeringsevner ? Her er grunnen til at Python er det beste programmeringsspråket å lære i år. Les mer !

Utforsk mer om: C, Coding Tutorials, Programming.