diff --git a/20231005/answer-01.c b/20231005/answer-01.c new file mode 100644 index 0000000000000000000000000000000000000000..ae37ad290203e4e490e3e2fac5a8080f7dfa0364 --- /dev/null +++ b/20231005/answer-01.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Die Antwort lautet: "); + printf (42); + printf ("\n"); + return 0; +} diff --git a/20231005/answer-02.c b/20231005/answer-02.c new file mode 100644 index 0000000000000000000000000000000000000000..6a9b1daa3162c4b25d0a9eeaa93910c4625d1234 --- /dev/null +++ b/20231005/answer-02.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Die Antwort lautet: "); + printf ("42"); + printf ("\n"); + return 0; +} diff --git a/20231005/answer-03.c b/20231005/answer-03.c new file mode 100644 index 0000000000000000000000000000000000000000..bf2aca63d57ce244641e831b8e93b7e0700a7306 --- /dev/null +++ b/20231005/answer-03.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + printf ("Die Antwort lautet: "); + printf (a); + printf ("\n"); + return 0; +} diff --git a/20231005/answer-04.c b/20231005/answer-04.c new file mode 100644 index 0000000000000000000000000000000000000000..791c6f2f2a91f4ac771c12b29cf98f39b026f8e7 --- /dev/null +++ b/20231005/answer-04.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + printf ("Die Antwort lautet: %d\n", a); + return 0; +} diff --git a/20231005/answer-05.c b/20231005/answer-05.c new file mode 100644 index 0000000000000000000000000000000000000000..f29528d046d052dc8d22a372ceb847cfc63568d7 --- /dev/null +++ b/20231005/answer-05.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 13; + int b = 137 + printf ("Die Antwort lautet: %d oder vielleicht auch %d\n", a, b); + return 0; +} diff --git a/20231005/answer-06.c b/20231005/answer-06.c new file mode 100644 index 0000000000000000000000000000000000000000..6e87636c9c96f3e431aabd2e3142f3c19e912289 --- /dev/null +++ b/20231005/answer-06.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 13; + int b = 137; + printf ("Die Antwort lautet: %d oder vielleicht auch %d\n", a, b); + return 0; +} diff --git a/20231005/answer-07.c b/20231005/answer-07.c new file mode 100644 index 0000000000000000000000000000000000000000..e78d28d853b5bb2c08a797b0ef74f4ab004a7bea --- /dev/null +++ b/20231005/answer-07.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 13; + int b = 137; + printf ("Die Antwort lautet: %X oder vielleicht auch %x\n", a, b); + return 0; +} diff --git a/20231005/calc-01.c b/20231005/calc-01.c new file mode 100644 index 0000000000000000000000000000000000000000..72294c6576a5619922f31bbe286cad3bd365329a --- /dev/null +++ b/20231005/calc-01.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a; + printf ("Bitte eine Zahl eingeben: "); + scanf ("%d", &a); + a = 2 * a; + printf ("Das Doppelte ist: %d\n", a); + return 0; +} diff --git a/20231005/hello-01.c b/20231005/hello-01.c new file mode 100644 index 0000000000000000000000000000000000000000..b19d80e9bd0bd7c5ed8f54b20c6a50d9166f03ac --- /dev/null +++ b/20231005/hello-01.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Hello, world!\n"); + return 0; +} diff --git a/20231005/hello-gtk.c b/20231005/hello-gtk.c new file mode 100644 index 0000000000000000000000000000000000000000..b77034771277029b483bc797f94eb6e4ecb9c466 --- /dev/null +++ b/20231005/hello-gtk.c @@ -0,0 +1,20 @@ +#include <gtk/gtk.h> + +static void activate (GtkApplication *app, gpointer user_data) +{ + GtkWidget *window = gtk_application_window_new (app); + gtk_window_set_title (GTK_WINDOW (window), "Hello"); + GtkWidget *button = gtk_button_new_with_label ("Quit"); + g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window); + gtk_window_set_child (GTK_WINDOW (window), button); + gtk_window_present (GTK_WINDOW (window)); +} + +int main (int argc, char **argv) +{ + GtkApplication *app = gtk_application_new ("org.gtk.example", 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); + return status; +} diff --git a/20231005/hello.c b/20231005/hello.c new file mode 100644 index 0000000000000000000000000000000000000000..b19d80e9bd0bd7c5ed8f54b20c6a50d9166f03ac --- /dev/null +++ b/20231005/hello.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Hello, world!\n"); + return 0; +} diff --git a/20231005/hp-uebung-20231005.pdf b/20231005/hp-uebung-20231005.pdf new file mode 100644 index 0000000000000000000000000000000000000000..849ca3df582a3b8847019670eb96192886fb2a11 Binary files /dev/null and b/20231005/hp-uebung-20231005.pdf differ diff --git a/20231005/hp-uebung-20231005.tex b/20231005/hp-uebung-20231005.tex new file mode 100644 index 0000000000000000000000000000000000000000..2cb5aa659af6c85f19f500238664f853f3bb6400 --- /dev/null +++ b/20231005/hp-uebung-20231005.tex @@ -0,0 +1,93 @@ +% hp-uebung-20231005.pdf - Exercises on Low-Level Programming / Applied Computer Sciences +% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Hello-World-Programme, Schaltjahr ermitteln, Maximum berechnen + +\documentclass[a4paper]{article} + +\usepackage{pgscript} + +\thispagestyle{empty} + +\begin{document} + + \thispagestyle{empty} + + \section*{Hardwarenahe Programmierung\\ + Übungsaufgaben -- 5.\ Oktober 2023} + + \exercise{Hello, world!} + + Unter \url{https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231005} + können Sie + \href{https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231005/hp-uebung-20231005.pdf}% + {diesen Übungszettel als PDF-Datei} + herunterladen sowie die folgenden Beispielprogramme: + \begin{enumerate}[\quad(a)] + \item \gitfile{hp}{2023ws/20231005}{hello.c} + \item \gitfile{hp}{2023ws/20231005}{hello-gtk.c} + \end{enumerate} + Bringen Sie diese Programme auf Ihrem eigenen Rechner + und/oder auf einem Rechner der Hochschule + unter einem Betriebssystem Ihrer Wahl zum Laufen. + + \file{hello.c} ist das klassische "`Hello, world!"'-Programm; + \file{hello-gtk} erzeugt ein Fenster mit einem Button zum Schließen. + (Wie diese Programme im einzelnen funktionieren, + wird im Laufe der Lehrveranstaltung erklärt werden. + In dieser Übung geht es nur darum, + sich mit dem Compilieren von C-Programmen vertraut zu machen.) + + \textbf{Hinweis 0:} Diese PDF-Datei enthält Links zu den jeweiligen Dateien. + Durch Anklicken können Sie diese direkt herunterladen. + + \textbf{Hinweis 1:} Für (b) benötigen Sie die Bibliothek GTK+. + Diese finden Sie -- einschließlich Dokumentation -- als freie Software im Internet. + + \textbf{Hinweis 2:} Unter Unix mit \lstinline[style=cmd]{gcc} + funktioniert das Compilieren und Starten der Programme folgendermaßen: + \begin{lstlisting}[style=cmd] + gcc -Wall -O hello.c -o hello + ./hello + gcc -Wall -O $(pkg-config --cflags gtk+-3.0) hello-gtk.c \ + $(pkg-config --libs gtk+-3.0) -o hello-gtk + ./hello-gtk + \end{lstlisting} + + \exercise{Schaltjahr ermitteln} + + Schreiben Sie ein Programm in einer beliebigen Programmiersprache + (z.\,B.\ C, Java, Python, Shell-Skript), + das eine Jahreszahl erfragt und ausgibt, ob es sich um ein Schaltjahr handelt. + \begin{itemize} + \item Wenn die Jahreszahl durch 4 teilbar ist, ist das Jahr zunächst einmal ein Schaltjahr. + \item Ausnahme: Wenn die Jahreszahl durch 100 teilbar ist, ist das Jahr kein Schaltjahr. + \item Ausnahme von der Ausnahme: Wenn die Jahreszahl durch 400 teilbar ist,\\ + ist das Jahr doch wieder ein Schaltjahr. + \end{itemize} + + \exercise{Maximum berechnen} + + Schreiben Sie ein Programm in einer beliebigen Programmiersprache, + das 5 Zahlen erfragt und anschließend die größte dieser Zahlen ausgibt. + +\end{document} diff --git a/20231005/if-01.c b/20231005/if-01.c new file mode 100644 index 0000000000000000000000000000000000000000..23722545a9b3f99fa6a07de9bfee2a96f09148e9 --- /dev/null +++ b/20231005/if-01.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-02.c b/20231005/if-02.c new file mode 100644 index 0000000000000000000000000000000000000000..21b94d3ce1e47707c7dce8edded4603c3ee22f5b --- /dev/null +++ b/20231005/if-02.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b = 0) + printf ("Bitte nicht durch 0 teilen.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-03.c b/20231005/if-03.c new file mode 100644 index 0000000000000000000000000000000000000000..1256c8e3055b57cb79065f924363665cd6c9246e --- /dev/null +++ b/20231005/if-03.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) + printf ("Bitte nicht durch 0 teilen.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-04.c b/20231005/if-04.c new file mode 100644 index 0000000000000000000000000000000000000000..b60628f6947dd0a79d3c3a4ac8072b1055d384ad --- /dev/null +++ b/20231005/if-04.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("Das macht man nicht.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-05.c b/20231005/if-05.c new file mode 100644 index 0000000000000000000000000000000000000000..9aaa08aa954899e9c15a081aade8c425e290b4d9 --- /dev/null +++ b/20231005/if-05.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("Das macht man nicht.\n"); + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-06.c b/20231005/if-06.c new file mode 100644 index 0000000000000000000000000000000000000000..df18bbb1c69ed25fe0ba753185a5ed42842e4e05 --- /dev/null +++ b/20231005/if-06.c @@ -0,0 +1,18 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) + { + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("Das macht man nicht.\n"); + } + else + printf ("a / b = %d\n", a / b); + return 0; +} diff --git a/20231005/if-07.c b/20231005/if-07.c new file mode 100644 index 0000000000000000000000000000000000000000..0c3360a55b12b368aa5559a5cf70f4f3b75112bd --- /dev/null +++ b/20231005/if-07.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main (void) { int a = 360; printf ("a = %d\n", a); int b; printf +("Bitte b eingeben: "); scanf ("%d", &b); if (b == 0) { printf +("Bitte nicht durch 0 teilen.\n"); printf ("Das macht man nicht.\n"); +} else printf ("a / b = %d\n", a / b); return 0; } diff --git a/20231005/if-08.c b/20231005/if-08.c new file mode 100644 index 0000000000000000000000000000000000000000..85ca91ca75a8c741b871c4ff1a53dfc948b9e97c --- /dev/null +++ b/20231005/if-08.c @@ -0,0 +1,20 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) + { + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("Das macht man nicht.\n"); + } + else + { + printf ("a / b = %d\n", a / b); + } + return 0; +} diff --git a/20231005/if-09.c b/20231005/if-09.c new file mode 100644 index 0000000000000000000000000000000000000000..de2e912ba7988e4648704e354b9152c2d5b5e56d --- /dev/null +++ b/20231005/if-09.c @@ -0,0 +1,18 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b == 0) { + printf ("Bitte nicht durch 0 teilen.\n"); + printf ("Das macht man nicht.\n"); + } + else { + printf ("a / b = %d\n", a / b); + } + return 0; +} diff --git a/20231005/if-10.c b/20231005/if-10.c new file mode 100644 index 0000000000000000000000000000000000000000..a53c1acf51109607b8ef481d781192d11f37857e --- /dev/null +++ b/20231005/if-10.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b != 0) + printf ("a / b = %d\n", a / b); + else + printf ("Bitte nicht durch 0 teilen.\n"); + return 0; +} diff --git a/20231005/if-11.c b/20231005/if-11.c new file mode 100644 index 0000000000000000000000000000000000000000..e448f55c24877de3b8fd64116caaad7cd861846e --- /dev/null +++ b/20231005/if-11.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + int a = 360; + printf ("a = %d\n", a); + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + if (b) + printf ("a / b = %d\n", a / b); + else + printf ("Bitte nicht durch 0 teilen.\n"); + return 0; +} diff --git a/20231005/init-01.c b/20231005/init-01.c new file mode 100644 index 0000000000000000000000000000000000000000..c0ec56bbdb16490fef283b124652274389648937 --- /dev/null +++ b/20231005/init-01.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + int b; + b = 137; + printf ("a = %d\n", a); + printf ("b = %d\n", b); + return 0; +} diff --git a/20231005/init-01.s b/20231005/init-01.s new file mode 100644 index 0000000000000000000000000000000000000000..c094d0d328751f52d0d887a88ff9e15402716653 --- /dev/null +++ b/20231005/init-01.s @@ -0,0 +1,32 @@ + .file "init-01.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "a = %d\n" +.LC1: + .string "b = %d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc # #include <stdio.h> + subq $8, %rsp # + .cfi_def_cfa_offset 16 # int main (void) + movl $42, %esi # { + leaq .LC0(%rip), %rdi # int a = 42; + movl $0, %eax # int b; + call printf@PLT # b = 137; + movl $137, %esi # printf ("a = %d\n", a); + leaq .LC1(%rip), %rdi # printf ("b = %d\n", b); + movl $0, %eax # return 0; + call printf@PLT # } + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20231005/init-02.c b/20231005/init-02.c new file mode 100644 index 0000000000000000000000000000000000000000..6e0e85367122a6c577ac834c0c4da800bdb8626b --- /dev/null +++ b/20231005/init-02.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", b); + printf ("a * b + a + b = %d\n", a * b + a + b); + return 0; +} diff --git a/20231005/init-02.s b/20231005/init-02.s new file mode 100644 index 0000000000000000000000000000000000000000..475094c812d5b8de9d45acd6852505cd3861e97c --- /dev/null +++ b/20231005/init-02.s @@ -0,0 +1,26 @@ + .file "init-02.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "a * b + a + b = %d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + subq $8, %rsp # #include <stdio.h> + .cfi_def_cfa_offset 16 # + movl $5933, %esi # int main (void) + leaq .LC0(%rip), %rdi # { + movl $0, %eax # int a = 42; + call printf@PLT # int b = 137; + movl $0, %eax # printf ("a * b + a + b = %d\n", a * b + a + b); + addq $8, %rsp # return 0; + .cfi_def_cfa_offset 8 # } + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20231005/init-03.c b/20231005/init-03.c new file mode 100644 index 0000000000000000000000000000000000000000..6e0e85367122a6c577ac834c0c4da800bdb8626b --- /dev/null +++ b/20231005/init-03.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", b); + printf ("a * b + a + b = %d\n", a * b + a + b); + return 0; +} diff --git a/20231005/init-04.c b/20231005/init-04.c new file mode 100644 index 0000000000000000000000000000000000000000..74f6cbb270597109b012c78931ce1b8027d115bc --- /dev/null +++ b/20231005/init-04.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int a = 42; + int b; + printf ("Bitte b eingeben: "); + scanf ("%d", &b); + printf ("a * b + a + b = %d\n", a * b + a + b); + return 0; +} diff --git a/20231005/init-04.s b/20231005/init-04.s new file mode 100644 index 0000000000000000000000000000000000000000..5fa4372537bb75e3324495dda1ca501f0981234e --- /dev/null +++ b/20231005/init-04.s @@ -0,0 +1,40 @@ + .file "init-04.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "Bitte b eingeben: " +.LC1: + .string "%d" +.LC2: + .string "a * b + a + b = %d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + subq $24, %rsp + .cfi_def_cfa_offset 32 # #include <stdio.h> + leaq .LC0(%rip), %rdi # + movl $0, %eax # int main (void) + call printf@PLT # { + leaq 12(%rsp), %rsi # int a = 42; + leaq .LC1(%rip), %rdi # int b; + movl $0, %eax # printf ("Bitte b eingeben: "); + call __isoc99_scanf@PLT # scanf ("%d", &b); + movl 12(%rsp), %eax # printf ("a * b + a + b = %d\n", a * b + a + b); + leal 1(%rax), %esi # return 0; + imull $42, %esi, %esi # } + addl %eax, %esi + leaq .LC2(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $0, %eax + addq $24, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20231005/input-01.c b/20231005/input-01.c new file mode 100644 index 0000000000000000000000000000000000000000..5ca4c8c63cf313591a5a57e18c915329a3c71162 --- /dev/null +++ b/20231005/input-01.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + double a; + printf ("Bitte eine Zahl eingeben: "); + scanf ("%lf", &a); + printf ("Ihre Antwort war: %lf\n", a); + return 0; +} diff --git a/20231005/input-02.c b/20231005/input-02.c new file mode 100644 index 0000000000000000000000000000000000000000..3c8912a1210787f322016cd6b611a3dd1bcaced3 --- /dev/null +++ b/20231005/input-02.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + double a; + printf ("Bitte eine Zahl eingeben: "); + scanf ("%lf", a); + printf ("Ihre Antwort war: %lf\n", a); + return 0; +} diff --git a/20231005/input-03.c b/20231005/input-03.c new file mode 100644 index 0000000000000000000000000000000000000000..b9cd0232d4fa75637c31fe1852cf3a0b9d424369 --- /dev/null +++ b/20231005/input-03.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + double a; + printf ("a = %lf\n", a); + printf ("Bitte eine Zahl eingeben: "); + scanf ("%lf", a); + printf ("Ihre Antwort war: %lf\n", a); + return 0; +} diff --git a/20231005/input-04.c b/20231005/input-04.c new file mode 100644 index 0000000000000000000000000000000000000000..7a6f0487f5f04b2607467a4277a432ee058697e0 --- /dev/null +++ b/20231005/input-04.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + double a = &a; + printf ("a = %lf\n", a); + printf ("Bitte eine Zahl eingeben: "); + scanf ("%lf", a); + printf ("Ihre Antwort war: %lf\n", a); + return 0; +} diff --git a/20231005/input-05.c b/20231005/input-05.c new file mode 100644 index 0000000000000000000000000000000000000000..82101cfa4364995635cd65b7e0cf6e38a994202d --- /dev/null +++ b/20231005/input-05.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + double a = (double) (long long unsigned) &a; + printf ("a = %lf\n", a); + printf ("Bitte eine Zahl eingeben: "); + scanf ("%lf", a); + printf ("Ihre Antwort war: %lf\n", a); + return 0; +} diff --git a/20231005/input-06.c b/20231005/input-06.c new file mode 100644 index 0000000000000000000000000000000000000000..00725e7fd12709bfa593640395a7c63c18797bf4 --- /dev/null +++ b/20231005/input-06.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + long long unsigned a = (long long unsigned) &a; + printf ("a = %llu\n", a); + printf ("Bitte eine Zahl eingeben: "); + scanf ("%llu", a); + printf ("Ihre Antwort war: %llu\n", a); + return 0; +} diff --git a/20231005/while-01.c b/20231005/while-01.c new file mode 100644 index 0000000000000000000000000000000000000000..9e6e7ac87eab9efaa672088ddc419befa30dce64 --- /dev/null +++ b/20231005/while-01.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int main (void) +{ + int a = 1; + while (a <= 10) + { + printf ("%d\n", a); + a = a + 1; + } + return 0; +} diff --git a/20231005/while-02.c b/20231005/while-02.c new file mode 100644 index 0000000000000000000000000000000000000000..ebaed116f8fba5efaca85765f5baf8393aff6109 --- /dev/null +++ b/20231005/while-02.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int main (void) +{ + int a = 1; + while (a <= 10) + { + printf ("%d\n", a); + a++; + } + return 0; +} diff --git a/20231005/while-03.c b/20231005/while-03.c new file mode 100644 index 0000000000000000000000000000000000000000..ab32889936d61b2fdaec641cf8ea453c4ca27711 --- /dev/null +++ b/20231005/while-03.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a = 1; + while (a <= 10) + printf ("%d\n", a++); + return 0; +} diff --git a/20231005/while-04.c b/20231005/while-04.c new file mode 100644 index 0000000000000000000000000000000000000000..2c95b8c2bad694e41be5b6bb2b6606395c34af60 --- /dev/null +++ b/20231005/while-04.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + for (int a = 1; a <= 10; a++) + printf ("%d\n", a); + return 0; +} diff --git a/20231005/while-05.c b/20231005/while-05.c new file mode 100644 index 0000000000000000000000000000000000000000..feb593d7f24649da2647321da7f1c5a7b3c448db --- /dev/null +++ b/20231005/while-05.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int a = 1; + do + { + printf ("%d\n", a); + a = a + 1; + } + while (a <= 10); + return 0; +}