From f447dadf2d4d8b484dd7a38a89cdedb158252a68 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Mon, 11 Oct 2021 21:33:16 +0200
Subject: [PATCH] Beispiel-Programme 11.10.2021

---
 20211011/functions-1.c     |  17 ++++++++++++
 20211011/functions-10.c    |  27 ++++++++++++++++++
 20211011/functions-11.c    |  25 +++++++++++++++++
 20211011/functions-2.c     |  12 ++++++++
 20211011/functions-3.c     |  13 +++++++++
 20211011/functions-4.c     |  14 ++++++++++
 20211011/functions-5.c     |  14 ++++++++++
 20211011/functions-6.c     |  26 ++++++++++++++++++
 20211011/functions-7.c     |  27 ++++++++++++++++++
 20211011/functions-8.c     |  27 ++++++++++++++++++
 20211011/functions-9.c     |  27 ++++++++++++++++++
 20211011/hp-20211011.pdf   | Bin 285350 -> 285364 bytes
 20211011/hp-20211011.tex   |   3 +-
 20211011/pointers-1.c      |  14 ++++++++++
 20211011/pointers-2.c      |  14 ++++++++++
 20211011/pointers-3-O0.s   |  55 +++++++++++++++++++++++++++++++++++++
 20211011/pointers-3-O1.s   |  36 ++++++++++++++++++++++++
 20211011/pointers-3.c      |  14 ++++++++++
 20211011/side-effects-1.c  |   8 ++++++
 20211011/side-effects-10.c |   8 ++++++
 20211011/side-effects-11.c |   8 ++++++
 20211011/side-effects-12.c |   8 ++++++
 20211011/side-effects-13.c |  15 ++++++++++
 20211011/side-effects-14.c |  15 ++++++++++
 20211011/side-effects-15.c |  12 ++++++++
 20211011/side-effects-16.c |  13 +++++++++
 20211011/side-effects-17.c |  13 +++++++++
 20211011/side-effects-18.c |  13 +++++++++
 20211011/side-effects-19.c |  13 +++++++++
 20211011/side-effects-2.c  |   8 ++++++
 20211011/side-effects-20.c |  13 +++++++++
 20211011/side-effects-3.c  |   8 ++++++
 20211011/side-effects-4.c  |   8 ++++++
 20211011/side-effects-5.c  |  10 +++++++
 20211011/side-effects-6.c  |  10 +++++++
 20211011/side-effects-7.c  |  10 +++++++
 20211011/side-effects-8.c  |  10 +++++++
 20211011/side-effects-9.c  |   8 ++++++
 38 files changed, 575 insertions(+), 1 deletion(-)
 create mode 100644 20211011/functions-1.c
 create mode 100644 20211011/functions-10.c
 create mode 100644 20211011/functions-11.c
 create mode 100644 20211011/functions-2.c
 create mode 100644 20211011/functions-3.c
 create mode 100644 20211011/functions-4.c
 create mode 100644 20211011/functions-5.c
 create mode 100644 20211011/functions-6.c
 create mode 100644 20211011/functions-7.c
 create mode 100644 20211011/functions-8.c
 create mode 100644 20211011/functions-9.c
 create mode 100644 20211011/pointers-1.c
 create mode 100644 20211011/pointers-2.c
 create mode 100644 20211011/pointers-3-O0.s
 create mode 100644 20211011/pointers-3-O1.s
 create mode 100644 20211011/pointers-3.c
 create mode 100644 20211011/side-effects-1.c
 create mode 100644 20211011/side-effects-10.c
 create mode 100644 20211011/side-effects-11.c
 create mode 100644 20211011/side-effects-12.c
 create mode 100644 20211011/side-effects-13.c
 create mode 100644 20211011/side-effects-14.c
 create mode 100644 20211011/side-effects-15.c
 create mode 100644 20211011/side-effects-16.c
 create mode 100644 20211011/side-effects-17.c
 create mode 100644 20211011/side-effects-18.c
 create mode 100644 20211011/side-effects-19.c
 create mode 100644 20211011/side-effects-2.c
 create mode 100644 20211011/side-effects-20.c
 create mode 100644 20211011/side-effects-3.c
 create mode 100644 20211011/side-effects-4.c
 create mode 100644 20211011/side-effects-5.c
 create mode 100644 20211011/side-effects-6.c
 create mode 100644 20211011/side-effects-7.c
 create mode 100644 20211011/side-effects-8.c
 create mode 100644 20211011/side-effects-9.c

