Hoe leer je C-programmering met dit beginnersproject

Hoe leer je C-programmering met dit beginnersproject / Programming

Leren programmeren is een cumulatieve ervaring. Naast het leren van de syntaxis van de door u gekozen taal, moet u ook de algemene principes leren die alle programmeertalen gebruiken.

Begrijpen en leren van C-programmeren kan ontmoedigend zijn, maar er zijn een paar basisideeën die je moet leren kennen. Een eenvoudig project is een geweldige manier om de fundamenten van C te leren.

Dus waar moet je beginnen? Door hallo te zeggen!

1. Hallo, wereld!

Het eerste deel van bijna elke codeeropleiding is het Hallo Wereld programma. Als u er in detail over gaat, worden enkele manieren benadrukt waarop C verschilt van andere talen. Open om te beginnen een teksteditor of IDE-teksteditors versus IDE's: welke is beter voor programmeurs? Teksteditors versus IDE's: welke is beter voor programmeurs? Kiezen tussen een geavanceerde IDE en een eenvoudigere teksteditor kan moeilijk zijn. We bieden enig inzicht om u te helpen bij het nemen van die beslissing. Lees Meer van uw keuze, en voer deze code in:

#include  / * dit is een Hello World-script in C * / int main (void) printf ("Hello, World! \ n"); retourneer 0; 

Dit korte codefragment wordt naar de console afgedrukt voordat het programma wordt beëindigd. Bewaar het ergens gemakkelijk te onthouden als hello.c. Nu moet je je bestand compileren en bouwen.

Making It Run

Meestal hoeft u geen extra software op uw computer te installeren om C-scripts uit te voeren. Open een terminalvenster (of opdrachtprompt als u Windows gebruikt) en navigeer naar de map waarin u uw script hebt opgeslagen.

De manier waarop u uw bestand compileert en uitvoert, varieert van systeem tot systeem:

  • Windows-gebruikers: Maak uw bestand uitvoerbaar door te typen cl hello.c en druk op Enter. Hiermee wordt hello.exe in dezelfde map gemaakt, die u kunt uitvoeren door te typen Hallo.
  • Linux- en macOS-gebruikers: Type gcc -o hallo hello.c en druk op enter om het uitvoerbaar te maken en voer het uit door te typen ./Hallo.

Welke methode u ook gebruikt, het uitvoeren van uw script zou u dit moeten laten zien:

Als het niet werkt in Windows, moet u de opdrachtprompt uitvoeren in de beheerdersmodus. Voor macOS moet u mogelijk Xcode installeren in de App Store en deze stappen volgen vanuit StackOverflow.

Laten we nu het programma regel voor regel bekijken om te zien hoe het werkt en het te verbeteren!

Under the Hood: Understanding the C Language

preprocessors

Het script dat u zojuist hebt gemaakt, begint met het opnemen van een bibliotheek.

#include  

De eerste regel in het script wordt a genoemd preprocessor. Dit wordt uitgevoerd voordat de rest van het script is samengesteld. In dit geval vertelt het het script om het te gebruiken stdio.h bibliotheek. Er is een groot aantal preprocessors beschikbaar voor verschillende taken.

Stdio.h zorgt voor invoer van de gebruiker van het programma en geeft deze informatie weer.

/ * dit is een Hello World-script in C * / 

Deze volgende regel is een opmerking. De schuine streep en de ster vertellen de compiler om alles ertussen en de sluitende ster en de schuine streep te negeren. Hoewel dit misschien zinloos lijkt, is het een essentiële gewoonte om erbij te zijn als je jezelf en anderen duidelijke opmerkingen kunt laten maken over wat je code doet.

De hoofdfunctie

int main (void) 

Elk C-programma moet een hoofd functie. Hoofd is een functie die een geheel getal retourneert, aangeduid met int. De haakjes na main zijn voor zijn argumenten, maar in dit geval is er geen nodig, daarom gebruik je de leegte trefwoord.

U schrijft de code die moet worden uitgevoerd tussen twee accolades.

