Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
programmieren_in_C
2020_21_Codebeispiele
Commits
e21d7be1
Commit
e21d7be1
authored
Nov 13, 2020
by
Paffenholz, Andreas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Kapitel 3
parent
04b1e397
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
346 additions
and
0 deletions
+346
-0
skript/kapitel_03/genauigkeit.c
skript/kapitel_03/genauigkeit.c
+38
-0
skript/kapitel_03/mehrfache_verzweigung.c
skript/kapitel_03/mehrfache_verzweigung.c
+56
-0
skript/kapitel_03/schleifenvarianten.c
skript/kapitel_03/schleifenvarianten.c
+85
-0
skript/kapitel_03/show_limits.c
skript/kapitel_03/show_limits.c
+31
-0
skript/kapitel_03/static.c
skript/kapitel_03/static.c
+30
-0
skript/kapitel_03/zahlbereiche_int.c
skript/kapitel_03/zahlbereiche_int.c
+32
-0
skript/kapitel_03/zeichenketten_funktionen.c
skript/kapitel_03/zeichenketten_funktionen.c
+45
-0
skript/kapitel_03/zufallszahlen.c
skript/kapitel_03/zufallszahlen.c
+29
-0
No files found.
skript/kapitel_03/genauigkeit.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Genauigkeit und Vergleiche bei float
*
* Uebersetzen mit
* gcc genauigkeit.c -o genauigkeit
* Aufruf mit
* ./genauigkeit
**************************************/
#include <stdio.h>
#include <limits.h>
void
vergleiche
(
float
f1
,
float
f2
)
{
if
(
f1
==
f2
)
{
printf
(
"Die eingegebenen Zahlen sind gleich
\n
"
);
}
else
{
printf
(
"Die eingegebenen Zahlen sind %f und %f
\n
"
,
f1
,
f2
);
}
}
int
main
()
{
long
max
=
LONG_MAX
;
float
f1
=
1
.
03
;
float
f2
=
1
.
14
;
vergleiche
(
f1
,
f2
);
vergleiche
(
f1
*
max
,
f1
*
max
-
1000
);
return
0
;
}
skript/kapitel_03/mehrfache_verzweigung.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Mehrfache Verzweigung mit if und switch
*
* Uebersetzen mit
* gcc mehrfache_verzweigung.c -o mehrfache_verzweigung
* Aufruf mit
* ./mehrfache_verzweigung
**************************************/
#include <stdio.h>
int
main
()
{
unsigned
int
x
=
7
;
if
(
x
==
0
)
{
printf
(
"x ist 1
\n
"
);
}
else
if
(
x
==
1
)
{
printf
(
"x ist 1
\n
"
);
}
else
if
(
x
==
1
)
{
printf
(
"x ist 1
\n
"
);
}
else
if
(
x
==
2
)
{
printf
(
"x ist 2
\n
"
);
}
else
if
(
x
==
3
)
{
printf
(
"x ist 3
\n
"
);
}
else
{
printf
(
"x ist groesser als 3
\n
"
);
}
switch
(
x
)
{
case
0
:
printf
(
"x ist 1
\n
"
);
break
;
case
1
:
printf
(
"x ist 1
\n
"
);
break
;
case
2
:
printf
(
"x ist 2
\n
"
);
break
;
case
3
:
printf
(
"x ist 3
\n
"
);
break
;
default:
printf
(
"x ist groesser als 3
\n
"
);
break
;
}
return
0
;
}
skript/kapitel_03/schleifenvarianten.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Vier Varianten, die Anzahl aller geordneten Paare zweier Quadratzahlen zu finden,
* deren Summe hpechstens eine gegeben Zahl ist
%
% Uebersetzen mit
% gcc schleifenvarianten.c -o schleifenvarianten
% Aufruf mit
% ./schleifenvarianten 34
**************************************/
#include <stdio.h>
#include <stdlib.h>
void
print_result
(
int
c
,
int
n
)
{
printf
(
"%d Summe(n) aus zwei nichtnegativen Quadratzahlen sind kleiner oder gleich %d
\n
"
,
c
,
n
);
}
int
main
(
int
argc
,
char
**
argv
)
{
int
n
=
atoi
(
argv
[
1
]);
if
(
n
<
0
)
{
printf
(
"Falsche Eingabe
\n
"
);
return
0
;
}
int
counter
=
0
;
int
x
,
y
;
counter
=
0
;
for
(
x
=
0
;
x
*
x
<=
n
;
x
=
x
+
1
)
{
for
(
y
=
0
;
x
*
x
+
y
*
y
<=
n
;
y
=
y
+
1
)
{
counter
=
counter
+
1
;
}
y
=
0
;
}
print_result
(
counter
,
n
);
counter
=
0
;
x
=
0
;
y
=
0
;
while
(
x
*
x
<=
n
)
{
while
(
x
*
x
+
y
*
y
<=
n
)
{
y
=
y
+
1
;
counter
=
counter
+
1
;
}
y
=
0
;
x
=
x
+
1
;
}
print_result
(
counter
,
n
);
counter
=
0
;
x
=
0
;
y
=
0
;
do
{
do
{
counter
=
counter
+
1
;
y
=
y
+
1
;
}
while
(
x
*
x
+
y
*
y
<=
n
);
y
=
0
;
x
=
x
+
1
;
}
while
(
x
*
x
<=
n
);
print_result
(
counter
,
n
);
counter
=
0
;
x
=
0
;
while
(
x
*
x
<=
n
)
{
for
(
y
=
0
;
x
*
x
+
y
*
y
<=
n
;
y
=
y
+
1
)
{
counter
=
counter
+
1
;
}
x
=
x
+
1
;
}
print_result
(
counter
,
n
);
return
0
;
}
skript/kapitel_03/show_limits.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Laenge der Collatzfole
*
* Uebersetzen mit
* gcc show_limits.c -o show_limits
* Aufruf mit
* ./show_limits
**************************************/
#include <stdio.h>
#include <limits.h>
#include <float.h>
int
main
()
{
unsigned
int
x
=
UINT_MAX
;
// groesster Wert fuer unsigend int
long
l
=
LONG_MIN
;
// kleinester Wert fuer long
float
f
=
FLT_MAX
;
// groesster Wert fuer float
float
eps
=
FLT_EPSILON
;
// Abstand zwischen 0 und naechstem float
printf
(
"Die groesste darstellbare Zahl fuer unsigned int ist %u
\n
"
,
x
);
printf
(
"Die kleinste darstellbare Zahl fuer long int ist %ld
\n
"
,
l
);
printf
(
"Die groesste darstellbare Zahl fuer float ist %e
\n
"
,
f
);
printf
(
"Die kleinste positive Dezimalzahl ist %e
\n
"
,
eps
);
return
0
;
}
skript/kapitel_03/static.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Zeiger auf Zeigervariablen
*
* Uebersetzen mit
* gcc static.c -o static
* Aufruf mit
* ./static
**************************************/
#include <stdio.h>
void
counter
()
{
static
int
a
=
1
;
printf
(
"Das ist der %d. Aufruf
\n
"
,
a
++
);
}
int
main
()
{
counter
();
counter
();
counter
();
return
0
;
}
skript/kapitel_03/zahlbereiche_int.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Zahlbereiche
*
* Uebersetzen mit
* gcc zahlbereiche.c -o zahlbereiche
* Aufruf mit
* ./zahlbereiche
**************************************/
#include <stdio.h>
#include <limits.h>
int
main
()
{
int
au
=
INT_MAX
;
int
al
=
INT_MIN
;
long
bu
=
LONG_MAX
;
long
bl
=
LONG_MIN
;
printf
(
"die groesste ganze Zahl vom Typ int ist %d, und die kleinste %d
\n
"
,
au
,
al
);
printf
(
"die naechstkleinere Zahl ist %d
\n
"
,
al
-
1
);
printf
(
"die groesste ganze Zahl vom Typ long ist %ld, und die kleinste %ld
\n
"
,
bu
,
bl
);
printf
(
"die naechstkleinere Zahl ist %ld
\n
"
,
bl
-
1
);
return
0
;
}
skript/kapitel_03/zeichenketten_funktionen.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Einige Funktionen fuer Zeichenketten
*
* Uebersetzen mit
* gcc zeichenketten_funktionen.c -o zeichenketten_funktionen
* Aufruf mit
* ./zeichenketten_funktionen
**************************************/
#include <stdio.h>
#include <string.h>
int
main
()
{
char
d
[
10
]
=
"Darmstadt"
;
char
f
[
30
]
=
"Frankfurt"
;
char
s
[
12
]
=
" liegt bei "
;
char
t
[
30
];
printf
(
"%s hat %lu Buchstaben
\n
"
,
d
,
strlen
(
d
));
strcat
(
t
,
d
);
strcat
(
t
,
s
);
strcat
(
t
,
f
);
printf
(
"%s
\n
"
,
t
);
printf
(
"%s"
,
d
);
if
(
strcmp
(
d
,
f
)
<=
0
)
{
printf
(
" kommt vor "
);
}
else
{
printf
(
" kommt nach "
);
}
printf
(
"%s
\n
"
,
f
);
strcpy
(
f
,
d
);
if
(
strcmp
(
f
,
d
)
==
0
)
{
printf
(
"f und d sind gleich
\n
"
);
}
return
0
;
}
skript/kapitel_03/zufallszahlen.c
0 → 100644
View file @
e21d7be1
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Zufallszahlen
*
* Uebersetzen mit
* gcc zufallszahlen.c -o zufallszahlen
* Aufruf mit
* ./zufallszahlen
**************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int
main
()
{
srand
(
time
(
0
));
printf
(
"100 Zufallszahlen im Bereich von 0 bis %d.
\n
"
,
RAND_MAX
);
for
(
int
i
=
0
;
i
<
100
;
++
i
)
{
printf
(
"%d "
,
rand
());
}
printf
(
"
\n
"
);
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment