Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdLennert Boer Laatst gewijzigd meer dan 10 jaar geleden
1
GESPRG Les 12 Gestructureerd programmeren in C
2
152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first], &a[last]); first = first + 1; last = last - 1; } void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first++], &a[last--]); } Kan het nog korter?
3
153 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last) { wissel(&a[first++], &a[last--]); } void reverse(int a[], int n) { int first = 0, last = n; while (first < --last) { wissel(&a[first++], &a[last]); } Kan het nog korter?
4
154 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n; while (first < --last) { wissel(&a[first++], &a[last]); } void reverse(int *a, int n) { int *last = a + n; while (a < --last) { wissel(a++, last); } Kan het nog korter?
5
155 C preprocessor Wordt uitgevoerd voordat de “echte” compiler wordt gestart. #include invoegen van andere bestanden #define definiëren van macro’s. #if conditionele compilatie
6
156 #include Include file bevat prototypes (code zit in library die meegelinkt wordt). /*oops include vergeten!*/ int main(void) { printf("%.15lf", sin(1,2)); getchar(); return 0; } 0.000000000000000 Uitvoer: Warning: ' printf ' undefined Warning: ' sin ' undefined Warning: ' getchar ' undefined Compiler:
7
157 #include Include file bevat declaraties (definities zitten in library die meegelinkt wordt). #include int main(void) { printf("%.15lf", sin(1,2)); getchar(); return 0; } Error: ' sin ' : too many arguments for call Compiler:
8
158 #include Include file bevat declaraties (definities zitten in library die meegelinkt wordt). #include int main(void) { printf("%.15lf", sin(1.2)); getchar(); return 0; } 0.932039085967226 Uitvoer:
9
159 Zelfgemaakte include files #include Zoek in de standaard include directories. #include "homemade.h" Zoek in het directory waar de.c file staat en daarna in standaard include directories. #include "h:/mijn_includes/homemade.h" Zoek in het directory h:/mijn_includes/.
10
160 Macro’s (zonder argumenten) Zoek en vervang (voor het compileren). #include #define AANTAL 10 int main(void) { int kwadraten[AANTAL]; int i; for (i = 0; i < AANTAL; i = i + 1) { kwadraten[i] = i * i; } Voordeel?
11
161 Macro’s (met argumenten) Zoek en vervang (voor het compileren) met parameter(s). #include #define KWAD(x) x * x int main(void) { printf("%d\n", KWAD(8)); printf("%d\n", KWAD(4 + 4)); getchar(); return 0; } 64 24 Uitvoer: Wat is er mis?
12
162 Macro’s (met argumenten) Zoek en vervang (voor het compileren) met parameter(s). #include #define KWAD(x) ((x) * (x)) int main(void) { int i = 7; printf("%d\n", KWAD(8)); printf("%d\n", KWAD(4 + 4)); printf("%d\n", KWAD(++i)); getchar(); return 0; } 64 81 Uitvoer: Wat is er mis?
13
163 No Macro’s (met argumenten) Gebruik functie’s #include int kwad(x) { return x * x; } int main(void) { int i = 7; printf("%d\n", kwad(8)); printf("%d\n", kwad(4 + 4)); printf("%d\n", kwad(++i)); getchar(); return 0; } 64 Uitvoer:
14
164 Huiswerk Bestudeer C boek: paragrafen 8.1 t/m 8.3. paragraaf 8.7.
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.