Inhoud in vogelvlucht

Vergelijkbare documenten
WordPress. 2e editie. Lisa Sabin-Wilson

Inhoud in vogelvlucht

Raspberry Pi VOOR KIDS. Richard Wentk

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

PROS1E1 Handleiding ( ) Kf/Dd/Bd

Inhoud in vogelvlucht

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Inhoud in vogelvlucht

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 De website bij het boek 9 Hoe werkt u met dit boek?

Een Minecraftstad VOOR KIDS. Sarah Guthals

Inhoudsopgave Voorwoord 11 Nieuwsbrief 11 Introductie Visual Steps 12 Wat heeft u nodig? 12 Uw voorkennis 13 Hoe werkt u met dit boek?

Inhoud in vogelvlucht

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

Inhoud. Inleiding 5. Project 1: EEN PROGRAMMEUR WORDEN 9. Project 2: de onderdelen voor je Robot verzamelen 33

Apps maken VOOR KIDS. Nadine Bergner Thiemo Leonhardt

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

9 Meer over datatypen

3. Familiegegevens zoeken Rapporten in Aldfaer

het Officiële Boek Help je kinderen leren programmeren! Marina Umaschi Bers en Mitchel Resnick

Hoofdstuk 1 Wat zijn apps eigenlijk?

Online c++ leren programmeren:

Programmeren voor Dummies

Inhoudsopgave. Voorwoord... 7 Wat doet SeniorWeb?... 8 Wat heeft u nodig?... 9 Hoe werkt u met dit boek? De schermafbeeldingen...

KureghemNet is een project van MAKS vzw. Computerles Programmaboekje sep dec 2014

1. Kennismaken met Windows 8

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Hoe werkt u met dit boek? 9 Uw voorkennis

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

L A TEX-workshop (Handleiding)

Inhoudsopgave Voorwoord 11 Nieuwsbrief 11 Introductie Visual Steps 12 Wat heeft u nodig? 12 Uw voorkennis 13 Hoe werkt u met dit boek?

leer-actief werkboek Naam: 1

1. Kennismaken met Windows 10

Scratch - Programmeren voor Kids

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

1. Starten met Windows 10

Hoofdstuk 1. Introductie. Wat is icloud?

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

4. Eerste hulp bij softwareproblemen

VBA voor Doe het Zelvers deel 9

Aan de slag met Windows 10

1. Starten op het World Wide Web

DE INTERACTIEVE SHELL

Microsoft Word 365. Kennismaken AAN DE SLAG MET DIGITALE VAARDIGHEDEN TRAINING: MICROSOFT WORD 365

VEELGESTELDE VRAGEN. 1. Hoe start de FixMeStick voor Mac? 2. Hoe start de FixMeStick voor Windows? 3. Hoe start de FixMeStick vanuit BIOS?

WELKOM BIJ BOMBERBOT! LES 1: WAT IS PROGRAMMEREN LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? INTRODUCTIE

Pensioen. 2e editie. Erik Beckers Robert Collignon

Wil jij minderen met social media?

Inhoudsopgave Voorwoord 5 Nieuwsbrief 5 Introductie Visual Steps 6 Wat heeft u nodig? 6 Uw voorkennis 7 Hoe werkt u met dit boek?

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Hoe werkt u met dit boek? 9 Uw voorkennis

Office-bestanden en OneDrive

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

Inhoudsopgave Voorwoord 9 Introductie Visual Steps 10 Nieuwsbrief Wat heeft u nodig? Voor docenten

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

VBA voor Doe het Zelvers deel 14

Cursusgids - Beginners lessen. Eerste druk November Digitaal Leerplein. Website: info@digitaalleerplein.

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

Programmeren in Access 2016 met VBA

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: December 2013

Hoe introduceer ik PastoraatWijzer in een groep? Handreiking: Pastoraat-wijzer in een uur

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

IN BEWEGING. STEM-wetenschapper. STEM opdracht: Digitaal hulpmiddel

cbox UW BESTANDEN GAAN MOBIEL! VOOR ANDROID-SMARTPHONES EN -TABLETS GEBRUIKERSHANDLEIDING

Cursus Programmeren en Dataverwerking.

Bij het opstarten van Small Basic verschijnt er de onderstaande werkomgeving.

Beknopte handleiding voor Derive 5.0 for Windows

Programmeren: Visual Basic

Hallo, Als je vragen hebt tijdens het invullen, vraag die dan aan jouw docent(e). Bedankt voor het invullen van de vragenlijst!

TEKSTVERWERKEN, DE BASIS

Een spoedcursus python

Communicatie in het horecabedrijf. Waar gaat deze kaart over? Wat wordt er van je verwacht? Wat is communicatie?

Virgo + WPS Office. Tabletproject

