Weblessen.nl - Voor iedereen die wat wil leren..


C

Index
C Index
Voorwoord
De eerste stap
Een inleiding tot C
Programma besturing
Toekennen en Logisch vergelijken
Funkties en Variabelen
Defines en Macros
Strings en Tabellen
Pointers
Standaard Invoer / Uitvoer
Bestands Invoer / Uitvoer
Structuren en Unions
Dynamisch ngeheugen aanvragen
Karakter- en bitmanipulatie

Appendix
Hungarian Notation
Voorbeeldprogramma's
Totaal programma
Scherm- en bestands beschrijvingen
Aanpassingen voor VM/CMS

De eerste stap in C

 

Wat is een identifier

Voor elke programmeertaal geldt dat je, voordat je kunt beginnen, moet weten wat een identifier is. Een identifier is een naam die gebruikt wordt voor elk soort variabele, funktie, gegevens definitie, enzovoort. In de programmeertaal C is een identifier een combinatie van alfanumerieke tekens. Het eerste teken moet een letter uit het alfabet zijn of een onderstreping (_), de andere tekens mogen naast letters en de onderstreping ook getallen zijn.

Grote en kleine letters worden in de taal C als verschillend gezien. De variabele INDEX is bijvoorbeeld niet dezelfde als Index en deze zijn ook weer niet gelijk aan InDeX. Alle drie refereren ze aan een andere variabele. Sommige compilers nemen slechts de eerste acht tekens van een naam als identifier, de rest wordt afgekapt. Het is dus belangrijk eerst in de documentatie van de compiler te kijken hoeveel tekens in een variabele naam als significant beschouwd worden.

Sommige compilers accepteren ook vreemde tekens, zoals het $ teken in identifiers. Om reden van overdraagbaarheid van programma code wordt aangeraden hiervan af te zien.


De onderstreping

Hoewel een onderstreping dus is toegestaan in identifiers, wordt dit teken toch maar heel weinig gebruikt. Het maakt programma's beter leesbaar, dat wel, doch het is een soort afspraak geworden alleen systeem variabelen en macro namen met onderstrepingen te schrijven. In deze cursus zal de Hungarian Notation worden toegepast.

In een computer programma zijn twee zaken te onderscheiden, de gegevens en de programma code. Ze zijn sterk afhankelijk van elkaar en daarom moet naast de code ook veel aandacht worden besteedt aan de data structuren. In deze cursus zal ook aan de structurering van de gegevens aandacht worden besteed.


De opbouw van de cursus

Het is de bedoeling stap voor stap de programma voorbeelden te bestuderen. Elk voorbeeld staat op zichzelf en kan worden gecompileerd en uitgevoerd. De programma voorbeelden werden uit een groter geheel gelicht en zullen, naarmate de cursus vordert, weer tot het totale programma leiden.

Op deze manier kan telkens een bepaald onderwerp uit de C taal worden bestudeerd en geleerd. Er kan worden veranderd, om zo de effecten van bepaalde statements te onderzoeken. Sommige cursussen gaan heel diep en gedetailleerd op de C taal in, met als gevolg dat de motivatie om deze toch wel moeilijke taal te leren zeer ver daalt.

Deze cursus doet dat niet. Hier wordt geprobeerd om op vlotte wijze met de C taal om te gaan, waardoor de motivatie om te leren blijft. Nadat alle losse onderdelen zijn bestudeerd, wordt een spel programma gepresenteerd (Tripple Yahtzee), waarin alle geleerde onderwerpen voorkomen. Op deze manier kan men zien hoe een werkelijk werkend programma in C wordt opgebouwd. Daarbij zullen ook typisch PC zaken als scherm aansturing aan bod komen.

Je zult steeds worden uitgenodigd om een programma in te tikken, waarbij een programma naam tussen haakjes staat vermeld. Je kunt het programma dan intikken en onder die naam wegschrijven op schijf. In de meeste gevallen is het programma met die naam al op schijf aanwezig; intikken is dan niet nodig. Bestuderen van het programma is wel nodig. Nadat het programma dan is gecompileerd, kan het worden uitgevoerd om te zien of dat wat het programma doet ook is wat je ervan verwacht.


Het compileren

Met een programma editor, bijvoorbeeld Norton Editor op de PC of EPM op de PS/2, kan programma tekst worden aangemaakt. Tik het volgende programma (HELLO.C) in: main () { printf ("Hello, world ..."); }

Compileer dit programma met de opdracht: CL hello.c
Na het compileren zijn er twee nieuwe bestanden ontstaan, hello.obj en hello.exe. Het laatste bestand is een uitvoerbaar programma bestand. Je kunt dit programma uitvoeren door in te tikken: hello


Het linken

Wanneer een programma ontstaat uit meerdere kleine programma's, zoals het geval is met het Yahtzee voorbeeld programma, moeten alle kleine programma's afzonderlijk gecompileerd worden. Daarna worden dan de losse onderdelen (de zogenaamde objecten) aan elkaar geplakt, geLINKt, waardoor het grote programma bestand ontstaat. Ook het kleine programma van boven kan in deze twee stappen ontstaan.
Tik in:
CL /c hello.c
Nu ontstaat het object bestand hello.obj.
Tik in:
LINK hello
Nu ontstaat het programma bestand hello.exe.

Let op de optie /c. Deze geeft de compiler de opdracht alleen te compileren, niet te linken.


Je eerste C programma

De beste manier om met C te beginnen is om eens naar een programma te kijken. Laten we daarom eens nader naar het HELLO.C programma gaan kijken. Het is een erg eenvoudig programma. Er kan niet veel aan dit programma vereenvoudigd worden. Het programma laat een tekstregel op de monitor zien. main () { printf ("Hello, world ..."); }

Het woord main is erg belangrijk. Het mag slechts een keer in een programma voorkomen. Dit is het punt waarop de uitvoering van het programma begint (Entry point). We zullen later zien dat het niet het eerste statement in het programma hoeft te zijn, het moet echter wel aanwezig zijn.

Achter de programmanaam (main) volgen twee haakjes, die aangeven dat dit een functie is. Op het begrip functie zal later uitgebreid worden terug gekomen. Op dit moment is het voldoende om te weten dat de twee haakjes nodig zijn. De twee accolades worden gebruikt om aan te geven waar de funktie begint en waar hij eindigt. De programma regels staan tussen de twee accolades. In dit geval staat er maar een (1) statement tussen. Dit statement is zelf ook weer een functie. Nogmaals, we zullen het begrip functie later toelichten.

Om tekst op de monitor af te drukken, wordt hier de tekst als string parameter, d.w.z. omsloten door aanhalingstekens (") aan een uitvoer functie (printf) gegeven. Het resultaat zal zijn dat alles wat tussen de aanhalingstekens staat op de monitor zal worden afgedrukt. Merk op dat aan het einde van het statement een punt-komma (;) staat. C gebruikt de punt-komma als einde statement indicatie. Voor de compiler is dit een teken dat de programma regel hier eindigt. Je kunt het programma compileren en uitvoeren; het is een uitvoerbaar C programma. Doe dit nu.


Nog een C programma

Bekijk nu het programma DRUKAF.C. Het lijkt erg veel op het vorige programma, echter er zijn nu meer statements en er wordt meer afgedrukt. Er staan vier statements in dit programma, elk is een printf functie aanroep. De bovenste regel wordt het eerst uitgevoerd, dan de tweede, vervolgens de derde en de vierde. De statements worden dus uitgevoerd van boven naar beneden. main () { printf ("Dit is een regel tekst.\n"); printf ("En dit is nog "); printf ("een regel tekst.\n\n"); printf ("Dit is de laatste regel tekst.\n"); }

Merk op dat er een speciaal karakter-paar aan het einde van sommige regels staat, en wel de Backslash-n combinatie. De Backslash (\) wordt in de printf functie gebruikt als een besturingsteken. In het geval van '\n' wordt een NewLine teken gevormd, hetgeen tot gevolg heeft dat de cursor naar de eerste positie van de volgende regel gaat. Meestal wordt dit aangeduid als Carriage return/Line feed. Het NewLine teken mag overal in de tekst voorkomen, zelfs in het midden van een woord. De compiler vertaalt de \n combinatie naar 1 teken.

Het eerste printf statement drukt een regel af en zet de cursor op een nieuwe regel. Het tweede statement drukt een regel af maar laat de cursor staan. Het derde statement gaat dus op de tweede regel verder met afdrukken en zet de cursor op een extra volgende regel. Het vierde statement drukt dan de tekst af na een blanco regel en het programma is klaar. Compileer en draai dit programma en kijk of het werkt zoals hierboven beschreven.


Laten we eens getallen afdrukken

Bekijk nu het programma NUMMERS.C om te zien hoe we met gegevens werken in C. Het woord main zal nu duidelijk zijn evenals de accolades. Wat nieuw is, is de regel met int getal;. Op deze manier wordt in C een integer variabele gedeclareerd met de naam getal. Het woord int is een taalelement van C en mag niet voor iets anders gebruikt worden. Hierdoor wordt een variabele gedefinieerd die waarden kan bevatten in het bereik -32768 tot 32767 op de meeste micro computers. Op grotere systemen kan een integer aanmerkelijk grotere waarden bevatten. Kijk daarvoor in de documentatie van de compiler. main () { int getal; getal = 13; printf ("De waarde van het getal is %d \n", getal); getal = 27; printf ("De waarde van het getal is %d \n", getal); getal = 10; printf ("De waarde van het getal is %d \n", getal); }

De naam van de variabele, hier getal, kan elke naam zijn die voldoet aan de regels voor een identifier. De punt-komma be‰indigt de declaratie. Er mag meer dan een variabele tegelijk op een regel worden gedeclareerd, zoals we in het Yahtzee programma zullen zien. Het programma kent drie keer achter elkaar een waarde toe aan de variabele getal (13, 27 en 10) en drukt die af. Het mag duidelijk zijn dat getal inderdaad een variabele is, waarin verschillende waarden kunnen worden opgeslagen.


Hoe worden getallen afgedrukt

Laten we nog even terugkeren naar het NUMMERS.C programma. Het daarin gebruikte printf statement is drie keer hetzelfde. Het printf statement begint met de tekst string. Het verschil met de vorige keer is, dat de tekst naast het besturingsteken \n nog een procent teken (%) bevat. Het procent teken heeft een bijzondere betekenis voor de printf functie. Op de plaats waar dit teken staat wordt de waarde van de variabele afgedrukt. Het Procent teken geeft aan dat er een variabele van een bepaald type moet worden afgedrukt. Welk type dat is, wordt bepaald door een letter die er op volgt, hier de d. De d geeft aan dat er een integer moet worden afgedrukt.

Alle karakters die tussen de aanhalingstekens staan zullen hetzij direct, hetzij via conversie, worden afgedrukt. De tekst wordt gevolgd door een komma (,) en de naam van de variabele (getal). Hierdoor weet de printf functie welke integer moet worden afgedrukt op de plaats van de %d tekens. Er kunnen meerdere %d tekens in de tekst worden opgenomen. Er zullen dan ook even zoveel variabele namen moeten worden toegevoegd, gescheiden door een komma.

Als het aantal procent tekens en het aantal variabelen niet exact overeenkomen, zal tijdens UITVOERING een fout optreden, niet tijdens compileren. Dit is belangrijk om te onthouden. Uiteraard zullen we uitgebreid op Invoer/Uitvoer mechanismen terugkomen in deze cursus. We hebben de tot nu toe opgedane kennis echter nodig om de voorbeelden uit de volgende hoofdstukken goed te kunnen begrijpen.




Webdesign

Maak van Weblessen.nl uw startpagina!
Plaats Weblessen.nl bij uw favorieten. Neem contact met me op.
Heb je een Hosting?
Geef hier jouw mening over jouw web hosting

Webadres.info: Goede domeinnaam kiezen

Gesponsorde links:
Budget Webhosting
Web2host.nl
10eurohost.nl
Denit Hosting Solutions
YourHosting.nl
Starthosting.nl
Eduvision.nl
Educruitment.nl
Webadres.info


De link top 5:
Gratis Computercursussen
WebmasterStartpagina
MijnStartpagina.nu
Bluebird Animatie
Anouksweb
Link aanmelden
Alle Partners

Webmasterwoordenboek
A | B | C | D | E | F
G
| H | I | J | K | L | M
N
| O | P | Q | R | S | T
U | V | W | X | Y | Z

Films vanavond op Tv:

De klok:

(advertentie)

HTML leren
PHP cursus
XML lessen
XHTML les
CSS leer
leer C
REXX online
Red Hat Linux cursus