From cdde8beea2e39d6161dd16c15ba0001019b955a1 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Thu, 2 Nov 2023 00:03:55 +0100
Subject: [PATCH] Beispiele 26.10.2023

---
 20231019/strings-07a.c    |  21 ++++++++++++++
 20231019/strings-07b.c    |  21 ++++++++++++++
 20231019/strings-07c.c    |  21 ++++++++++++++
 20231019/strings-07d.c    |  21 ++++++++++++++
 20231026/answer.c         |   6 ++++
 20231026/answer.h         |   1 +
 20231026/gtk-01.c         |   2 +-
 20231026/gtk-02.c         |   3 +-
 20231026/hello-01.c       |   7 +++++
 20231026/hello-02.c       |   7 +++++
 20231026/higher-math-01.c |  10 +++++++
 20231026/higher-math-02.c |  10 +++++++
 20231026/higher-math-03.c |  10 +++++++
 20231026/higher-math-04.c |  10 +++++++
 20231026/higher-math-05.c |  10 +++++++
 20231026/hp-20231026.pdf  | Bin 199445 -> 199441 bytes
 20231026/hp-20231026.tex  |  12 ++++----
 20231026/philosophy.c     |   8 ++++++
 20231026/string-ops-01.c  |  20 +++++++++++++
 20231026/string-ops-02.c  |  20 +++++++++++++
 20231026/string-ops-02.s  |  48 ++++++++++++++++++++++++++++++++
 20231026/string-ops-03.c  |  20 +++++++++++++
 20231026/string-ops-03.s  |  57 ++++++++++++++++++++++++++++++++++++++
 20231026/string-ops-04.c  |  20 +++++++++++++
 20231026/string-ops-04.s  |  48 ++++++++++++++++++++++++++++++++
 20231026/string-ops-05.c  |  18 ++++++++++++
 20231026/string-ops-06.c  |  18 ++++++++++++
 20231026/string-ops-07.c  |  19 +++++++++++++
 20231026/string-ops-08.c  |  19 +++++++++++++
 20231026/string-ops-09.c  |  20 +++++++++++++
 20231026/string-ops-10.c  |  20 +++++++++++++
 20231026/string-ops-11.c  |  20 +++++++++++++
 20231026/string-ops-11.s  |  55 ++++++++++++++++++++++++++++++++++++
 20231026/string-ops-12.c  |  20 +++++++++++++
 20231026/string-ops-12.s  |  54 ++++++++++++++++++++++++++++++++++++
 20231026/string-ops-13.c  |  20 +++++++++++++
 20231026/string-ops-14.c  |  20 +++++++++++++
 20231026/string-ops-15.c  |  15 ++++++++++
 20231026/string-ops-16.c  |  15 ++++++++++
 20231026/string-ops-17.c  |  15 ++++++++++
 20231026/string-ops-18.c  |  17 ++++++++++++
 20231026/string-ops-19.c  |  17 ++++++++++++
 20231026/string-ops-20.c  |  17 ++++++++++++
 20231026/string-ops-21.c  |  17 ++++++++++++
 20231026/string-ops-22.c  |  17 ++++++++++++
 45 files changed, 838 insertions(+), 8 deletions(-)
 create mode 100644 20231019/strings-07a.c
 create mode 100644 20231019/strings-07b.c
 create mode 100644 20231019/strings-07c.c
 create mode 100644 20231019/strings-07d.c
 create mode 100644 20231026/answer.c
 create mode 100644 20231026/answer.h
 create mode 100644 20231026/hello-01.c
 create mode 100644 20231026/hello-02.c
 create mode 100644 20231026/higher-math-01.c
 create mode 100644 20231026/higher-math-02.c
 create mode 100644 20231026/higher-math-03.c
 create mode 100644 20231026/higher-math-04.c
 create mode 100644 20231026/higher-math-05.c
 create mode 100644 20231026/philosophy.c
 create mode 100644 20231026/string-ops-01.c
 create mode 100644 20231026/string-ops-02.c
 create mode 100644 20231026/string-ops-02.s
 create mode 100644 20231026/string-ops-03.c
 create mode 100644 20231026/string-ops-03.s
 create mode 100644 20231026/string-ops-04.c
 create mode 100644 20231026/string-ops-04.s
 create mode 100644 20231026/string-ops-05.c
 create mode 100644 20231026/string-ops-06.c
 create mode 100644 20231026/string-ops-07.c
 create mode 100644 20231026/string-ops-08.c
 create mode 100644 20231026/string-ops-09.c
 create mode 100644 20231026/string-ops-10.c
 create mode 100644 20231026/string-ops-11.c
 create mode 100644 20231026/string-ops-11.s
 create mode 100644 20231026/string-ops-12.c
 create mode 100644 20231026/string-ops-12.s
 create mode 100644 20231026/string-ops-13.c
 create mode 100644 20231026/string-ops-14.c
 create mode 100644 20231026/string-ops-15.c
 create mode 100644 20231026/string-ops-16.c
 create mode 100644 20231026/string-ops-17.c
 create mode 100644 20231026/string-ops-18.c
 create mode 100644 20231026/string-ops-19.c
 create mode 100644 20231026/string-ops-20.c
 create mode 100644 20231026/string-ops-21.c
 create mode 100644 20231026/string-ops-22.c