printf ("Hallo, Wereld! \ n"); retourneer 0; 

Binnen de functie, bel je de printf () functie. Net als hoofd(), printf is een functie. Het verschil is, printf is een functie in de stdio bibliotheek die je bij de start hebt opgenomen.

Printf drukt alles tussen haakjes, tussen de aanhalingstekens, naar de console. De \ n is een escape-reeks genaamd newline, die de compiler vertelt om naar de volgende regel in de console te gaan voordat hij verder gaat.

Merk op dat deze regels eindigen op puntkomma, die de compiler gebruikt om de ene taak van de volgende te splitsen. Let goed op deze puntkomma's - ze missen de nummer één oorzaak van dingen die niet goed gaan!

Uiteindelijk keert de functie terug met het cijfer 0, waarmee het programma wordt beëindigd. De hoofd() functie moet altijd een geheel getal retourneren, en return = 0; signalen naar de computer dat het proces succesvol was.

Het begrijpen van elke stap van dit script is een goed begin bij het leren van de C-syntaxis en hoe de taal werkt.

2. Uw eigen C-functies creëren

U kunt uw eigen aangepaste functies in C maken. In plaats van Hello World in de hoofdfunctie af te drukken, maakt u een nieuwe functie om dit voor u te doen.

void print_for_me () printf ("Hallo, Wereld! \ n");  

Laten we dit opsplitsen.

leegte is een trefwoord, wat betekent dat de volgende functie niets oplevert.

print_for_me () is de naam van de functie en de lege haakjes geven aan dat er geen argumenten nodig zijn om te werken. Een argument is elk stukje informatie dat moet worden doorgegeven aan een functie om het te laten werken - later voegt u een eigen argument toe om de uitvoer te wijzigen! Notitie: Dit is niet hetzelfde als de main () -functie waarboven ongeldig is gebruikt. Die functie kan geen argumenten aannemen, terwijl deze kan (maar in dit geval niet hoeft).

Het codeblok moet u bekend voorkomen - het is gewoon de afdrukverklaring van de oorspronkelijke hoofdfunctie.

Nu kunt u deze functie vanuit uw hoofdfunctie bellen.

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

Je ziet hier een voordeel van het gebruik van je eigen functie. In plaats van te typen printf (“Hallo Wereld! \ n”) elke keer kunt u de functie twee keer bellen.

Op dit moment lijkt dit misschien niet zo belangrijk, maar als uw print_for_me-functie veel regels code bevat, is het een geweldige tijdsbesparing om het zo gemakkelijk te kunnen noemen!

Dit is een fundamenteel idee van programmeren dat je tijdens je opleiding tegenkomt. Schrijf eens een eigen functie, in plaats van steeds opnieuw dezelfde grote stukjes code te schrijven.

3. Gebruik van functie-prototypen in C

Prototypes zijn een van de belangrijkste manieren waarop beginner C verschilt van andere talen. Kort gezegd is een prototype een voorbeeld van een functie die later wordt gedefinieerd. Als u de functie print_for_me () na de hoofdfunctie opgeeft, krijgt u mogelijk een waarschuwing bij het compileren:

Het waarschuwingsbericht vertelt u dat de compiler de print_for_me-functie tegenkwam voordat deze werd gedeclareerd, dus het kon niet zeker zijn dat het correct zou werken wanneer het programma wordt uitgevoerd.

De code zou nog steeds werken, maar de waarschuwing kan helemaal worden voorkomen door een prototype te gebruiken.

#include  void print_for_me (); int main (void) print_for_me (); print_for_me (); retourneer 0;  void print_for_me () printf ("Hallo, Wereld! \ n"); 

Als u naar het volledige programma kijkt, ziet u dat het prototype voor print_for_me () bestaat aan het begin van het programma, maar niets bevat. De prototype-functie laat de compiler zien hoe de functie eruit moet zien en of deze argumenten vereist of niet.

Dit betekent dat wanneer u het in de hoofdfunctie roept, de compiler weet of deze correct wordt aangeroepen en een waarschuwing of fout kan genereren als dit nodig is. Dit kan iets zijn dat nu vreemd lijkt, maar nu ik er nu over weet, zal het in de toekomst helpen.

