From f8790753f7d087fe3d84be9d0725cc6d75eb5da1 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Thu, 12 Oct 2023 18:02:59 +0200 Subject: [PATCH] Beispiele 12.10.2023 --- 20231012/arrays-01.c | 10 ++++++++++ 20231012/arrays-02.c | 10 ++++++++++ 20231012/arrays-03.c | 9 +++++++++ 20231012/arrays-04.c | 9 +++++++++ 20231012/arrays-05.c | 9 +++++++++ 20231012/arrays-06.c | 9 +++++++++ 20231012/functions-01.c | 4 ++++ 20231012/functions-02.c | 4 ++++ 20231012/functions-03.c | 12 ++++++++++++ 20231012/functions-04.c | 12 ++++++++++++ 20231012/functions-05.c | 12 ++++++++++++ 20231012/functions-06.c | 26 ++++++++++++++++++++++++++ 20231012/functions-07.c | 27 +++++++++++++++++++++++++++ 20231012/functions-08.c | 27 +++++++++++++++++++++++++++ 20231012/functions-09.c | 27 +++++++++++++++++++++++++++ 20231012/functions-10.c | 27 +++++++++++++++++++++++++++ 20231012/functions-11.c | 28 ++++++++++++++++++++++++++++ 20231012/functions-12.c | 26 ++++++++++++++++++++++++++ 20231012/goto-01.c | 13 +++++++++++++ 20231012/goto-02.c | 15 +++++++++++++++ 20231012/loops-01.c | 16 ++++++++++++++++ 20231012/loops-02.c | 16 ++++++++++++++++ 20231012/loops-03.c | 16 ++++++++++++++++ 20231012/pointers-01.c | 14 ++++++++++++++ 20231012/printf-01.c | 11 +++++++++++ 20231012/printf-02.c | 11 +++++++++++ 20231012/printf-03.c | 11 +++++++++++ 20231012/printf-04.c | 11 +++++++++++ 20231012/side-effects-01.c | 8 ++++++++ 20231012/side-effects-02.c | 8 ++++++++ 20231012/side-effects-03.c | 9 +++++++++ 20231012/side-effects-04.c | 11 +++++++++++ 20231012/side-effects-05.c | 11 +++++++++++ 20231012/side-effects-06.c | 8 ++++++++ 20231012/side-effects-07.c | 8 ++++++++ 20231012/side-effects-08.c | 8 ++++++++ 20231012/side-effects-09.c | 8 ++++++++ 20231012/side-effects-10.c | 9 +++++++++ 20231012/side-effects-11.c | 9 +++++++++ 20231012/side-effects-12.c | 9 +++++++++ 20231012/side-effects-13.c | 13 +++++++++++++ 20231012/side-effects-14.c | 15 +++++++++++++++ 20231012/side-effects-15.c | 13 +++++++++++++ 43 files changed, 569 insertions(+) create mode 100644 20231012/arrays-01.c create mode 100644 20231012/arrays-02.c create mode 100644 20231012/arrays-03.c create mode 100644 20231012/arrays-04.c create mode 100644 20231012/arrays-05.c create mode 100644 20231012/arrays-06.c create mode 100644 20231012/functions-01.c create mode 100644 20231012/functions-02.c create mode 100644 20231012/functions-03.c create mode 100644 20231012/functions-04.c create mode 100644 20231012/functions-05.c create mode 100644 20231012/functions-06.c create mode 100644 20231012/functions-07.c create mode 100644 20231012/functions-08.c create mode 100644 20231012/functions-09.c create mode 100644 20231012/functions-10.c create mode 100644 20231012/functions-11.c create mode 100644 20231012/functions-12.c create mode 100644 20231012/goto-01.c create mode 100644 20231012/goto-02.c create mode 100644 20231012/loops-01.c create mode 100644 20231012/loops-02.c create mode 100644 20231012/loops-03.c create mode 100644 20231012/pointers-01.c create mode 100644 20231012/printf-01.c create mode 100644 20231012/printf-02.c create mode 100644 20231012/printf-03.c create mode 100644 20231012/printf-04.c create mode 100644 20231012/side-effects-01.c create mode 100644 20231012/side-effects-02.c create mode 100644 20231012/side-effects-03.c create mode 100644 20231012/side-effects-04.c create mode 100644 20231012/side-effects-05.c create mode 100644 20231012/side-effects-06.c create mode 100644 20231012/side-effects-07.c create mode 100644 20231012/side-effects-08.c create mode 100644 20231012/side-effects-09.c create mode 100644 20231012/side-effects-10.c create mode 100644 20231012/side-effects-11.c create mode 100644 20231012/side-effects-12.c create mode 100644 20231012/side-effects-13.c create mode 100644 20231012/side-effects-14.c create mode 100644 20231012/side-effects-15.c diff --git a/20231012/arrays-01.c b/20231012/arrays-01.c new file mode 100644 index 0000000..35cf856 --- /dev/null +++ b/20231012/arrays-01.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + int *p = prime; + for (int i = 0; i < 5; i++) + printf ("%d\n", *(p + i)); + return 0; +} diff --git a/20231012/arrays-02.c b/20231012/arrays-02.c new file mode 100644 index 0000000..d206e6c --- /dev/null +++ b/20231012/arrays-02.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + int *p = prime; + for (int i = 0; i < 5; i++) + printf ("%d\n", p[i]); + return 0; +} diff --git a/20231012/arrays-03.c b/20231012/arrays-03.c new file mode 100644 index 0000000..83a03a4 --- /dev/null +++ b/20231012/arrays-03.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20231012/arrays-04.c b/20231012/arrays-04.c new file mode 100644 index 0000000..2015ffc --- /dev/null +++ b/20231012/arrays-04.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + for (int *p = prime; p < prime + 5; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20231012/arrays-05.c b/20231012/arrays-05.c new file mode 100644 index 0000000..dcf3217 --- /dev/null +++ b/20231012/arrays-05.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[6] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20231012/arrays-06.c b/20231012/arrays-06.c new file mode 100644 index 0000000..6e19ec4 --- /dev/null +++ b/20231012/arrays-06.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20231012/functions-01.c b/20231012/functions-01.c new file mode 100644 index 0000000..2f3e95f --- /dev/null +++ b/20231012/functions-01.c @@ -0,0 +1,4 @@ +int main (void) +{ + return 0; +} diff --git a/20231012/functions-02.c b/20231012/functions-02.c new file mode 100644 index 0000000..5fdf5e7 --- /dev/null +++ b/20231012/functions-02.c @@ -0,0 +1,4 @@ +int main (void) +{ + return 42; +} diff --git a/20231012/functions-03.c b/20231012/functions-03.c new file mode 100644 index 0000000..e1adaf7 --- /dev/null +++ b/20231012/functions-03.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +void hello () +{ + printf ("Hello, world!\n"); +} + +int main () +{ + hello (); + return 0; +} diff --git a/20231012/functions-04.c b/20231012/functions-04.c new file mode 100644 index 0000000..b22a109 --- /dev/null +++ b/20231012/functions-04.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +void hello () +{ + printf ("Hello, world!\n"); +} + +int main () +{ + hello (42); + return 0; +} diff --git a/20231012/functions-05.c b/20231012/functions-05.c new file mode 100644 index 0000000..055972f --- /dev/null +++ b/20231012/functions-05.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +void hello (void) +{ + printf ("Hello, world!\n"); +} + +int main (void) +{ + hello (42); + return 0; +} diff --git a/20231012/functions-06.c b/20231012/functions-06.c new file mode 100644 index 0000000..23afba7 --- /dev/null +++ b/20231012/functions-06.c @@ -0,0 +1,26 @@ +#include <stdio.h> + +int a, b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + return 0; + + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-07.c b/20231012/functions-07.c new file mode 100644 index 0000000..744ebc9 --- /dev/null +++ b/20231012/functions-07.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +int a; /* bekommt den Wert 0, weil global */ +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; /* bekäme ohne Initialisierung einen Phantasie-Wert */ + printf ("foo(): a = %d, b = %d\n", a, b); + a++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + return 0; + + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-08.c b/20231012/functions-08.c new file mode 100644 index 0000000..dba5528 --- /dev/null +++ b/20231012/functions-08.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +int a = 0; +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; + + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-09.c b/20231012/functions-09.c new file mode 100644 index 0000000..15b1c39 --- /dev/null +++ b/20231012/functions-09.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +int a = 0; +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + return 0; + + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-10.c b/20231012/functions-10.c new file mode 100644 index 0000000..33ac1b3 --- /dev/null +++ b/20231012/functions-10.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +int a = 0; +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + return 0; + + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-11.c b/20231012/functions-11.c new file mode 100644 index 0000000..9f70514 --- /dev/null +++ b/20231012/functions-11.c @@ -0,0 +1,28 @@ +#include <stdio.h> + +int a = 0; +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; + b++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + return 0; + + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/functions-12.c b/20231012/functions-12.c new file mode 100644 index 0000000..0a8c713 --- /dev/null +++ b/20231012/functions-12.c @@ -0,0 +1,26 @@ +#include <stdio.h> + +int a = 0; +int b = 3; + +void foo (void) +{ + b++; + static int a = 5; + int b = 7; + printf ("foo(): a = %d, b = %d\n", a, b); + a++; + b++; +} + +int main (void) +{ + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + a = b = 12; + printf ("main(): a = %d, b = %d\n", a, b); + foo (); + printf ("main(): a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20231012/goto-01.c b/20231012/goto-01.c new file mode 100644 index 0000000..daa96a7 --- /dev/null +++ b/20231012/goto-01.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int i = 0; +loop: + if (i >= 10) + goto endloop; + printf ("%d\n", i++); + goto loop; +endloop: + return 0; +} diff --git a/20231012/goto-02.c b/20231012/goto-02.c new file mode 100644 index 0000000..63b069b --- /dev/null +++ b/20231012/goto-02.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int i = 0; +loop: + if (i >= 10) + goto endloop; + printf ("%d\n", i++); + goto loop; + int a = 42; +endloop: + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20231012/loops-01.c b/20231012/loops-01.c new file mode 100644 index 0000000..909a834 --- /dev/null +++ b/20231012/loops-01.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 1; + do + { + if (a <= 10) + { + printf ("%d\n", a); + a++; + } + } + while (a <= 10); + return 0; +} diff --git a/20231012/loops-02.c b/20231012/loops-02.c new file mode 100644 index 0000000..4abdb5c --- /dev/null +++ b/20231012/loops-02.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 11; + do + { + if (a <= 10) + { + printf ("%d\n", a); + a++; + } + } + while (a <= 10); + return 0; +} diff --git a/20231012/loops-03.c b/20231012/loops-03.c new file mode 100644 index 0000000..2b6c8b5 --- /dev/null +++ b/20231012/loops-03.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 11; + if (a <= 10) + { + do + { + printf ("%d\n", a); + a++; + } + while (a <= 10); + } + return 0; +} diff --git a/20231012/pointers-01.c b/20231012/pointers-01.c new file mode 100644 index 0000000..3bd2e86 --- /dev/null +++ b/20231012/pointers-01.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; +} + +int main (void) +{ + int answer; + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20231012/printf-01.c b/20231012/printf-01.c new file mode 100644 index 0000000..02fb608 --- /dev/null +++ b/20231012/printf-01.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdint.h> + +int main (void) +{ + int answer = 42; + printf ("Die Antwort lautet: "); + printf (answer); + printf ("\n"); + return 0; +} diff --git a/20231012/printf-02.c b/20231012/printf-02.c new file mode 100644 index 0000000..6ad99bc --- /dev/null +++ b/20231012/printf-02.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdint.h> + +int main (void) +{ + uint64_t answer = 42; + printf ("Die Antwort lautet: "); + printf (answer); + printf ("\n"); + return 0; +} diff --git a/20231012/printf-03.c b/20231012/printf-03.c new file mode 100644 index 0000000..7f08428 --- /dev/null +++ b/20231012/printf-03.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdint.h> + +int main (void) +{ + uint64_t answer = "zweiundvierzig"; + printf ("Die Antwort lautet: "); + printf (answer); + printf ("\n"); + return 0; +} diff --git a/20231012/printf-04.c b/20231012/printf-04.c new file mode 100644 index 0000000..d1221fd --- /dev/null +++ b/20231012/printf-04.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdint.h> + +int main (void) +{ + uint64_t answer = &answer; + printf ("Die Antwort lautet: "); + printf (answer); + printf ("\n"); + return 0; +} diff --git a/20231012/side-effects-01.c b/20231012/side-effects-01.c new file mode 100644 index 0000000..61c4abb --- /dev/null +++ b/20231012/side-effects-01.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Hello, world!\n"); + "Hello, world!\n"; + return 0; +} diff --git a/20231012/side-effects-02.c b/20231012/side-effects-02.c new file mode 100644 index 0000000..c7221c5 --- /dev/null +++ b/20231012/side-effects-02.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = printf ("Hello, world!\n"); + printf ("%d\n", a); + return 0; +} diff --git a/20231012/side-effects-03.c b/20231012/side-effects-03.c new file mode 100644 index 0000000..61ef5b6 --- /dev/null +++ b/20231012/side-effects-03.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + int b = 5; + printf ("%d\n", a += b); + return 0; +} diff --git a/20231012/side-effects-04.c b/20231012/side-effects-04.c new file mode 100644 index 0000000..6e58cf7 --- /dev/null +++ b/20231012/side-effects-04.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + int b = 5; + printf ("%d\n", a += b); + printf ("%d\n", a); + printf ("%d\n", b); + return 0; +} diff --git a/20231012/side-effects-05.c b/20231012/side-effects-05.c new file mode 100644 index 0000000..0b1e8bf --- /dev/null +++ b/20231012/side-effects-05.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + int b = 5; + printf ("%d\n", a + b); + printf ("%d\n", a); + printf ("%d\n", b); + return 0; +} diff --git a/20231012/side-effects-06.c b/20231012/side-effects-06.c new file mode 100644 index 0000000..5602fdb --- /dev/null +++ b/20231012/side-effects-06.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + printf ("%d\n", a = 7); + return 0; +} diff --git a/20231012/side-effects-07.c b/20231012/side-effects-07.c new file mode 100644 index 0000000..522f945 --- /dev/null +++ b/20231012/side-effects-07.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + printf ("%d\n", a + 7); + return 0; +} diff --git a/20231012/side-effects-08.c b/20231012/side-effects-08.c new file mode 100644 index 0000000..bff3ab6 --- /dev/null +++ b/20231012/side-effects-08.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + printf ("%d\n", a == 7); + return 0; +} diff --git a/20231012/side-effects-09.c b/20231012/side-effects-09.c new file mode 100644 index 0000000..26dbc41 --- /dev/null +++ b/20231012/side-effects-09.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + printf ("%d\n", a == 3); + return 0; +} diff --git a/20231012/side-effects-10.c b/20231012/side-effects-10.c new file mode 100644 index 0000000..f9f4ffe --- /dev/null +++ b/20231012/side-effects-10.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + a = 3,14; + printf ("%d\n", a); + return 0; +} diff --git a/20231012/side-effects-11.c b/20231012/side-effects-11.c new file mode 100644 index 0000000..05b37ad --- /dev/null +++ b/20231012/side-effects-11.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + a = (3,14); + printf ("%d\n", a); + return 0; +} diff --git a/20231012/side-effects-12.c b/20231012/side-effects-12.c new file mode 100644 index 0000000..0953870 --- /dev/null +++ b/20231012/side-effects-12.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 3; + a = 3.14; + printf ("%d\n", a); + return 0; +} diff --git a/20231012/side-effects-13.c b/20231012/side-effects-13.c new file mode 100644 index 0000000..4a0522d --- /dev/null +++ b/20231012/side-effects-13.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int a = 137; + int b = 0; + if (b == 0) + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("So was macht man nicht.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231012/side-effects-14.c b/20231012/side-effects-14.c new file mode 100644 index 0000000..63357b4 --- /dev/null +++ b/20231012/side-effects-14.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int a = 137; + int b = 0; + if (b == 0) + { + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("So was macht man nicht.\n"); + } + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231012/side-effects-15.c b/20231012/side-effects-15.c new file mode 100644 index 0000000..d35d2fb --- /dev/null +++ b/20231012/side-effects-15.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int a = 137; + int b = 0; + if (b == 0) + printf ("Bitte nicht durch 0 teilen.\n"), + printf ("So was macht man nicht.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} -- GitLab