diff --git a/20231019/strings-07a.c b/20231019/strings-07a.c
new file mode 100644
index 0000000..3fa3628
--- /dev/null
+++ b/20231019/strings-07a.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char hello[] = "Hello, world!\n";
+
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  printf ("%s\n", hello - 7);
+  printf ("%zd\n", strlen (hello - 7));
+
+  return 0;
+
+  hello[5] = 0;
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  return 0;
+}
diff --git a/20231019/strings-07b.c b/20231019/strings-07b.c
new file mode 100644
index 0000000..a1fa8d7
--- /dev/null
+++ b/20231019/strings-07b.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char hello[] = "Hello, world!\n";
+
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  printf ("%s\n", hello - 1);
+  printf ("%zd\n", strlen (hello - 1));
+
+  return 0;
+
+  hello[5] = 0;
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  return 0;
+}
diff --git a/20231019/strings-07c.c b/20231019/strings-07c.c
new file mode 100644
index 0000000..a1fa8d7
--- /dev/null
+++ b/20231019/strings-07c.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char hello[] = "Hello, world!\n";
+
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  printf ("%s\n", hello - 1);
+  printf ("%zd\n", strlen (hello - 1));
+
+  return 0;
+
+  hello[5] = 0;
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  return 0;
+}
diff --git a/20231019/strings-07d.c b/20231019/strings-07d.c
new file mode 100644
index 0000000..ba7d83c
--- /dev/null
+++ b/20231019/strings-07d.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char hello[] = "Hello, world!\n";
+
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  printf ("%s\n", hello + 17);
+  printf ("%zd\n", strlen (hello + 17));
+
+  return 0;
+
+  hello[5] = 0;
+  printf ("%s\n", hello);
+  printf ("%zd\n", strlen (hello));
+
+  return 0;
+}
diff --git a/20231026/answer.c b/20231026/answer.c
new file mode 100644
index 0000000..65a1dc2
--- /dev/null
+++ b/20231026/answer.c
@@ -0,0 +1,6 @@
+#include "answer.h"
+
+int answer (void)
+{
+  return 23;
+}
diff --git a/20231026/answer.h b/20231026/answer.h
new file mode 100644
index 0000000..b6777e8
--- /dev/null
+++ b/20231026/answer.h
@@ -0,0 +1 @@
+extern int answer (void);
diff --git a/20231026/gtk-01.c b/20231026/gtk-01.c
index 6e4cf8a..2cd0d60 100644
--- a/20231026/gtk-01.c
+++ b/20231026/gtk-01.c
@@ -9,7 +9,7 @@ static void activate (GtkApplication *app, gpointer user_data)
 
 int main (int argc, char **argv)
 {
-  GtkApplication *app = gtk_application_new ("de.hs-bochum.cvh.hp.hello-gtk", G_APPLICATION_DEFAULT_FLAGS);
+  GtkApplication *app = gtk_application_new ("de.hs-bochum.cvh.hp.gtk-01", G_APPLICATION_DEFAULT_FLAGS);
   g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
   int status = g_application_run (G_APPLICATION (app), argc, argv);
   g_object_unref (app);
diff --git a/20231026/gtk-02.c b/20231026/gtk-02.c
index 507acdf..1ab3c19 100644
--- a/20231026/gtk-02.c
+++ b/20231026/gtk-02.c
@@ -1,4 +1,5 @@
 #include <gtk/gtk.h>
+#include <stdio.h>
 
 static void hello (GtkWidget *this, gpointer user_data)
 {
@@ -18,7 +19,7 @@ static void activate (GtkApplication *app, gpointer user_data)
 
 int main (int argc, char **argv)
 {
-  GtkApplication *app = gtk_application_new ("de.hs-bochum.cvh.hp.hello-gtk", G_APPLICATION_DEFAULT_FLAGS);
+  GtkApplication *app = gtk_application_new ("de.hs-bochum.cvh.hp.gtk-02", G_APPLICATION_DEFAULT_FLAGS);
   g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
   int status = g_application_run (G_APPLICATION (app), argc, argv);
   g_object_unref (app);
diff --git a/20231026/hello-01.c b/20231026/hello-01.c
new file mode 100644
index 0000000..b19d80e
--- /dev/null
+++ b/20231026/hello-01.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  return 0;
+}
diff --git a/20231026/hello-02.c b/20231026/hello-02.c
new file mode 100644
index 0000000..304452b
--- /dev/null
+++ b/20231026/hello-02.c
@@ -0,0 +1,7 @@
+extern int printf (const char *__restrict __format, ...);
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  return 0;
+}
diff --git a/20231026/higher-math-01.c b/20231026/higher-math-01.c
new file mode 100644
index 0000000..8781908
--- /dev/null
+++ b/20231026/higher-math-01.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+#define NINE 9
+#define SIX 6
+
+int main (void)
+{
+  printf ("nine times six = %d\n", NINE * SIX);
+  return 0;
+}
diff --git a/20231026/higher-math-02.c b/20231026/higher-math-02.c
new file mode 100644
index 0000000..04a8ae4
--- /dev/null
+++ b/20231026/higher-math-02.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+#define NINE 1 + 8
+#define SIX 5 + 1
+
+int main (void)
+{
+  printf ("nine times six = %d\n", NINE * SIX);
+  return 0;
+}
diff --git a/20231026/higher-math-03.c b/20231026/higher-math-03.c
new file mode 100644
index 0000000..1451873
--- /dev/null
+++ b/20231026/higher-math-03.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+#define NINE (1 + 8)
+#define SIX (5 + 1)
+
+int main (void)
+{
+  printf ("nine times six = %d\n", NINE * SIX);
+  return 0;
+}
diff --git a/20231026/higher-math-04.c b/20231026/higher-math-04.c
new file mode 100644
index 0000000..e2390dc
--- /dev/null
+++ b/20231026/higher-math-04.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+#define NINE (1 + 8)
+#define SIX (5 + 1));
+
+int main (void)
+{
+  printf ("nine times six = %d\n", NINE * SIX
+  return 0;
+}
diff --git a/20231026/higher-math-05.c b/20231026/higher-math-05.c
new file mode 100644
index 0000000..8ce485e
--- /dev/null
+++ b/20231026/higher-math-05.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+#define NINE (1 + 8
+#define SIX (5 + 1));
+
+int main (void)
+{
+  printf ("nine times six = %d\n", NINE) * SIX
+  return 0;
+}
diff --git a/20231026/hp-20231026.pdf b/20231026/hp-20231026.pdf
index ca79ca5a6b4a3df11a0a9db2f0f526ff41738ac1..f77755cdbeaa1b602b45bfd1ce950a4a3bbac722 100644
GIT binary patch
delta 15504
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

delta 15509
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

diff --git a/20231026/hp-20231026.tex b/20231026/hp-20231026.tex
index 6fb14db..a24cc99 100644
--- a/20231026/hp-20231026.tex
+++ b/20231026/hp-20231026.tex
@@ -514,7 +514,7 @@
 
     int main (void)
     {
-      date today = { 17, 10, 2022 };
+      date today = { 26, 10, 2023 };
       printf ("%d.%d.%d\n", today.day, today.month, today.year);
       return 0;
     }
@@ -538,9 +538,9 @@
 
       void set_date (date *d)
       {
-        (*d).day = 17;
+        (*d).day = 26;
         (*d).month = 10;
-        (*d).year = 2022;
+        (*d).year = 2023;
       }¿
     \end{lstlisting}
   \end{minipage}%
@@ -575,9 +575,9 @@
 
       void set_date (date *d)
       {
-        d->day = 17;
+        d->day = 26;
         d->month = 10;
-        d->year = 2022;
+        d->year = 2023;
       }¿
     \end{lstlisting}
   \end{minipage}%
@@ -1050,7 +1050,7 @@
     \pause
     \smallskip
     \item
-      Mit \lstinline[style=cmd]{pkg-config --cflags --libs} erfährt man,\\
+      Mit \lstinline[style=cmd]{pkg-config --cflags --libs gtk4} erfährt man,\\
       welche Optionen und Bibliotheken man an \lstinline[style=cmd]{gcc}
       übergeben muß\alt<4->{.}{:}
       \pause
diff --git a/20231026/philosophy.c b/20231026/philosophy.c
new file mode 100644
index 0000000..e9f508a
--- /dev/null
+++ b/20231026/philosophy.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+#include "answer.h"
+
+int main (void)
+{
+  printf ("The answer is %d.\n", answer ());
+  return 0;
+}
diff --git a/20231026/string-ops-01.c b/20231026/string-ops-01.c
new file mode 100644
index 0000000..3414254
--- /dev/null
+++ b/20231026/string-ops-01.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *anton = "Anton";
+  char *zacharias = "Zacharias";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  return 0;
+
+  char buffer[100] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-02.c b/20231026/string-ops-02.c
new file mode 100644
index 0000000..7ee59d5
--- /dev/null
+++ b/20231026/string-ops-02.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *anton = "Anton";
+  char *zacharias = "Zacharias";
+
+  printf ("%d\n", anton < zacharias);
+  printf ("%d\n", zacharias < anton);
+  printf ("%d\n", anton == anton);
+
+  return 0;
+
+  char buffer[100] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-02.s b/20231026/string-ops-02.s
new file mode 100644
index 0000000..fd7f407
--- /dev/null
+++ b/20231026/string-ops-02.s
@@ -0,0 +1,48 @@
+	.file	"string-ops-02.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"Anton"
+.LC1:
+	.string	"Zacharias"
+.LC2:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%rbx
+	.cfi_def_cfa_offset 16
+	.cfi_offset 3, -16
+	leaq	.LC0(%rip), %rdx
+	leaq	.LC1(%rip), %rax
+	cmpq	%rax, %rdx
+	setb	%sil
+	movzbl	%sil, %esi
+	leaq	.LC2(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	leaq	.LC1(%rip), %rdx
+	leaq	.LC0(%rip), %rax
+	cmpq	%rax, %rdx
+	setb	%sil
+	movzbl	%sil, %esi
+	leaq	.LC2(%rip), %rbx
+	movq	%rbx, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$1, %esi
+	movq	%rbx, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	popq	%rbx
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20231026/string-ops-03.c b/20231026/string-ops-03.c
new file mode 100644
index 0000000..dbae824
--- /dev/null
+++ b/20231026/string-ops-03.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacharias";
+  char *anton = "Anton";
+
+  printf ("%d\n", anton < zacharias);
+  printf ("%d\n", zacharias < anton);
+  printf ("%d\n", anton == anton);
+
+  return 0;
+
+  char buffer[100] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-03.s b/20231026/string-ops-03.s
new file mode 100644
index 0000000..32c8f59
--- /dev/null
+++ b/20231026/string-ops-03.s
@@ -0,0 +1,57 @@
+	.file	"string-ops-03.c"
+	.text
+	.section	.rodata
+.LC0:
+	.string	"Zacharias"
+.LC1:
+	.string	"Anton"
+.LC2:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	addq	$-128, %rsp
+	leaq	.LC0(%rip), %rax
+	movq	%rax, -8(%rbp)
+	leaq	.LC1(%rip), %rax
+	movq	%rax, -16(%rbp)
+	movq	-16(%rbp), %rax
+	cmpq	-8(%rbp), %rax
+	setb	%al
+	movzbl	%al, %eax
+	movl	%eax, %esi
+	leaq	.LC2(%rip), %rax
+	movq	%rax, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movq	-8(%rbp), %rax
+	cmpq	-16(%rbp), %rax
+	setb	%al
+	movzbl	%al, %eax
+	movl	%eax, %esi
+	leaq	.LC2(%rip), %rax
+	movq	%rax, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$1, %esi
+	leaq	.LC2(%rip), %rax
+	movq	%rax, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	leave
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20231026/string-ops-04.c b/20231026/string-ops-04.c
new file mode 100644
index 0000000..3f0c0f7
--- /dev/null
+++ b/20231026/string-ops-04.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+
+  printf ("%d\n", anton < zacharias);
+  printf ("%d\n", zacharias < anton);
+  printf ("%d\n", anton == anton);
+
+  return 0;
+
+  char buffer[100] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-04.s b/20231026/string-ops-04.s
new file mode 100644
index 0000000..426782c
--- /dev/null
+++ b/20231026/string-ops-04.s
@@ -0,0 +1,48 @@
+	.file	"string-ops-04.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"Anton"
+.LC1:
+	.string	"Zacha"
+.LC2:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%rbx
+	.cfi_def_cfa_offset 16
+	.cfi_offset 3, -16
+	leaq	.LC0(%rip), %rdx
+	leaq	.LC1(%rip), %rax
+	cmpq	%rax, %rdx
+	setb	%sil
+	movzbl	%sil, %esi
+	leaq	.LC2(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	leaq	.LC1(%rip), %rdx
+	leaq	.LC0(%rip), %rax
+	cmpq	%rax, %rdx
+	setb	%sil
+	movzbl	%sil, %esi
+	leaq	.LC2(%rip), %rbx
+	movq	%rbx, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$1, %esi
+	movq	%rbx, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$0, %eax
+	popq	%rbx
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20231026/string-ops-05.c b/20231026/string-ops-05.c
new file mode 100644
index 0000000..e273004
--- /dev/null
+++ b/20231026/string-ops-05.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[100] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-06.c b/20231026/string-ops-06.c
new file mode 100644
index 0000000..fb88b55
--- /dev/null
+++ b/20231026/string-ops-06.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-07.c b/20231026/string-ops-07.c
new file mode 100644
index 0000000..b70d6cc
--- /dev/null
+++ b/20231026/string-ops-07.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, anton);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-08.c b/20231026/string-ops-08.c
new file mode 100644
index 0000000..7eef447
--- /dev/null
+++ b/20231026/string-ops-08.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, "Antonius, genannt Toni oder Anton");
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-09.c b/20231026/string-ops-09.c
new file mode 100644
index 0000000..6137896
--- /dev/null
+++ b/20231026/string-ops-09.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Antonius, genannt Toni oder Anton";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, toni);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-10.c b/20231026/string-ops-10.c
new file mode 100644
index 0000000..c9b792e
--- /dev/null
+++ b/20231026/string-ops-10.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Antonius!!";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, toni);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-11.c b/20231026/string-ops-11.c
new file mode 100644
index 0000000..d62f391
--- /dev/null
+++ b/20231026/string-ops-11.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Antonius!";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, toni);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-11.s b/20231026/string-ops-11.s
new file mode 100644
index 0000000..c61b7be
--- /dev/null
+++ b/20231026/string-ops-11.s
@@ -0,0 +1,55 @@
+	.file	"string-ops-11.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%d\n"
+.LC1:
+	.string	"Anton"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%rbx
+	.cfi_def_cfa_offset 16
+	.cfi_offset 3, -16
+	subq	$16, %rsp
+	.cfi_def_cfa_offset 32
+	movl	$-1, %esi
+	leaq	.LC0(%rip), %rbx
+	movq	%rbx, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	movl	$1, %esi                      ; #include <stdio.h>
+	movq	%rbx, %rdi                    ; #include <string.h>
+	movl	$0, %eax                      ; 
+	call	printf@PLT                    ; int main (void)
+	movl	$0, %esi                      ; {
+	movq	%rbx, %rdi                    ;   char *zacharias = "Zacha";
+	movl	$0, %eax                      ;   char *anton = "Anton";
+	call	printf@PLT                    ;   char *toni = "Antonius!";
+	movl	$1700951368, 9(%rsp)          ; 
+	movl	$2126437, 12(%rsp)            ;   printf ("%d\n", strcmp (anton, zacharias));
+	leaq	9(%rsp), %rbx                 ;   printf ("%d\n", strcmp (zacharias, anton));
+	movq	%rbx, %rdi                    ;   printf ("%d\n", strcmp (anton, anton));
+	call	strlen@PLT                    ; 
+	addq	%rbx, %rax                    ;   char buffer[] = "Huber ";
+	movabsq	$8319671809674079809, %rdx    ;   strcat (buffer, toni);
+	movq	%rdx, (%rax)                  ;   printf ("%s\n", buffer);
+	movw	$33, 8(%rax)                  ;   printf ("%s\n", anton);
+	movq	%rbx, %rdi                    ; 
+	call	puts@PLT                      ;   return 0;
+	leaq	.LC1(%rip), %rdi              ; }
+	call	puts@PLT
+	movl	$0, %eax
+	addq	$16, %rsp
+	.cfi_def_cfa_offset 16
+	popq	%rbx
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20231026/string-ops-12.c b/20231026/string-ops-12.c
new file mode 100644
index 0000000..bed94d6
--- /dev/null
+++ b/20231026/string-ops-12.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Toni";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[] = "Huber ";
+  strcat (buffer, toni);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-12.s b/20231026/string-ops-12.s
new file mode 100644
index 0000000..f382c41
--- /dev/null
+++ b/20231026/string-ops-12.s
@@ -0,0 +1,54 @@
+	.file	"string-ops-12.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%d\n"
+.LC1:
+	.string	"Anton"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%rbx
+	.cfi_def_cfa_offset 16
+	.cfi_offset 3, -16
+	subq	$16, %rsp                    ; #include <stdio.h>
+	.cfi_def_cfa_offset 32               ; #include <string.h>
+	movl	$-1, %esi                    ; 
+	leaq	.LC0(%rip), %rbx             ; int main (void)
+	movq	%rbx, %rdi                   ; {
+	movl	$0, %eax                     ;   char *zacharias = "Zacha";
+	call	printf@PLT                   ;   char *anton = "Anton";
+	movl	$1, %esi                     ;   char *toni = "Toni";
+	movq	%rbx, %rdi                   ; 
+	movl	$0, %eax                     ;   printf ("%d\n", strcmp (anton, zacharias));
+	call	printf@PLT                   ;   printf ("%d\n", strcmp (zacharias, anton));
+	movl	$0, %esi                     ;   printf ("%d\n", strcmp (anton, anton));
+	movq	%rbx, %rdi                   ; 
+	movl	$0, %eax                     ;   char buffer[] = "Huber ";
+	call	printf@PLT                   ;   strcat (buffer, toni);
+	movl	$1700951368, 9(%rsp)         ;   printf ("%s\n", buffer);
+	movl	$2126437, 12(%rsp)           ;   printf ("%s\n", anton);
+	leaq	9(%rsp), %rbx                ; 
+	movq	%rbx, %rdi                   ;   return 0;
+	call	strlen@PLT                   ; }
+	addq	%rbx, %rax
+	movl	$1768845140, (%rax)
+	movb	$0, 4(%rax)
+	movq	%rbx, %rdi
+	call	puts@PLT
+	leaq	.LC1(%rip), %rdi
+	call	puts@PLT
+	movl	$0, %eax
+	addq	$16, %rsp
+	.cfi_def_cfa_offset 16
+	popq	%rbx
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20231026/string-ops-13.c b/20231026/string-ops-13.c
new file mode 100644
index 0000000..150e9f4
--- /dev/null
+++ b/20231026/string-ops-13.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Antonius, genannt Toni";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[13] = "Huber ";
+  strncat (buffer, toni, 13);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-14.c b/20231026/string-ops-14.c
new file mode 100644
index 0000000..e290ca8
--- /dev/null
+++ b/20231026/string-ops-14.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char *zacharias = "Zacha";
+  char *anton = "Anton";
+  char *toni = "Antonius, genannt Toni";
+
+  printf ("%d\n", strcmp (anton, zacharias));
+  printf ("%d\n", strcmp (zacharias, anton));
+  printf ("%d\n", strcmp (anton, anton));
+
+  char buffer[14] = "Huber ";
+  strncat (buffer, toni, 13);
+  printf ("%s\n", buffer);
+  printf ("%s\n", anton);
+
+  return 0;
+}
diff --git a/20231026/string-ops-15.c b/20231026/string-ops-15.c
new file mode 100644
index 0000000..731a6b1
--- /dev/null
+++ b/20231026/string-ops-15.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[100] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Antwort");
+  printf ("%s\n", answer);
+  printf ("found at: %zd\n", answer - buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-16.c b/20231026/string-ops-16.c
new file mode 100644
index 0000000..1db6aa5
--- /dev/null
+++ b/20231026/string-ops-16.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[100] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  printf ("%s\n", answer);
+  printf ("found at: %zd\n", answer - buffer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-17.c b/20231026/string-ops-17.c
new file mode 100644
index 0000000..afa66c6
--- /dev/null
+++ b/20231026/string-ops-17.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[100] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  printf ("found at: %zd\n", answer - buffer);
+  printf ("%s\n", answer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-18.c b/20231026/string-ops-18.c
new file mode 100644
index 0000000..27ecc2a
--- /dev/null
+++ b/20231026/string-ops-18.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[100] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  printf ("answer = %zd\n", answer);
+  printf ("buffer = %zd\n", buffer);
+  printf ("found at: %zd\n", answer - buffer);
+  printf ("%s\n", answer);
+
+  return 0;
+}
diff --git a/20231026/string-ops-19.c b/20231026/string-ops-19.c
new file mode 100644
index 0000000..b9391e1
--- /dev/null
+++ b/20231026/string-ops-19.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[100] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  if (answer)
+    printf ("found at: %zd\n", answer - buffer);
+  else
+    printf ("not found\n");
+
+  return 0;
+}
diff --git a/20231026/string-ops-20.c b/20231026/string-ops-20.c
new file mode 100644
index 0000000..6caf324
--- /dev/null
+++ b/20231026/string-ops-20.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[10] = "";
+  sprintf (buffer, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  if (answer)
+    printf ("found at: %zd\n", answer - buffer);
+  else
+    printf ("not found\n");
+
+  return 0;
+}
diff --git a/20231026/string-ops-21.c b/20231026/string-ops-21.c
new file mode 100644
index 0000000..9218527
--- /dev/null
+++ b/20231026/string-ops-21.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[10] = "";
+  snprintf (buffer, 10, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  if (answer)
+    printf ("found at: %zd\n", answer - buffer);
+  else
+    printf ("not found\n");
+
+  return 0;
+}
diff --git a/20231026/string-ops-22.c b/20231026/string-ops-22.c
new file mode 100644
index 0000000..a487160
--- /dev/null
+++ b/20231026/string-ops-22.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <string.h>
+
+int main (void)
+{
+  char buffer[11] = "";
+  snprintf (buffer, 10, "Die Antwort lautet: %d", 42);
+  printf ("%s\n", buffer);
+
+  char *answer = strstr (buffer, "Bntwort");
+  if (answer)
+    printf ("found at: %zd\n", answer - buffer);
+  else
+    printf ("not found\n");
+
+  return 0;
+}
-- 
GitLab