GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.

Slides:



Advertisements
Verwante presentaties

Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.
Objectgeoriënteerd Programmeren in C++




Embedded systemen Embedded software.
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.
Algoritmen en Datastructuren (ALDAT)
Programmeren met Alice
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.
Arduino project.
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.
Enumerate typedef struct union functiepointers 1.
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.

Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.


Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
Frank Stalpers en Ad Baars
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
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.
Real-Time Systems (RTSYST) Week Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0.
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)
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
SWI cursus: ‘Inleiding programmeren in Java’
Hoofdstuk 7 verplicht… Keuze.
Inleiding programmeren in C++ Life Science & Technology 2 februari Universiteit Leiden.
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
CONTROLESTRUCTUREN (DEEL 1)
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.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
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.
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
CONTROLESTRUCTUREN (DEEL 1)
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,
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Instructie Programmeren Task 7
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
GUI & classes Een Gui in een class steken en het object gebruiken.
Informatie beoordelen If else Switch En Wiskunde.
Javascript. Vandaag Samenvatting vorige les PSD's Random Array's Herhalingen – For-loop – While-loop.
Gameprogrammeren: Keuzeopdrachten
Hoofdstuk 9.2 Strings.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les5 Invoer en Uitvoer.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les4 Klassen.
Transcript van de presentatie:

GESPRG Les 14 Gestructureerd programmeren in C

174 Details! The devil is in the details.

175 Type Specifiers (C89) short int long int signed int / signed char unsigned int / unsigned char sizeof(short) ≤ sizeof(int) meestal 2 sizeof(long) ≥ sizeof(int) meestal 4 two’s complement values only values ≥ 0 Erg verwarrend!

176 (Extra) Type Specifiers (C99) stdint.h int8_t en uint8_t int16_t en uint16_t int32_t en uint32_t int64_t en uint64_t stdbool.h bool en de constanten: false en true complex.h complex en diverse functies

177 Block Scope (C89) Variabelen mogen alleen aan het begin van een compound statement gedefinieerd worden, dus na {. De scope (zichtbaarheid) is het betreffende compound statement behalve als naam verborgen is (door variabele met dezelfde naam). De lifetime (levensduur) tot einde van compound statement } uitgevoerd is.

178 Block Scope (C99) Variabelen mogen overal in een compound statement gedefinieerd worden. De scope (zichtbaarheid) is tot einde van het betreffende compound statement behalve als naam verborgen is (door variabele met dezelfde naam). De lifetime (levensduur) tot einde van compound statement } uitgevoerd is. int a[] = {1, 2, 3, 4, 5}, som = 0; for (int i = 0; i < sizeof a / sizeof a[0]; i++) { som += a[i]; }

179 break Verlaten switch Verlaten for, while of do … while Komt de duidelijkheid meestal niet ten goede!

180 continue Ga meteen naar test for, while of do … while Komt de duidelijkheid meestal niet ten goede!

181 Tel letters eerste woord #include int main(void) { char zin[] = "Hallo daar"; int i; for (i = 0; zin[i] != ' '; i++) /* nothing to do */ ; printf("Lengte eerste woord = %d\n", i); getchar(); return 0; } Wie ziet het probleem ? Soms heb je aan 1 woord genoeg

182 Tel letters eerste woord #include int main(void) { char zin[] = "Hallo daar"; int i; for (i = 0; zin[i] != ' '; i++) { if (zin[i] == '\0') break; } printf("Lengte eerste woord = %d\n", i); getchar(); return 0; } Werkt wel maar is niet zo duidelijk!

183 Tel letters eerste woord #include int main(void) { char zin[] = "Hallo daar"; int i; for (i = 0; zin[i] != ' ' && zin[i] != '\0'; i++) { /* nothing to do */ } printf("Lengte eerste woord = %d\n", i); getchar(); return 0; } Werkt ook!

184 Toekomst PROEPP (blok 4): gebruik Linux bordje, programmeren in C MICPRG (tweede jaar): struct shift operators bitwise operators hexadecimale constanten OGOPRG (tweede jaar): object georiënteerd programmeren in C++ modeleren met UML

185 Verre toekomst ECV (derde jaar) RTSYST (verplicht) Real-Time software en Real- Time Operating System ALGODS (keuze) Algoritmen en datastructuren

186 Huiswerk Bestudeer C boek: paragraaf 4.7 (laatste deel op pagina 126). paragraaf Maak opdracht: 9 van paragraaf Bekijk (eventueel):