De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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)

Verwante presentaties


Presentatie over: "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)"— Transcript van de presentatie:

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.


Download ppt "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)"

Verwante presentaties


Ads door Google