Linux Mint 10 installeren op een pc of laptop.

1. icloud instellen icloud op de iphone of ipad icloud op de Mac Achtergrondinformatie... 19

Programmeren voor het web met PHP

Uw TOSHIBA Windows -pc of tablet upgraden naar Windows 10

Inhoudsopgave Visual Steps - Dit is de inhoudsopgave van de titel ipad voor senioren met ios 12 en hoger ISBN

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Transcriptie:

Inhoud in vogelvlucht Inleiding........................................................ 1 Deel 1: Aan de slag met C................................ 7 HOOFDSTUK 1: Een snelle start voor ongeduldige beginners............... 9 HOOFDSTUK 2: Leren programmeren................................... 23 HOOFDSTUK 3: De anatomie van C..................................... 33 Deel 2: De beginselen van het programmeren met C............................................... 49 HOOFDSTUK 4: Vallen en opstaan...................................... 51 HOOFDSTUK 5: Waarden en constanten................................. 63 HOOFDSTUK 6: Een plek om dingen te bewaren.......................... 75 HOOFDSTUK 7: Invoer en uitvoer....................................... 87 HOOFDSTUK 8: Beslissingen nemen................................... 101 HOOFDSTUK 9: Lussen, lussen, Lussen................................. 119 HOOFDSTUK 10: Vrolijke functies....................................... 135 Deel 3: Je kennis uitbreiden........................... 151 HOOFDSTUK 11: Het onvermijdelijke wiskundehoofdstuk.................. 153 HOOFDSTUK 12: Arrays................................................ 173 HOOFDSTUK 13: Plezier met tekst...................................... 193 HOOFDSTUK 14: Structuren, de multivariabelen.......................... 211 HOOFDSTUK 15: Het leven op de opdrachtregel.......................... 221 HOOFDSTUK 16: Variabele onzin........................................ 231 HOOFDSTUK 17: Binaire gekte.......................................... 243 Deel 4: Het geavanceerde deel....................... 261 HOOFDSTUK 18: Inleiding in pointers.................................... 263 HOOFDSTUK 19: Dieper op pointers ingaan.............................. 279 HOOFDSTUK 20: Gekoppelde lijsten..................................... 299 Deel 5: Overige belangrijke zaken................... 319 HOOFDSTUK 21: Functies voor permanente opslag....................... 321 HOOFDSTUK 22: Gecompliceerde projecten............................. 341 HOOFDSTUK 23: Fouten opsporen...................................... 353 Deel 6: Het deel van de tientallen................... 365 HOOFDSTUK 24: Tien veelvoorkomende fouten.......................... 367 Index.......................................................... 375 Inhoud in vogelvlucht vii

Inleiding Zeg Hallo, wereld tegen Programmeren met C voor Dummies, een boek dat je van een beschaafd, gevoelig mens zal omtoveren in een vooraanstaand lid van een subcultuur met programmerende nerds. Nee, echt, dat is positief bedoeld. Als je eenmaal met C kunt programmeren, ben je de baas over allerlei elektronische apparaten. Je maakt dan je eigen programma s die je wil opleggen aan computers, tablets en smartphones. Deze elektronica doet dan precies wat je hebt opgedragen. Met de informatie in dit boek kun je programmeerexamens halen, indruk op je vrienden maken, in Hollywood bewonderd worden of gewoon je eigen softwarebedrijf beginnen. Leren programmeren is echt een waardevolle investering van je tijd. Dit boek zorgt ervoor dat het leren programmeren leuk en begrijpelijk blijft. Je hebt geen programmeerervaring nodig en het is zelfs niet nodig om nieuwe software te kopen. Je hebt alleen de ambitie nodig om te leren programmeren met C en de mogelijkheid om dit met plezier te doen. Is de taal C nog relevant? Elke paar jaar zegt iemand dat het leren van C een doodlopende weg is. Er bestaan nieuwere en betere programmeertalen, wordt dan gesteld, en het is veel verstandiger om deze te leren kennen in plaats van tijd te verspillen aan C. Onzin. Eigenlijk is C het Latijn van de computerprogrammeertalen. Bijna alle nieuwkomers onder de programmeertalen gebruiken de syntaxis van C. Sleutelwoorden en sommige functies van C hebben hun weg gevonden naar andere populaire talen, zoals C++, Java, Python en wat de nieuwste trend ook is. Het gaat erom dat als je eenmaal met C kunt programmeren, je ook al deze andere programmeertalen snel onder de knie hebt. In boeken die Inleiding 1

