Algorithmen & Datenstrukturen
Programmieren 1


von Prof. Jürgen Plate

C-Tabellen

Die 32 C Schlüsselwörter

auto const double float int short struct unsigned
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while

Regeln für Vorrang und Assoziativität von Operatoren

Priorität
Bezeichnung
Symbol
Auswertungsrichtung
15
Klammern
Operatoren zur
Komponentenauswahl
( ) [ ]

. ->

von links nach rechts
Unäre Operatoren
14
Cast-Operator
Größenoperator
Adressoperator
Verweisoperator
Negationsoperatoren
arithmetisch
logisch
bitlogisch
Inkrement
Dekrement
(Datentyp)
sizeof
&
*

-
!
~
++
- -

von rechts nach links
inäre und ternäre Operatoren
13
Arithmetische Operatoren
* /%
von links nach rechts
12
 
+ -
von links nach rechts
11
Schiebe-Operatoren
<< >>
von links nach rechts
10
Vergleichsoperatoren
> >= < <= 
von links nach rechts
9
 
= = !=
von links nach rechts
8
Bit-Operatoren
&
von links nach rechts
7
 
^
von links nach rechts
6
 
|
von links nach rechts
5
Logische Operatoren
&&
von links nach rechts
4
 
||
von links nach rechts
3
Bedingungs-Operator
(ternär)
? :
von rechts nach links
2
Zuweisungs-Operatoren
= += -= *= /= %= >>= <<= &= ^= |=
von rechts nach links
1
Sequenz-Operator
von rechts nach links

Escape-Sequenzen

ZeichenEscape-SequenzBedeutung
"\"Anführungszeichen
'\'Apostroph
?\?Fragezeichen
\\\Backslash
BEL\aBell
BS\bBackspace
FF\fFormfeed
NL\nNewline
CR\rCarriage Return
HT\tHorizontal-Tabulator
VT\vVertical-Tabulator

<

Datentypen in C

Datentyp
Kurzform
Größe
möglicher Wert
char
unsigned
signed char
enum
  1 Byte
1 Byte
2 Byte
-128 bis 127

0 bis 255 (ASCII)

-32 768 bis 32 767

int   2 Bytes
4 Bytes
-32 768 bis 32 767

-2 147 483 648 bis

2 147 483 647

unsigned int unsigned 2 Bytes

4 Bytes

0 bis 65 535

0 bis 4 294 967 295

short int short 2 Bytes -32 768 bis 32 767
unsigned short

int

unsigned

short

2 Bytes 0 bis 65 535
long int long 4 Bytes -2 147 483 648 bis

2 147 483 647

unsigned long

int

unsigned

long

4 Bytes 0 bis 4 294 967 295
float   4 Bytes 8.43E-37 bis 3.37E+38
6 Stellen genau
long float double 8 Bytes 1.7E-308 bis 1.67E+308
15 Stellen genau
long double   16 Bytes 3.4E-4932 bis 1.1E+4932
19 Stellen genau

Zusammengesetzte Zuweisungsoperatoren:

+=:x += ausdrx = x + ausdr
-=:x -= ausdrx = x - ausdr
*=:x *= ausdrx = x * ausdr
/=:x /= ausdrx = x / ausdr
%=:x %= ausdrx = x % ausdr
&=:x &= ausdrx = x & ausdr
|=:x |= ausdrx = x | ausdr
^=:x ^= ausdrx = x ^ ausdr
<<=:x <<= ausdrx = x << ausdr
=:x >>= ausdrx = x >> ausdr

Zusammenfasssung Formatangaben von printf

FormatangabeEingabewertTyp
%dganze Dezimalzahlint
%hdganze Dezimalzahlshort
%ldganze Dezimalzahllong
%iganze Zahlint
%uganze Dezimalzahl ohne Vorzeichenint
%huganze Dezimalzahl ohne Vorzeichenshort
%luganze Dezimalzahl ohne Vorzeichenlong
%oganze oktale Zahlint
%hoganze oktale Zahlshort
%loganze oktale Zahllong
%xganze hexadezimale Zahlint
%hxganze hexadezimale Zahlshort
%lxganze hexadezimale Zahllong
%cASCII-Zeichenchar
%fGleitkommazahlfloat
%lfGleitkommazahldouble
%LFGleitkommazahllong double
%e, %EGleitkommazahl-Exponentialschreibweisefloat
%le, %lEGleitkommazahl (exp.)double
%Le, LEGleitkommazahl (exp.)long double
%g, %GGleitkommazahl (exponential o. dezimal)float
%lg, lGGleitkommazahl (exp./dez.)double
%Lg, LGGleitkommazahl (exp./dez.)long double
%sZeichenkette
%pZeiger
%nzeigt eingelesene Zeichen ankeine Eingabe

Speicherklassen