diff --git a/20211011/functions-1.c b/20211011/functions-1.c
new file mode 100644
index 0000000..181c578
--- /dev/null
+++ b/20211011/functions-1.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+int answer (void)
+{
+  return 42;
+}
+
+void foo (void)
+{
+  printf ("%d\n", answer ());
+}
+
+int main (void)
+{
+  foo ();
+  return 0;
+}
diff --git a/20211011/functions-10.c b/20211011/functions-10.c
new file mode 100644
index 0000000..cf4ed0e
--- /dev/null
+++ b/20211011/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);
+}
diff --git a/20211011/functions-11.c b/20211011/functions-11.c
new file mode 100644
index 0000000..ffffa79
--- /dev/null
+++ b/20211011/functions-11.c
@@ -0,0 +1,25 @@
+#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 ();
+  printf ("main(): " "a = %d, b = %d\n", a, b);
+  return 0;
+}
diff --git a/20211011/functions-2.c b/20211011/functions-2.c
new file mode 100644
index 0000000..09d985f
--- /dev/null
+++ b/20211011/functions-2.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+void add_verbose (int a, int b)
+{
+  printf ("%d + %d = %d\n", a, b, a + b);
+}
+
+int main (void)
+{
+  add_verbose (3, 7);
+  return 0;
+}
diff --git a/20211011/functions-3.c b/20211011/functions-3.c
new file mode 100644
index 0000000..5b4322f
--- /dev/null
+++ b/20211011/functions-3.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int add_verbose (int a, int b)
+{
+  printf ("%d + %d = %d\n", a, b, a + b);
+  return 42;
+}
+
+int main (void)
+{
+  add_verbose (3, 7);
+  return 0;
+}
diff --git a/20211011/functions-4.c b/20211011/functions-4.c
new file mode 100644
index 0000000..66eabf3
--- /dev/null
+++ b/20211011/functions-4.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+int add_verbose (int a, int b)
+{
+  printf ("%d + %d = %d\n", a, b, a + b);
+  return 42;
+}
+
+int main (void)
+{
+  int a = add_verbose (3, 7);
+  printf ("Rückgabewert: %d\n", a);
+  return 0;
+}
diff --git a/20211011/functions-5.c b/20211011/functions-5.c
new file mode 100644
index 0000000..b0a3a5f
--- /dev/null
+++ b/20211011/functions-5.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+void add_verbose (int a, int b)
+{
+  printf ("%d + %d = %d\n", a, b, a + b);
+  return 42;
+}
+
+int main (void)
+{
+  void a = add_verbose (3, 7);
+  printf ("Rückgabewert: %d\n", a);
+  return 0;
+}
diff --git a/20211011/functions-6.c b/20211011/functions-6.c
new file mode 100644
index 0000000..354dd53
--- /dev/null
+++ b/20211011/functions-6.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);
+}
diff --git a/20211011/functions-7.c b/20211011/functions-7.c
new file mode 100644
index 0000000..1d89a24
--- /dev/null
+++ b/20211011/functions-7.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 ();
+
+  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);
+}
diff --git a/20211011/functions-8.c b/20211011/functions-8.c
new file mode 100644
index 0000000..2e18b51
--- /dev/null
+++ b/20211011/functions-8.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);
+}
diff --git a/20211011/functions-9.c b/20211011/functions-9.c
new file mode 100644
index 0000000..73a3ab6
--- /dev/null
+++ b/20211011/functions-9.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);
+}
diff --git a/20211011/hp-20211011.pdf b/20211011/hp-20211011.pdf
index ef596911793de3d62b3aaddab01464fb7517cf30..29fce7a42e97d44fe6867372ec13a2cbae8f3449 100644
GIT binary patch
delta 2225
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
P3Y_K!T&k+B{%%|VHP{xQ

delta 2212
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
HyKw;k-OdUc

diff --git a/20211011/hp-20211011.tex b/20211011/hp-20211011.tex
index 76ff44e..535b15b 100644
--- a/20211011/hp-20211011.tex
+++ b/20211011/hp-20211011.tex
@@ -437,7 +437,8 @@
         Apple Mac OS: \file{Xcode}
       \item
         Microsoft Windows: \file{Cygwin}\\
-        oder \file{MinGW} mit \file{MSYS}
+        oder \file{MinGW} mit \file{MSYS}\\
+        oder \file{WSL} mit \file{Xming}
       \medskip
       \item
         außerdem: Texteditor\\
diff --git a/20211011/pointers-1.c b/20211011/pointers-1.c
new file mode 100644
index 0000000..421153a
--- /dev/null
+++ b/20211011/pointers-1.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/20211011/pointers-2.c b/20211011/pointers-2.c
new file mode 100644
index 0000000..3bd2e86
--- /dev/null
+++ b/20211011/pointers-2.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/20211011/pointers-3-O0.s b/20211011/pointers-3-O0.s
new file mode 100644
index 0000000..6a28ff5
--- /dev/null
+++ b/20211011/pointers-3-O0.s
@@ -0,0 +1,55 @@
+	.file	"pointers-3.c"
+	.text
+	.globl	calc_answer
+	.type	calc_answer, @function
+calc_answer:
+.LFB0:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	movq	%rdi, -8(%rbp)
+	movq	-8(%rbp), %rax
+	movl	$42, (%rax)
+	nop
+	popq	%rbp
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	calc_answer, .-calc_answer
+	.section	.rodata
+.LC0:
+	.string	"The answer is %d.\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB1:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	subq	$16, %rsp
+	movl	-4(%rbp), %eax
+	cltq
+	movq	%rax, %rdi
+	call	calc_answer
+	movl	-4(%rbp), %eax
+	movl	%eax, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	leave
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE1:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20211011/pointers-3-O1.s b/20211011/pointers-3-O1.s
new file mode 100644
index 0000000..c03481f
--- /dev/null
+++ b/20211011/pointers-3-O1.s
@@ -0,0 +1,36 @@
+	.file	"pointers-3.c"
+	.text
+	.globl	calc_answer
+	.type	calc_answer, @function
+calc_answer:
+.LFB11:
+	.cfi_startproc
+	movl	$42, (%rdi)
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	calc_answer, .-calc_answer
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"The answer is %d.\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB12:
+	.cfi_startproc
+	subq	$8, %rsp
+	.cfi_def_cfa_offset 16
+	movl	$0, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	addq	$8, %rsp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE12:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20211011/pointers-3.c b/20211011/pointers-3.c
new file mode 100644
index 0000000..7867933
--- /dev/null
+++ b/20211011/pointers-3.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/20211011/side-effects-1.c b/20211011/side-effects-1.c
new file mode 100644
index 0000000..61c4abb
--- /dev/null
+++ b/20211011/side-effects-1.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  "Hello, world!\n";
+  return 0;
+}
diff --git a/20211011/side-effects-10.c b/20211011/side-effects-10.c
new file mode 100644
index 0000000..a8b7d83
--- /dev/null
+++ b/20211011/side-effects-10.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159;
+  printf ("pi = %lf\n", pi);
+  return 0;
+}
diff --git a/20211011/side-effects-11.c b/20211011/side-effects-11.c
new file mode 100644
index 0000000..ec7fb45
--- /dev/null
+++ b/20211011/side-effects-11.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3, po = 14159;
+  printf ("pi = %lf, po = %lf\n", pi, po);
+  return 0;
+}
diff --git a/20211011/side-effects-12.c b/20211011/side-effects-12.c
new file mode 100644
index 0000000..9ebbaa2
--- /dev/null
+++ b/20211011/side-effects-12.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = (3,14159);
+  printf ("pi = %lf\n", pi);
+  return 0;
+}
diff --git a/20211011/side-effects-13.c b/20211011/side-effects-13.c
new file mode 100644
index 0000000..b6d4b13
--- /dev/null
+++ b/20211011/side-effects-13.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  double x = pi;
+  for (int i = 1; i <= 10; i++)
+    {
+      printf ("%2d: %lf\n", x);
+      x += pi;
+    }
+  return 0;
+}
diff --git a/20211011/side-effects-14.c b/20211011/side-effects-14.c
new file mode 100644
index 0000000..6b14797
--- /dev/null
+++ b/20211011/side-effects-14.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  double x = pi;
+  for (int i = 1; i <= 10; i++)
+    {
+      printf ("%2d: %lf\n", i, x);
+      x += pi;
+    }
+  return 0;
+}
diff --git a/20211011/side-effects-15.c b/20211011/side-effects-15.c
new file mode 100644
index 0000000..ea4a227
--- /dev/null
+++ b/20211011/side-effects-15.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  double x;
+  for (int i = 1, x = pi; i <= 10; i++, x += pi)
+    printf ("%2d: %lf\n", i, x);
+  return 0;
+}
diff --git a/20211011/side-effects-16.c b/20211011/side-effects-16.c
new file mode 100644
index 0000000..86570b8
--- /dev/null
+++ b/20211011/side-effects-16.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  int i;
+  double x;
+  for (i = 1, x = pi; i <= 10; i++, x += pi)
+    printf ("%2d: %lf\n", i, x);
+  return 0;
+}
diff --git a/20211011/side-effects-17.c b/20211011/side-effects-17.c
new file mode 100644
index 0000000..ab2fae4
--- /dev/null
+++ b/20211011/side-effects-17.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  int i = 1;
+  double x = pi;
+  for (; i <= 10; i++, x += pi)
+    printf ("%2d: %lf\n", i, x);
+  return 0;
+}
diff --git a/20211011/side-effects-18.c b/20211011/side-effects-18.c
new file mode 100644
index 0000000..62c8cd1
--- /dev/null
+++ b/20211011/side-effects-18.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  int i = 1;
+  double x = pi;
+  for (; i <= 10; x += pi)
+    printf ("%4d: %lf\n", i++, x);
+  return 0;
+}
diff --git a/20211011/side-effects-19.c b/20211011/side-effects-19.c
new file mode 100644
index 0000000..d2a8706
--- /dev/null
+++ b/20211011/side-effects-19.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  int i = 1;
+  double x = 0.0;
+  for (; i <= 10;)
+    printf ("%4d: %lf\n", i++, x += pi);
+  return 0;
+}
diff --git a/20211011/side-effects-2.c b/20211011/side-effects-2.c
new file mode 100644
index 0000000..275a28e
--- /dev/null
+++ b/20211011/side-effects-2.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  42;
+  return 0;
+}
diff --git a/20211011/side-effects-20.c b/20211011/side-effects-20.c
new file mode 100644
index 0000000..7b1ff96
--- /dev/null
+++ b/20211011/side-effects-20.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3.14159265358979323846;
+  printf ("pi = %lf\n", pi);
+  printf ("Vielfache von pi:\n");
+  int i = 1;
+  double x = 0.0;
+  while (i <= 10)
+    printf ("%4d: %lf\n", i++, x += pi);
+  return 0;
+}
diff --git a/20211011/side-effects-3.c b/20211011/side-effects-3.c
new file mode 100644
index 0000000..38c183e
--- /dev/null
+++ b/20211011/side-effects-3.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  int a = 42;
+  return 0;
+}
diff --git a/20211011/side-effects-4.c b/20211011/side-effects-4.c
new file mode 100644
index 0000000..e316c74
--- /dev/null
+++ b/20211011/side-effects-4.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = printf ("Hello, world!\n");
+  printf ("Die Antwort lautet: %d\n", a);
+  return 0;
+}
diff --git a/20211011/side-effects-5.c b/20211011/side-effects-5.c
new file mode 100644
index 0000000..aef0a3d
--- /dev/null
+++ b/20211011/side-effects-5.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = 137;
+  int b = a = 42;
+  printf ("Die Antwort lautet: %d\n", a);
+  printf ("Die Bntwort lautet: %d\n", b);
+  return 0;
+}
diff --git a/20211011/side-effects-6.c b/20211011/side-effects-6.c
new file mode 100644
index 0000000..be6f48e
--- /dev/null
+++ b/20211011/side-effects-6.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = 137;
+  int b = a += 42;
+  printf ("Die Antwort lautet: %d\n", a);
+  printf ("Die Bntwort lautet: %d\n", b);
+  return 0;
+}
diff --git a/20211011/side-effects-7.c b/20211011/side-effects-7.c
new file mode 100644
index 0000000..bd9fe63
--- /dev/null
+++ b/20211011/side-effects-7.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = 137;
+  int b = a++;
+  printf ("Die Antwort lautet: %d\n", a);
+  printf ("Die Bntwort lautet: %d\n", b);
+  return 0;
+}
diff --git a/20211011/side-effects-8.c b/20211011/side-effects-8.c
new file mode 100644
index 0000000..b364305
--- /dev/null
+++ b/20211011/side-effects-8.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = 137;
+  int b = ++a;
+  printf ("Die Antwort lautet: %d\n", a);
+  printf ("Die Bntwort lautet: %d\n", b);
+  return 0;
+}
diff --git a/20211011/side-effects-9.c b/20211011/side-effects-9.c
new file mode 100644
index 0000000..effe4f6
--- /dev/null
+++ b/20211011/side-effects-9.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  double pi = 3,14159;
+  printf ("pi = %lf\n", pi);
+  return 0;
+}
-- 
GitLab