andere programmeertalen uitleggen, wordt er vaak zelfs van uitgegaan dat je een beetje C kent voordat je begint. Dit kan frustrerend zijn voor een beginner, tenzij je natuurlijk wat basiskennis van C hebt. Maar ondanks de uitspraken van tegenstanders en critici blijft C nog steeds relevant. Programma s voor microcontrollers, besturingssystemen en omvangrijke softwarepakketten worden gewoon in C geprogrammeerd. Het is dus absoluut geen tijdverspilling. De aanpak van het leren programmeren in C voor Dummies Als programmeur heb ik me door veel, heel veel programmeerboeken gezwoegd. Ik weet precies wat ik niet wil lezen, maar helaas kom ik deze dingen juist heel vaak tegen: pagina s vol code, waarmee een auteur over zijn kennis opschept om indruk op zijn programmeursmaatjes te maken, maar eigenlijk niets mee uitlegt. Er bestaat veel te veel van dit soort oefenmateriaal; misschien is dit wel de reden dat je dit boek hebt gepakt. Mijn aanpak is eenvoudig: korte programma s. Gerichte uitleg. Heel veel voorbeelden. Voldoende oefenmateriaal. De beste manier om iets te leren is het doen. Elk concept dat in dit boek wordt uitgelegd, gaat vergezeld van voorbeeldcode. De listings zijn kort genoeg om snel in te voeren; ik raad je dan ook aan om dit te doen. Vervolgens compileer je de code en voer je het programma uit om de werking te bekijken. Deze directe feedback geeft niet alleen voldoening, maar is ook een uitstekend hulpmiddel bij het leren. Voorbeeldprogramma s worden gevolgd door oefeningen die je zelf kunt uitproberen om de opgedane vaardigheden te testen en je kennis verder uit te breiden. Oplossingen voor de oefeningen vind je op de volgende website: http://www.c-for-dummies.com/begc4d/exercises Een opmerking hierbij: de oplossingen van de oefeningen in hoofdstuk 21 vind je onder Chapter 22, die van hoofdstuk 22 onder Chapter 24, die van hoofdstuk 23 onder Chapter 25 en die van hoofdstuk 24 onder Chapter 26. 2 Programmeren met C voor Dummies

De werking van dit boek In dit boek wordt het programmeren in de taal C uitgelegd. Ik neem aan het begin van het boek aan dat je weinig tot niets van programmeren weet en tegen het einde laat ik je kennismaken met enkele zeer geavanceerde bewerkingen in C. Voor het programmeren heb je een computer nodig. Het maakt niet uit welk type computer je hiervoor gebruikt; dit kan een pc met Windows zijn, een Macintosh of een Linux-systeem. Bij al deze systemen kun je gebruikmaken van de ontwikkelomgeving (IDE) Code::Blocks, net als in dit boek. In hoofdstuk 1 lees je hoe je aan deze gratis IDE komt en hoe je hem installeert. Er wordt geen tijd verspild, want dit boek kent een vliegende start in hoofdstuk 1. Alles wordt wel van een volledige uitleg voorzien, al zijn er vanwege de aard van het programmeren een paar uitzonderingen op deze regel; deze staan duidelijk in de tekst vermeld. De beste manier om dit boek te lezen is van kaft tot kaft. De sleutelwoorden en functies van de taal C staan in monofont, zoals bij de functie printf() en het sleutelwoord break. Het ziet er in het begin wat vreemd uit om op deze manier for en if in een zin te zien staan, maar het is dan wel direct duidelijk dat die woorden bij de taal C horen. Bestandsnamen worden in monospace getoond, bijvoorbeeld als programma.exe. Tekst die je moet invoeren, wordt vetgedrukt weergegeven. De zin Typ de opdracht blorfus betekent bijvoorbeeld dat je blorfus op het toetsenbord moet invoeren. Je krijgt te horen wanneer je op Enter moet drukken, en wanneer niet. Bij genummerde stappen wordt in te voeren tekst in een normaal lettertype getoond: 3. Typ exit en druk daarna op Enter. Je typt in zo n geval het woord exit en drukt dan op de Enter-toets. Programmacode verschijnt als volgt op de pagina: if(i==1) printf("ik win"); Inleiding 3