Dit programma werkt nog steeds zonder een prototype, maar het is een goede gewoonte om te gebruiken. De uitvoer ziet er nog steeds hetzelfde uit, maar kan worden gewijzigd om hem persoonlijker te maken!

4. Argumenten doorgeven aan C-functies

Het script wijzigen

Voor deze laatste stap vraagt ​​u naar de naam van de gebruiker en legt u de invoer vast. Dan gebruik je het in de functie die je eerder hebt gemaakt. In C zijn woorden niet bekend als strings zoals in andere programmeertalen.

In plaats daarvan zijn het een reeks afzonderlijke tekens. Het symbool voor een array is [] en het sleutelwoord is verkolen. Begin met het bijwerken van je prototypefunctie aan het begin van je script:

#include  void print_for_me (char name []); 

Nu zal de compiler weten dat de functie later in het script een array met tekens neemt die worden genoemd naam. Tot nu toe bestaat dit personage niet. Werk uw hoofdfunctie bij om deze te maken en gebruik deze om de gebruikersinvoer op te slaan:

int main (void) char name [20]; printf ("Voer naam in:"); scanf ("% s", naam); print_for_me (name); print_for_me ( "Everyone!"); retourneer 0; 

De eerste regel in hoofd maakt een karakterarray met 20 mogelijke spaties, genaamd naam. Vervolgens wordt de gebruiker gevraagd zijn naam in te vullen met printf. De volgende regel gebruikt een nieuwe functie genaamd scanf welke het volgende woord neemt dat de gebruiker typt.

De “% s” vertelt de functie dat het de gegevens als een string zou moeten opslaan en het zou moeten aanroepen naam.

De functie wijzigen

Wanneer u print_for_me belt, kunt u dit opnemen naam tussen haakjes. Op de volgende regel ziet u dat u ook andere tekens kunt doorgeven zolang deze tussen aanhalingstekens staan. Beide keren wordt wat tussen de haakjes staat, doorgegeven aan de print_for_me-functie.

Wijzig dat nu om de nieuwe informatie die u eraan geeft te gebruiken:

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

Hier kunt u zien dat de haakjes zijn bijgewerkt, net als het prototype aan het begin van het script. Binnen druk je nog steeds hallo af met printf. Een nieuwe functie is hier puts. Dit is een meer geavanceerde versie van printf.

Alles dat tussen de haakjes wordt geplaatst, wordt afgedrukt op de console en een nieuwe regel (de \ n u eerder gebruikte) wordt automatisch toegevoegd.

Sla uw code op en compileer deze op dezelfde manier als voorheen - merk op dat u het programma iets anders kunt benoemen als u uw eerdere programma niet wilt overschrijven. Ik heb de mijne genoemd hello2:

Zoals u zou moeten zien, neemt het programma de invoer en gebruikt het in de functie, voordat de preset-begroeting van wordt verzonden “Iedereen!” wederom twee afzonderlijke uitgangen voor dezelfde functie.

Het ABC van C-programmering

Dit programma is eenvoudig, maar sommige concepten daarin zijn dat niet. Meer geavanceerde C-code moet heel goed worden geschreven om crashes te voorkomen. Dit is waarom velen denken dat het een uitstekende taal is om eerst te leren, omdat het goede gewoonten bijbrengt in nieuwe programmeurs.

Anderen denken dat leren C ++ een beter idee is, omdat het voortbouwt op C terwijl het de lagere systeemcontrole behoudt. Eén ding is zeker: talen zoals Python zijn veel beginnersvriendelijker. Voor een oude taal wordt C nog steeds overal gebruikt, maar Python kan de taal van de toekomst zijn 6 Redenen waarom Python de programmeertaal van de toekomst is 6 Redenen waarom Python de programmeertaal van de toekomst is Wil je je programmeervaardigheden leren of uitbreiden? ? Hier is waarom Python de beste programmeertaal is om dit jaar te leren. Lees verder !

.