Difference between revisions of "Pascal for C users/de"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "{{Pascal for C users}} <br> <br> {| class="wikitable" ! C !! Pascal !! |- | { | Begin | Anfang eines Anweisungsblocks |- | } | End | ...") |
m |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Pascal for C users}} | {{Pascal for C users}} | ||
<br> | <br> | ||
+ | Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].<br> | ||
<br> | <br> | ||
+ | =Übersetzen von C Operatoren= | ||
+ | ==Arithmetische Operatoren== | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! C !! Pascal !! | + | ! C !! Pascal !! Kommentare |
|- | |- | ||
− | | | + | | + |
− | | | + | | + |
− | | | + | | Addition |
|- | |- | ||
− | | | + | | - |
− | | | + | | - |
− | | | + | | Subtraktion |
|- | |- | ||
− | | | + | | * |
− | | | + | | * |
− | | | + | | Multiplikation |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| / | | / | ||
| / | | / | ||
− | | | + | | Gleitkommadivision |
|- | |- | ||
| % | | % | ||
| Mod | | Mod | ||
− | | Modulo Division | + | | Modulo (Division ohne Rest) |
+ | |- | ||
+ | | ++ | ||
+ | | Inc | ||
+ | | inkrementieren (Hochzählen) | ||
+ | |- | ||
+ | | -- | ||
+ | | Dec | ||
+ | | dekrementieren (Herunterzählen) | ||
+ | |} | ||
+ | ==Relationale Operatoren== | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! | ||
|- | |- | ||
− | | | + | | == |
− | | | + | | = |
− | | | + | | gleich |
|- | |- | ||
| != | | != | ||
| <> | | <> | ||
| ungleich | | ungleich | ||
+ | |- | ||
+ | | < | ||
+ | | < | ||
+ | | kleiner | ||
+ | |- | ||
+ | | <= | ||
+ | | <= | ||
+ | | kleiner gleich | ||
+ | |- | ||
+ | | > | ||
+ | | > | ||
+ | | grösser | ||
+ | |- | ||
+ | | >= | ||
+ | | >= | ||
+ | | grösser gleich | ||
+ | |} | ||
+ | ==Logische Operatoren== | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | ! | ||
+ | | Not | ||
+ | | Negation (Den Wahrheitswert in sein Gegenteil ändern) | ||
|- | |- | ||
| && | | && | ||
| And | | And | ||
− | | logisches UND | + | | logisches UND mit Kurzschlussauswertung<br> |
+ | In Free Pascal ist dies die Standard-Compilereinstellung | ||
|- | |- | ||
| <nowiki> || </nowiki> | | <nowiki> || </nowiki> | ||
| Or | | Or | ||
− | | logisches ODER | + | | logisches ODER mit Kurzschlussauswertung |
+ | In Free Pascal ist dies die Standard-Compilereinstellung | ||
+ | |- | ||
+ | | & | ||
+ | | And | ||
+ | | logisches UND mit Komplettauswertung<br> | ||
+ | In Free Pascal ist dies die Compilerdirektive {$B ON} | ||
+ | |- | ||
+ | | <nowiki> | </nowiki> | ||
+ | | Or | ||
+ | | logisches ODER mit Komplettauswertung | ||
+ | In Free Pascal ist dies die Compilerdirektive {$B ON} | ||
+ | |- | ||
+ | | ^ | ||
+ | | Xor | ||
+ | | exclusives ODER | ||
+ | |} | ||
+ | ==Bit Operatoren== | ||
+ | {| class="wikitable" | ||
+ | ! C!! Pascal !! Kommentare | ||
+ | |- | ||
+ | | ~ | ||
+ | | Not | ||
+ | | Einerkomplement | ||
+ | |- | ||
+ | | & | ||
+ | | And | ||
+ | | bitweises UND | ||
+ | |- | ||
+ | | <nowiki> | </nowiki> | ||
+ | | Or | ||
+ | | bitweises inclusives ODER | ||
|- | |- | ||
| ^ | | ^ | ||
| Xor | | Xor | ||
− | | | + | | bitweises exclusives ODER |
|- | |- | ||
| >> | | >> | ||
| Shr | | Shr | ||
− | | | + | | bitweises Rechtsschieben mit Vorzeichen |
|- | |- | ||
| << | | << | ||
| Shl | | Shl | ||
− | | | + | | bitweises Linksschieben |
+ | |} | ||
+ | ==Zuweisungs Operatoren== | ||
+ | Hinweis:<br> | ||
+ | C-artige Operatoren werden in Free Pascal über die Kommandozeilenoption -Sc ermöglicht. | ||
+ | C-artige Operatoren werden in Lazarus über die Projekteinstellungen ermöglicht. | ||
+ | <br> | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | = | ||
+ | | := | ||
+ | | Einfache Zuweisung | ||
|- | |- | ||
− | | ++ | + | | += |
− | | | + | | += |
− | | | + | | Additionszuweisung |
+ | |- | ||
+ | | -= | ||
+ | | -= | ||
+ | | Subtraktionszuweisung | ||
+ | |- | ||
+ | | *= | ||
+ | | *= | ||
+ | | Multiplikationszuweisung | ||
+ | |- | ||
+ | | /= | ||
+ | | /= | ||
+ | | Divisionszuweisung | ||
+ | |- | ||
+ | | %= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | Modulo Zuweisung | ||
+ | |- | ||
+ | | &= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | UND Zuweisung | ||
+ | |- | ||
+ | | <nowiki>|</nowiki>= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | ODER Zuweisung | ||
+ | |- | ||
+ | | ^= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | Exclusive ODER Zuweisung | ||
+ | |- | ||
+ | | >>= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | Rechtsschiebe Zuweisung | ||
+ | |- | ||
+ | | <<= | ||
+ | | ist in Free Pascal nicht vorhanden | ||
+ | | Linksschiebe Zuweisung | ||
+ | |} | ||
+ | |||
+ | ==Sonstige Operatoren== | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! | ||
+ | |- | ||
+ | | & | ||
+ | | @ | ||
+ | | Adresse von ... | ||
+ | |- | ||
+ | | * | ||
+ | | ^ | ||
+ | | Zeiger | ||
+ | |} | ||
+ | |||
+ | =Übersetzen von C Anweisungsblöcken= | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | { | ||
+ | | Begin | ||
+ | | Anfang eines Anweisungsblocks | ||
|- | |- | ||
− | | | + | | } |
− | | | + | | End |
− | | | + | | Ende / Abschluss eines Anweisungsblocks |
+ | |} | ||
+ | |||
+ | =Übersetzen von C Kommentarzeichen= | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
|- | |- | ||
| /* | | /* | ||
− | | { | + | | { |
| Anfang eines Kommentars | | Anfang eines Kommentars | ||
+ | |- | ||
+ | | /* | ||
+ | | (* | ||
+ | | Anfang eines Kommentars | ||
|- | |- | ||
| */ | | */ | ||
− | | } | + | | } |
+ | | Ende eines Kommentars | ||
+ | |- | ||
+ | | */ | ||
+ | | *) | ||
| Ende eines Kommentars | | Ende eines Kommentars | ||
|- | |- | ||
| // | | // | ||
| // | | // | ||
− | | | + | | Kommentarzeile |
+ | |} | ||
+ | =Übersetzen von C Schleifentypen= | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
|- | |- | ||
− | | | + | | for( ...; ...; ...++) |
− | | | + | | For ... To ... Do |
− | | | + | | Kopfgesteuerte Schleife, die hochgezählt wird |
|- | |- | ||
− | | | + | | for(...; ...; ...--) |
− | + | | For ... Downto ... Do | |
− | + | | Kopfgesteuerte Schleife, die heruntergezählt wird | |
− | |||
− | |||
− | | | ||
− | | | ||
|- | |- | ||
− | | while | + | | while (...) |
| While ... Do | | While ... Do | ||
− | | Kopfgesteuerte Schleife | + | | Kopfgesteuerte Schleife |
|- | |- | ||
− | | do while | + | | do ... while(...) |
| Repeat ... Until | | Repeat ... Until | ||
− | | Fussgesteuerte Schleife | + | | Fussgesteuerte Schleife |
|- | |- | ||
− | | do while ! | + | | do ... while!(...) |
| Repeat ... Until ... Not | | Repeat ... Until ... Not | ||
− | | Fussgesteuerte Schleife mit | + | | Fussgesteuerte Schleife mit Negation des Ergebnisses des Ausdrucks |
+ | |} | ||
+ | =Übersetzen von C Verzweigungen / Bedingungen= | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
|- | |- | ||
− | | | + | | if(...) |
− | | | + | | If ... Then |
− | | | + | | If-Bedingung |
|- | |- | ||
− | | | + | | if(...) ... else |
− | | | + | | If ... Then ... Else |
− | | | + | | If-Bedingung mit Sonstzweig |
|- | |- | ||
− | | switch case break | + | | switch(...) case ...: ... break; |
− | | Case ... Of ... End | + | | Case ... Of ...: ... End |
− | | Case-Bedingung | + | | Case-Bedingung |
|- | |- | ||
− | | switch case break default | + | | switch(...) case ...: ... break; default ...; |
− | | Case ... Of ... Else ... End | + | | Case ... Of ...: ... Else ... End |
| Case-Bedingung mit Sonst-Zweig | | Case-Bedingung mit Sonst-Zweig | ||
+ | |} | ||
+ | |||
+ | =Übersetzen von C Verzweigungen- / Schleifenabbrüchen= | ||
+ | {| class="wikitable" | ||
+ | ! C !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | break | ||
+ | | Break | ||
+ | | Die break-Anweisung ermöglicht es, vorzeitig eine Schleife (oder ein switch-case-Konstrukt) zu verlassen | ||
|- | |- | ||
+ | | continue | ||
+ | | Continue | ||
+ | | Die continue-Anweisung ermöglicht es, den aktuellen Schleifendurchlauf zu beenden | ||
|} | |} | ||
− | + | =Übersetzen von C Datentypen= | |
− | |||
{| class="wikitable" | {| class="wikitable" | ||
− | ! C | + | ! C Datentyp !! Pascal Datentyp !! Speichergrösse in Bits !! Range |
|- | |- | ||
| char | | char | ||
Line 146: | Line 311: | ||
| WideChar | | WideChar | ||
| 16-bit | | 16-bit | ||
− | | Verwendet für die Darstellung eines Zeichens zwei | + | | Verwendet für die Darstellung eines Zeichens zwei Byte Speicher (UTF16) |
|- | |- | ||
| char32_t | | char32_t | ||
| WideChar | | WideChar | ||
| 32-bit | | 32-bit | ||
− | | Verwendet für die Darstellung eines Zeichens vier | + | | Verwendet für die Darstellung eines Zeichens vier Byte Speicher (UTF32) |
|- | |- | ||
| short int | | short int | ||
Line 166: | Line 331: | ||
| Integer | | Integer | ||
| 16-bit oder 32-bit | | 16-bit oder 32-bit | ||
− | | -2147483648..2147483647 | + | | -32.768 .. 32.767 bzw. -2147483648 .. 2147483647 |
|- | |- | ||
| unsigned int | | unsigned int | ||
| Cardinal | | Cardinal | ||
− | | 32-bit | + | | 16-bit oder 32-bit |
− | | 0 .. 4294967295 | + | | 0 .. 65.535 bzw. 0 .. 4294967295 |
|- | |- | ||
| long int | | long int | ||
| LongInt | | LongInt | ||
| 32-bit | | 32-bit | ||
− | | -2147483648..2147483647 | + | | -2147483648 .. 2147483647 |
|- | |- | ||
| unsigned long int | | unsigned long int | ||
Line 192: | Line 357: | ||
| 64-bit | | 64-bit | ||
| 5.0E-324 .. 1.7E+308 | | 5.0E-324 .. 1.7E+308 | ||
− | |||
|} | |} | ||
− | + | ||
− | + | =Übersetzen von C Strukturen= | |
{| class="wikitable" | {| class="wikitable" | ||
− | ! C | + | ! C !! Pascal !! |
|- | |- | ||
| struct { } | | struct { } | ||
Line 206: | Line 370: | ||
| Record Case Of | | Record Case Of | ||
| Variant Record | | Variant Record | ||
− | |||
|} | |} | ||
− | + | ||
− | + | =Übersetzen von Sonstigem= | |
{| class="wikitable" | {| class="wikitable" | ||
! C !! Pascal !! Unit | ! C !! Pascal !! Unit | ||
Line 250: | Line 413: | ||
|- | |- | ||
| cos | | cos | ||
− | | Cos | + | | Cos |
| System | | System | ||
|- | |- | ||
Line 292: | Line 455: | ||
| UpCase | | UpCase | ||
| System | | System | ||
− | |||
|} | |} | ||
<br> | <br> | ||
<br> | <br> | ||
--[[User:Olaf|Olaf]] 15:29, 9 May 2013 (UTC) | --[[User:Olaf|Olaf]] 15:29, 9 May 2013 (UTC) | ||
− | [[Category:Code | + | [[Category:Code/de]]{{AutoCategory}} |
Latest revision as of 10:02, 12 January 2014
│
Deutsch (de) │
English (en) │
français (fr) │
Zurück zu den Zusätzlichen Informationen.
Übersetzen von C Operatoren
Arithmetische Operatoren
C | Pascal | Kommentare |
---|---|---|
+ | + | Addition |
- | - | Subtraktion |
* | * | Multiplikation |
/ | / | Gleitkommadivision |
% | Mod | Modulo (Division ohne Rest) |
++ | Inc | inkrementieren (Hochzählen) |
-- | Dec | dekrementieren (Herunterzählen) |
Relationale Operatoren
C | Pascal | |
---|---|---|
== | = | gleich |
!= | <> | ungleich |
< | < | kleiner |
<= | <= | kleiner gleich |
> | > | grösser |
>= | >= | grösser gleich |
Logische Operatoren
C | Pascal | Kommentare |
---|---|---|
! | Not | Negation (Den Wahrheitswert in sein Gegenteil ändern) |
&& | And | logisches UND mit Kurzschlussauswertung In Free Pascal ist dies die Standard-Compilereinstellung |
|| | Or | logisches ODER mit Kurzschlussauswertung
In Free Pascal ist dies die Standard-Compilereinstellung |
& | And | logisches UND mit Komplettauswertung In Free Pascal ist dies die Compilerdirektive {$B ON} |
| | Or | logisches ODER mit Komplettauswertung
In Free Pascal ist dies die Compilerdirektive {$B ON} |
^ | Xor | exclusives ODER |
Bit Operatoren
C | Pascal | Kommentare |
---|---|---|
~ | Not | Einerkomplement |
& | And | bitweises UND |
| | Or | bitweises inclusives ODER |
^ | Xor | bitweises exclusives ODER |
>> | Shr | bitweises Rechtsschieben mit Vorzeichen |
<< | Shl | bitweises Linksschieben |
Zuweisungs Operatoren
Hinweis:
C-artige Operatoren werden in Free Pascal über die Kommandozeilenoption -Sc ermöglicht.
C-artige Operatoren werden in Lazarus über die Projekteinstellungen ermöglicht.
C | Pascal | Kommentare |
---|---|---|
= | := | Einfache Zuweisung |
+= | += | Additionszuweisung |
-= | -= | Subtraktionszuweisung |
*= | *= | Multiplikationszuweisung |
/= | /= | Divisionszuweisung |
%= | ist in Free Pascal nicht vorhanden | Modulo Zuweisung |
&= | ist in Free Pascal nicht vorhanden | UND Zuweisung |
|= | ist in Free Pascal nicht vorhanden | ODER Zuweisung |
^= | ist in Free Pascal nicht vorhanden | Exclusive ODER Zuweisung |
>>= | ist in Free Pascal nicht vorhanden | Rechtsschiebe Zuweisung |
<<= | ist in Free Pascal nicht vorhanden | Linksschiebe Zuweisung |
Sonstige Operatoren
C | Pascal | |
---|---|---|
& | @ | Adresse von ... |
* | ^ | Zeiger |
Übersetzen von C Anweisungsblöcken
C | Pascal | Kommentare |
---|---|---|
{ | Begin | Anfang eines Anweisungsblocks |
} | End | Ende / Abschluss eines Anweisungsblocks |
Übersetzen von C Kommentarzeichen
C | Pascal | Kommentare |
---|---|---|
/* | { | Anfang eines Kommentars |
/* | (* | Anfang eines Kommentars |
*/ | } | Ende eines Kommentars |
*/ | *) | Ende eines Kommentars |
// | // | Kommentarzeile |
Übersetzen von C Schleifentypen
C | Pascal | Kommentare |
---|---|---|
for( ...; ...; ...++) | For ... To ... Do | Kopfgesteuerte Schleife, die hochgezählt wird |
for(...; ...; ...--) | For ... Downto ... Do | Kopfgesteuerte Schleife, die heruntergezählt wird |
while (...) | While ... Do | Kopfgesteuerte Schleife |
do ... while(...) | Repeat ... Until | Fussgesteuerte Schleife |
do ... while!(...) | Repeat ... Until ... Not | Fussgesteuerte Schleife mit Negation des Ergebnisses des Ausdrucks |
Übersetzen von C Verzweigungen / Bedingungen
C | Pascal | Kommentare |
---|---|---|
if(...) | If ... Then | If-Bedingung |
if(...) ... else | If ... Then ... Else | If-Bedingung mit Sonstzweig |
switch(...) case ...: ... break; | Case ... Of ...: ... End | Case-Bedingung |
switch(...) case ...: ... break; default ...; | Case ... Of ...: ... Else ... End | Case-Bedingung mit Sonst-Zweig |
Übersetzen von C Verzweigungen- / Schleifenabbrüchen
C | Pascal | Kommentare |
---|---|---|
break | Break | Die break-Anweisung ermöglicht es, vorzeitig eine Schleife (oder ein switch-case-Konstrukt) zu verlassen |
continue | Continue | Die continue-Anweisung ermöglicht es, den aktuellen Schleifendurchlauf zu beenden |
Übersetzen von C Datentypen
C Datentyp | Pascal Datentyp | Speichergrösse in Bits | Range |
---|---|---|---|
char | Char | 8-bit | Ein einzelnes Zeichen |
signed char | Shortint | 8-bit | -128 .. 127 |
unsigned char | Byte | 8-bit | 0 .. 255 |
char* | PChar | 32-bit | Zeiger auf ein Chararray |
char16_t | WideChar | 16-bit | Verwendet für die Darstellung eines Zeichens zwei Byte Speicher (UTF16) |
char32_t | WideChar | 32-bit | Verwendet für die Darstellung eines Zeichens vier Byte Speicher (UTF32) |
short int | SmallInt | 16-bit | -32768 .. 32767 |
unsigned short int | Word | 16-bit | 0 .. 65535 |
int | Integer | 16-bit oder 32-bit | -32.768 .. 32.767 bzw. -2147483648 .. 2147483647 |
unsigned int | Cardinal | 16-bit oder 32-bit | 0 .. 65.535 bzw. 0 .. 4294967295 |
long int | LongInt | 32-bit | -2147483648 .. 2147483647 |
unsigned long int | LongWord | 32-bit | 0 .. 4294967295 |
float | Single | 32-bit | 1.5E-45 .. 3.4E+38 |
double | Double | 64-bit | 5.0E-324 .. 1.7E+308 |
Übersetzen von C Strukturen
C | Pascal | |
---|---|---|
struct { } | Record End | Strukturierter Datentyp |
union { } | Record Case Of | Variant Record |
Übersetzen von Sonstigem
C | Pascal | Unit |
---|---|---|
abs | Abs | System |
acos | ArcCos | Math |
asin | ArcSin | Math |
atan | ArcTan | System |
atof | StrToFloat | SysUtils |
atoi | StrToInt | SysUtils |
atol | StrToInt | SysUtils |
atoll | StrToInt64 | SysUtils |
ceil | Ceil | Math |
cos | Cos | System |
exp | Exp | System |
floor | Floor | Math |
pow | Power | Math |
round | Round | System |
sin | Sin | System |
sqrt | Sqrt | System |
strcpy | Copy | System |
strlen | Length | System |
tan | Tan | Math |
toupper | UpCase | System |
--Olaf 15:29, 9 May 2013 (UTC)