GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.

Slides:



Advertisements
Verwante presentaties

Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.




Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World •Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Inleiding programmeren in C++ Life Science & Technology 1 maart Universiteit Leiden.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
MICPRG Les 12 Microcontroller Programmeren in C. 127 Real-time clock PC heeft een RTC Real-time Clock die de “time of day” bijhoudt. De RTC is voorzien.
Week 1: overzicht computersysteem-organisatie
Gestructureerd programmeren in C
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
PROS2 Les 11 Programmeren en Software Engineering 2.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.

Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.

Numerieke Natuurkunde
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 8 Gestructureerd programmeren in C. 101 Array Meerdere variabelen van hetzelfde type kun je samennemen in één array variabele. Stel in een.
GESPRG Les 9 Gestructureerd programmeren in C dimensionale array Array van array’s int i = 31; int a[4] = {7, 23, 6, 2}; int m[2][4] = { {1, 1,
GESPRG Les 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
Deel I: Programmeertaal C 6. Arrays en Pointers
P. 1 Deel I: Programmeertaal C 4. Functies en Macro’s Prof.Dr.Ir. Filip De Turck.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
tircms02-p les 1 Operating Systems practicum
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
PEMSY1http:// 1  Herhaling nieuwe instructies van vorige week  nieuw: combineren van assembler en C  oefeningen: assembler.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Instructie Programmeren Task 7
Instructie Programmeren Task 2 5JJ70. Task 2.1: Voltage divider Welk type variabele heb je nodig? Negative weerstanden bestaan niet! (print een error.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Variabelen. Wat zijn variabelen? Klassiek: een variabele houdt informatie bij. Klassiek: een variabele houdt informatie bij. bvb: int getal; getal = 5;
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  de track structuur van een MIDI file interpreteren.
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Objecten en geheugen
SOCS Test 1.
Kennismaking met programmeren
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Tinpro015b-les5 Invoer en Uitvoer.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les6 Templates.
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Tinpro015b-les4 Klassen.
Programmastructuurdiagrammen (PSD)
Kennismaking met programmeren
Aanroep van een methode voert opdrachten uit in de body daarvan
Binaire getallen 1. binair → decimaal 2. decimaal → binair.
Tellen met kaarten.
Tellen met kaarten.
Transcript van de presentatie:

GESPRG Les 7 Gestructureerd programmeren in C

92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int a, int b) { int hulpje = a; a = b; b = hulpje; } int main(void) { int x = 7, y = 8; printf("x = %d en y = %d\n", x, y); wissel(x, y); printf("x = %d en y = %d\n", x, y); getchar(); return 0; } Eerste poging Niet goed! Bij aanroep van de functie wordt de waarde van het argument gekopieerd naar de parameter (call by value)

93 Pointers C kent naast de “gewone” variabelen ook pointer variabelen.

Geheugen Het geheugen van een computer bestaat uit bytes (groepje van 8 bits). Elk byte heeft zijn eigen adres (een nummer). Een variabele is opgeslagen in het geheugen vanaf een bepaald adres. Het type van de variabele bepaald het aantal bytes wat nodig is om de waarde van de variabele op te slaan. 94

95 Adres opvragen Je kunt het adres van een variabele opvragen met behulp van de unary operator &. Je kunt het aantal bytes dat een variabele in beslag neemt opvragen met de unary operator sizeof. int getal; scanf("%d", &getal); Adres van getal, zodat scanf de ingelezen waarde op dat adres kan opslaan.

96 Adres opvragen #include int global = 4; int main(void) { double local = 7.2; printf("global is opgeslagen op adres %p\n", &global); printf("en is %d bytes groot\n", sizeof global); printf("local is opgeslagen op adres %p\n", &local); printf("en is %d bytes groot\n", sizeof local); getchar(); return 0; } Gebruik %p voor printen van adres Adres wordt in hexadecimale talstelsel geprint

97 Pointer Je kunt het adres van een variabele opslaan in een pointer variabele. int i = 3, j = 17; int *p = &i; *p = *p + 1; p = &j; *p = i + 1; 3 i0013FF60 17 j0013FF FF60 p0013FF FF54 p is een int pointer die wordt geïnitialiseerd met het adres van i *p  waar p naar wijst 5

98 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int *p, int *q) { int hulpje = *p; *p = *q; *q = hulpje; } int main(void) { int x = 7, y = 8; printf("x = %d en y = %d\n", x, y); wissel(&x, &y); printf("x = %d en y = %d\n", x, y); getchar(); return 0; } Tweede poging Wel goed! call by reference

99 Huiswerk Bestudeer de werking van de functie wissel. Teken de variabelen x, y, p, q en hulpje en bepaal hun inhoud gedurende de uitvoering van het programma. Bestudeer C boek: paragrafen 6.2 en 6.3.