Klasse
Definitionsort
Lebensdauer
zugreifbar (sobald definiert oder deklariert)
Definition
(Ort)
Deklaration
(Prototype)
auto
Blockanfang
nur wenn im Block
im Block
[auto] typ name;
-
register
Blockanfang
nur wenn im Block
im Block
register typ name;
-
static
Blockanfang
gesamtes Programm
im Block
static typ name;
-
static
auerhalb von Funktionen
gesamtes Programm
im gleichen Quelltext
static typ name;
-
extern
auerhalb von Funktionen
gesamtes Programm
im beliebigen Quelltext
typ name;
extern typ name;
static
als Funktion
gesamtes Programm
im gleichen Quelltext
static typ name(...){...}
static typ name(...);
extern
als Funktion
gesamtes Programm
im beliebigen Quelltext
typ name(...){...}
[extern] typ name(...);

ASCII-Tabelle

ASCII Tabelle (sedezimal)

| 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel|
| 08 bs | 09 ht | 0a nl | 0b vt | 0c np | 0d cr | 0e so | 0f si |
| 10 dle| 11 dc1| 12 dc2| 13 dc3| 14 dc4| 15 nak| 16 syn| 17 etb|
| 18 can| 19 em | 1a sub| 1b esc| 1c fs | 1d gs | 1e rs | 1f us |
| 20 sp | 21  ! | 22  " | 23  # | 24  $ | 25  % | 26  & | 27  ' |
| 28  ( | 29  ) | 2a  * | 2b  + | 2c  , | 2d  - | 2e  . | 2f  / |
| 30  0 | 31  1 | 32  2 | 33  3 | 34  4 | 35  5 | 36  6 | 37  7 |
| 38  8 | 39  9 | 3a  : | 3b  ; | 3c  < | 3d  = | 3e  > | 3f  ? |
| 40  @ | 41  A | 42  B | 43  C | 44  D | 45  E | 46  F | 47  G |
| 48  H | 49  I | 4a  J | 4b  K | 4c  L | 4d  M | 4e  N | 4f  O |
| 50  P | 51  Q | 52  R | 53  S | 54  T | 55  U | 56  V | 57  W |
| 58  X | 59  Y | 5a  Z | 5b  [ | 5c  \ | 5d  ] | 5e  ^ | 5f  _ |
| 60  ` | 61  a | 62  b | 63  c | 64  d | 65  e | 66  f | 67  g |
| 68  h | 69  i | 6a  j | 6b  k | 6c  l | 6d  m | 6e  n | 6f  o |
| 70  p | 71  q | 72  r | 73  s | 74  t | 75  u | 76  v | 77  w |
| 78  x | 79  y | 7a  z | 7b  { | 7c  | | 7d  } | 7e  ~ | 7f del|

ASCII Tabelle (oktal)

|000 nul|001 soh|002 stx|003 etx|004 eot|005 enq|006 ack|007 bel|
|010 bs |011 ht |012 nl |013 vt |014 np |015 cr |016 so |017 si |
|020 dle|021 dc1|022 dc2|023 dc3|024 dc4|025 nak|026 syn|027 etb|
|030 can|031 em |032 sub|033 esc|034 fs |035 gs |036 rs |037 us |
|040 sp |041  ! |042  " |043  # |044  $ |045  % |046  & |047  ' |
|050  ( |051  ) |052  * |053  + |054  , |055  - |056  . |057  / |
|060  0 |061  1 |062  2 |063  3 |064  4 |065  5 |066  6 |067  7 |
|070  8 |071  9 |072  : |073  ; |074  < |075  = |076  > |077  ? |
|100  @ |101  A |102  B |103  C |104  D |105  E |106  F |107  G |
|110  H |111  I |112  J |113  K |114  L |115  M |116  N |117  O |
|120  P |121  Q |122  R |123  S |124  T |125  U |126  V |127  W |
|130  X |131  Y |132  Z |133  [ |134  \ |135  ] |136  ^ |137  _ |
|140  ` |141  a |142  b |143  c |144  d |145  e |146  f |147  g |
|150  h |151  i |152  j |153  k |154  l |155  m |156  n |157  o |
|160  p |161  q |162  r |163  s |164  t |165  u |166  v |167  w |
|170  x |171  y |172  z |173  { |174  | |175  } |176  ~ |177 del|

Latin1-Tabelle

128 144 160   176 192 208 224 240
129 145 ‘ 161 177 193 209 225 241
130 ‚ 146 ’ 162 178 194 210 226 242
131 ƒ 147 “ 163 179 195 211 227 243
132 „ 148 ” 164 180 196 212 228 244
133 … 149 • 165 181 197 213 229 245
134 † 150 – 166 182 198 214 230 246
135 ‡ 151 — 167 183 199 215 231 247
136 ˆ 152 ˜ 168 184 200 216 232 248
137 ‰ 153 ™ 169 185 201 217 233 249
138 Š 154 š 170 186 202 218 234 250
139 ‹ 155 › 171 187 203 219 235 251
140 Œ 156 œ 172 188 204 220 236 252
141 157 173 189 205 221 237 253
142 158 174 190 206 222 238 254
143 159 Ÿ 175 191 207 223 239 255

Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate