Java programmeren
- Introductie
- Compiler en linker
- Declaraties
- Operators
- Functies
- Control statements
- Invoer en uitvoer
- Arrays
- Pointers
- Aandachtspunten
- Links
Introductie
Compiler en linker
Declaraties
Variabelen
Constantes
Ik heb het hier alleen over symbolische constantes (i.t.t. tot literal constants, constante waardes die in het programma voorkomen). Deze kan je op 2 manieren declareren.
De 1e is met een #define
De algemene structuur is: #define CONSTNAAM
waarde
Voorbeeld: #define PI 3.14
De 2e is met het keyword const
De algemene structuur is: const type
constnaam = waarde
Voorbeeld: const int teller = 100
Operators
Complexe operators
Conditional operator
De syntax is exp1 ? exp2 : exp3
Als exp1
waar is heeft het geheel de waarde
van exp2
, anders die van
exp3
Zo zou je bv. kunnen kijken welke van 2 variabelen de laagste waarde heeft, en
die dan aan een derde kunnen toekennen:
c = (a < b)? a : b;
Dit is equivalent aan
if (a < b)
c = a;
else
c = b;
Komma operator
Functies
Definitie en prototype
Voor je een functie definieert, moet je hem declareren. Dat heet een prototype.
Het prototype ziet er precies zo uit als de 1e regel van de functiedefinitie, met 1 verschil: er staan een ';' aan het eind.
Vbd.: int multiply(int x, int y);
Resultaat van een functie
Als je wilt dat de functie een resultaat teruggeeft zet je het type daarvan voor de naam van de functie (zoals de 1e 'int' hierboven).
In de functie moet in dat geval een return expr
staan, waarbij de expressie hetzelfde type heeft.
De uitwerking van een functie kan natuurlijk ook zijn dat hij bv. iets
afdrukt.
In dat geval kan je als resultaattype void
gebruiken.
Tip: je kan het beste maar 1 return
in een functie
gebruiken.
De functie main
hoeft niet perse aan het begin
van het programma te staan, maar het is wel gebruikelijk.
Parameters en argumenten
Parameters zijn de dingen die tussen haakjes in de functie definitie of prototype staan.
Argumenten zijn de waardes die je daadwerkelijk meegeeft als je een functie aanroept.
Control statements
Het for
statement is het beste
als je in de loop een teller moet veranderen (of iets soortgelijks) en vooraf
iets moet initialiseren.
De do... while
is handig
als je een statement minimaal 1 keer moet uitvoeren.
Je kan de loops wel binnen elkaar gebruiken, maar niet overlappen. Dus dat je loop1 begint, binnen loop1 ook loop2 begint, dan loop1 eindigt, en dan pas loop2 eindigt.
For statement
for (initialisatie; conditie; increment)
statement;
Eerst wordt de initialisatie uitgevoerd. Vervolgens wordt de conditie getest. Als ie waar is wordt het statement uitgevoerd, en wordt tenslotte increment uitgevoerd. Daarna wordt de conditie opnieuw getest, etc.
Vbd.: het afdrukken van de getallen 1 t/m 10:
for (cnt = 1; cnt <= 10; cnt++)
printf("%d\n", cnt);
While statement
while (conditie)
statement;
Het while
statement is in feit een simpele vorm
van het for
statement.
Het do... while statement
do
statement
while (conditie)
In deze constructie wordt in tegenstelling tot de andere 2 het statement minimaal 1 keer uitgevoerd.
Invoer en uitvoer
De belangrijkste functies zijn printf
(print
formatted) en puts
(put string) voor uitvoer,
en scanf
(scan formatted) en
gets
(get string) voor invoer.
Om deze functies te gebruiken moet je aan het begin van je programma de
regel
#include stdio.h
opnemen.
Dit is het bestand met de prototypes van deze functies.
Format specifiers
In printf
en scanf
is de 1e parameter een string met format specifiers.
In deze string is van elke volgende parameter het type vermeld.
De format specifier begint met %, en je hebt de volgende mogelijkheden:
- %s: Character string (tekenreeks);
- %c: 1 character (char);
- %d: Decimaal getal (int of short);
- %f: Floating point getal (float, double);
- %u: Unsigned getal (unsigned int, unsigned short);
- %ld: Signed decimaal getal (long);
- %lu: Unsigned decimaal getal (unsigned long).
Puts
Deze functie drukt gewoon een string af, met een newline aan het eind.
Gets
Printf
Voorbeeld:
printf("Het product van %d en %d is: %ld\n", x, y, x*y);
Scanf
In tegenstelling tot printf
moeten de 2e en volgende
parameters niet bestaan uit variabelen (of expressies), maar uit adressen
van de variabelen waarin de invoer moet worden opgeslagen.
Voorbeeld:
scanf(Voer 2 getallen in om met elkaar te vermenigvuldigen: %d %d", &x, &y);
De scheiding tussen verschillende in te voeren waardes moet bestaan uit "white space". Alles waar geen tekens staan is white space, dus het gaat spaties maar ook newlines.
2 in te voeren waardes kan je dus scheiden door een willekeurig aantal spaties, maar je kan ze ook op verschillende regels zetten, desnoods met een aantal lege ertussen.
Arrays
Declaratie
Initialisatie
Pointers
Aandachtspunten
Troubleshooting
Syntax
In geval van syntaxfouten, kan je het beste eerst checken of alle haakjes (zowel de gewone, als de curly braces (zoals '}') in balans zijn.
Een andere, veel voorkomende, fout is het ontbreken van een ';' (semicolon, puntkomma) aan het eind van een statement.
Verder kan je checken of alle variabelen gedeclareerd zijn. Daarbij moet je bedenken dat C(++) case sensitive is!!!
Links
Reageer via E-mail (dalmolen@xs4all.nl)
Deze pagina is voor het laatst gewijzigd op: 31-01-23 17:29:28