Je hoeft computervoorbeelden alleen zelf in te voeren als erom wordt gevraagd. Complete, genummerde programmalistings worden in elk hoofdstuk op de volgende manier getoond: LISTING 1.1 Het codesjabloon van Code::Blocks #include <stdio.h> #include <stdlib.h> int main() { printf("hello world!\n"); return(0); } Door de beperkte breedte van de boekpagina s loopt de code in een listing soms op een volgende regel door. Jij hoeft dit niet na te doen; bovendien waarschuw ik je als dit in een listing voorkomt. Bij de listings in dit boek worden geen regelnummers gegeven, al krijg je deze wel te zien in de editor van Code::Blocks (net als in veel andere editors). In dit boek wordt wel naar de regelnummers van voorbeeldcode verwezen. Gebruik gewoon de regelnummers in je editor als je de uitleg over de code leest. De oefeningen worden per hoofdstuk opeenvolgend genummerd. De derde oefening van hoofdstuk 13 heet dus oefening 13.3. In de tekst vind je aanwijzingen om aan een oefening te werken. Bijvoorbeeld: Oefening 1.1. Typ de broncode van listing 1.1 in de editor van Code::Blocks. Sla hem op met de bestandsnaam ex0101. Compileer de code en voer het programma uit. Oplossingen van alle oefeningen vind je op het web: http://www.c-for-dummies.com/begc4d/exercises Een opmerking hierbij: de oplossingen van de oefeningen in hoofdstuk 21 vind je onder Chapter 22, die van hoofdstuk 22 onder Chapter 24, die van hoofdstuk 23 onder Chapter 25 en die van hoofdstuk 24 onder Chapter 26. Op deze pagina vind je ook de broncode uit de Amerikaanse uitgave van dit boek. Maar besef wel dat je meer van de code leert als je alles zelf 4 Programmeren met C voor Dummies

invoert. Bovendien zijn de meeste programmalistings in dit boek helemaal niet zo lang. De pictogrammen in dit boek Dit pictogram markeert informatie die de moeite waard is om te onthouden. Het is natuurlijk de bedoeling dat je zo veel mogelijk uit dit boek onthoudt, maar deze zaken kun je maar beter niet vergeten. TIP Een tip is een suggestie, speciale truc of iets handigs waar je veel aan hebt. PAS OP Dit pictogram markeert iets wat je moet vermijden. Het zou ook als tip gemarkeerd kunnen worden, maar in dit geval zijn er vervelende consequenties als je het advies negeert. Natuurlijk, alles aan programmeren is technisch. Maar dit pictogram is gereserveerd voor zeer technische feiten, kanttekeningen en anekdotes. Voer voor nerds met andere woorden. Laatste opmerkingen Ik ben dol op programmeren. Het is een hobby die ik heel ontspannend, frustrerend en nuttig vind. Waarschijnlijk delen veel anderen deze gevoelens, maar misschien ben jij een student die net leert programmeren of iemand die het voor zijn werk nodig heeft. Het belangrijkste is dat je plezier beleeft aan het programmeren. Als je je een voorstelling kunt maken van een programma, dan kun je het ook in beeld laten verschijnen. Dit gebeurt misschien niet zo snel als je wilt, maar ik weet zeker dat je het kunt. Doe asjeblieft de oefeningen in dit boek; je hebt er veel aan. Zet door tot je een probleem weet op te lossen. Bij het programmeren zijn er vele wegen die naar Rome leiden; er bestaan dus meerdere correcte oplossingen. Maar ook als je niet tot het antwoord komt, steek je er iets van op. Probeer een programmeervriend te vinden die je kan helpen. Het is niet de bedoeling dat hij of zij je werk doet of dingen uitlegt, maar iemand die als vraagbaak fungeert kan geen kwaad. Programmeren is vaak iets wat je alleen doet, maar het is soms prettig om met anderen te praten over C, of een andere programmeertaal. Inleiding 5

De broncode van de listings uit de Nederlandse editie van dit boek vind je op de volgende site: www.dummies.nl/downloads Mijn e-mailadres is: dan@c-for-dummies.com Ik vind het leuk om (Engelstalige) berichten te ontvangen, maar schrijf geen code voor je. Ik maak trouwens ook geen werkstukken voor school of universiteit. Maar als je vragen of opmerkingen over dit boek hebt, hoor ik die graag van je. Veel plezier met programmeren in C! 6 Programmeren met C voor Dummies

1Aan de slag met C

IN DIT DEEL... Download en installeer je de IDE Code::Blocks. Schrijf je je allereerste programma. Ontdek je hoe programmeren werkt. Leer je de verschillende onderdelen van C kennen. Maak je met Code::Blocks een codesjabloon voor C.

IN DIT HOOFDSTUK Code::Blocks downloaden Je eerste project voorbereiden De code invoeren Het project uitvoeren Code::Blocks sluiten Hoofdstuk 1 Een snelle start voor ongeduldige beginners Je staat waarschijnlijk te popelen om te gaan programmeren in C, dus laten we direct van wal steken. Wat je voor het programmeren nodig hebt Voor de volledige zeggenschap over een computer, tablet, smartphone, spelcomputer of wat dan ook heb je enkele softwaretools nodig. Het goede nieuws is dat al deze hulpmiddelen in de 21e eeuw gratis en snel van internet gehaald kunnen worden. Het enige wat je moet weten, is wat je nodig hebt en waar je het kunt vinden. Hoofdstuk 1 Een snelle start voor ongeduldige beginners 9