Pascal for C users/de: what changed
Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].\ | |
| 2 | 2 | ||
| 3 | 3 | =Übersetzen von C Operatoren= | |
| 4 | 4 | ||
| 5 | 5 | ## Arithmetische Operatoren | |
| 6 | 6 | ||
| 7 | 7 | | C | Pascal | Kommentare | | |
| 8 | 8 | |------|--------|-----------------------------------| | |
| 9 | 9 | | + | + | Addition | | |
| 10 | 10 | | - | - | Subtraktion | | |
| 11 | 11 | | * | * | Multiplikation | | |
| 12 | 12 | | / | / | Gleitkommadivision | | |
| 13 | 13 | | % | Mod | Modulo (Division ohne Rest) | | |
| 14 | 14 | | ++ | Inc | inkrementieren (Hochzählen) | | |
| 15 | 15 | | -- | Dec | dekrementieren (Herunterzählen) | | |
| 16 | 16 | ||
| 17 | 17 | ## Relationale Operatoren | |
| 18 | 18 | ||
| 19 | 19 | | C | Pascal | | | |
| 20 | 20 | |-------|--------|------------------| | |
| 21 | 21 | | == | = | gleich | | |
| 22 | 22 | | != | \<\> | ungleich | | |
| 23 | 23 | | \< | \< | kleiner | | |
| 24 | 24 | | \<= | \<= | kleiner gleich | | |
| 25 | 25 | | \> | \> | grösser | | |
| 26 | 26 | | \>= | \>= | grösser gleich | | |
| 27 | 27 | ||
| 28 | 28 | ## Logische Operatoren | |
| 29 | 29 | ||
| 30 | - | ||
| 31 | - | ||
| 32 | - | ||
| 33 | - | ||
| 34 | - | ||
| 35 | - | ||
| 36 | - | ||
| 37 | - | ||
| 38 | - | ||
| 39 | - | ||
| 30 | + | | C | Pascal | Kommentare | | |
| 31 | + | |---|---|---| | |
| 32 | + | | ! | Not | Negation (Den Wahrheitswert in sein Gegenteil ändern) | | |
| 33 | + | | && | And | logisches UND mit Kurzschlussauswertung · In Free Pascal ist dies die Standard-Compilereinstellung | | |
| 34 | + | | <nowiki> | | Or | | |
| 35 | + | | & | And | logisches UND mit Komplettauswertung · In Free Pascal ist dies die Compilerdirektive {$B ON} | | |
| 36 | + | | \| | Or | logisches ODER mit Komplettauswertung In Free Pascal ist dies die Compilerdirektive {$B ON} | | |
| 37 | + | | ^ | Xor | exclusives ODER | | |
| 40 | 38 | ||
| 41 | 39 | ## Bit Operatoren | |
| 42 | 40 | ||
| 43 | 41 | | C | Pascal | Kommentare | | |
| 44 | 42 | |--------|--------|-------------------------------------------| | |
| 45 | 43 | | ~ | Not | Einerkomplement | | |
| 46 | 44 | | & | And | bitweises UND | | |
| 47 | 45 | | \| | Or | bitweises inclusives ODER | | |
| 48 | 46 | | ^ | Xor | bitweises exclusives ODER | | |
| 49 | 47 | | \>\> | Shr | bitweises Rechtsschieben mit Vorzeichen | | |
| 50 | 48 | | \<\< | Shl | bitweises Linksschieben | | |
| 51 | 49 | ||
| 52 | 50 | ## Zuweisungs Operatoren | |
| 53 | 51 | ||
| 54 | 52 | Hinweis:\ | |
| 55 | 53 | C-artige Operatoren werden in Free Pascal über die Kommandozeilenoption -Sc ermöglicht. C-artige Operatoren werden in Lazarus über die Projekteinstellungen ermöglicht.\ | |
| 56 | 54 | {\| 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 \|- \| \|= \| 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 \|} | |
| 57 | 55 | ||
| 58 | 56 | ## Sonstige Operatoren | |
| 59 | 57 | ||
| 60 | 58 | | C | Pascal | | | |
| 61 | 59 | |------|--------|-------------------| | |
| 62 | 60 | | & | @ | Adresse von ... | | |
| 63 | 61 | | * | ^ | Zeiger | | |
| 64 | 62 | ||
| 65 | 63 | # Übersetzen von C Anweisungsblöcken | |
| 66 | 64 | ||
| 67 | 65 | | C | Pascal | Kommentare | | |
| 68 | 66 | |-----|---------|-------------------------------------------| | |
| 69 | 67 | | { | Begin | Anfang eines Anweisungsblocks | | |
| 70 | 68 | | } | End | Ende / Abschluss eines Anweisungsblocks | | |
| 71 | 69 | ||
| 72 | 70 | # Übersetzen von C Kommentarzeichen | |
| 73 | 71 | ||
| 74 | 72 | | C | Pascal | Kommentare | | |
| 75 | 73 | |-------|--------|---------------------------| | |
| 76 | 74 | | /* | { | Anfang eines Kommentars | | |
| 77 | 75 | | /* | (* | Anfang eines Kommentars | | |
| 78 | 76 | | */ | } | Ende eines Kommentars | | |
| 79 | 77 | | */ | *) | Ende eines Kommentars | | |
| 80 | 78 | | // | // | Kommentarzeile | | |
| 81 | 79 | ||
| 82 | 80 | # Übersetzen von C Schleifentypen | |
| 83 | 81 | ||
| 84 | 82 | | C | Pascal | Kommentare | | |
| 85 | 83 | |----|----|----| | |
| 86 | 84 | | for( ...; ...; ...++) | For ... To ... Do | Kopfgesteuerte Schleife, die hochgezählt wird | | |
| 87 | 85 | | for(...; ...; ...--) | For ... Downto ... Do | Kopfgesteuerte Schleife, die heruntergezählt wird | | |
| 88 | 86 | | while (...) | While ... Do | Kopfgesteuerte Schleife | | |
| 89 | 87 | | do ... while(...) | Repeat ... Until | Fussgesteuerte Schleife | | |
| 90 | 88 | | do ... while!(...) | Repeat ... Until ... Not | Fussgesteuerte Schleife mit Negation des Ergebnisses des Ausdrucks | | |
| 91 | 89 | ||
| 92 | 90 | # Übersetzen von C Verzweigungen / Bedingungen | |
| 93 | 91 | ||
| 94 | 92 | | C | Pascal | Kommentare | | |
| 95 | 93 | |----|----|----| | |
| 96 | 94 | | if(...) | If ... Then | If-Bedingung | | |
| 97 | 95 | | if(...) ... else | If ... Then ... Else | If-Bedingung mit Sonstzweig | | |
| 98 | 96 | | switch(...) case ...: ... break; | Case ... Of ...: ... End | Case-Bedingung | | |
| 99 | 97 | | switch(...) case ...: ... break; default ...; | Case ... Of ...: ... Else ... End | Case-Bedingung mit Sonst-Zweig | | |
| 100 | 98 | ||
| 101 | 99 | # Übersetzen von C Verzweigungen- / Schleifenabbrüchen | |
| 102 | 100 | ||
| 103 | 101 | | C | Pascal | Kommentare | | |
| 104 | 102 | |----|----|----| | |
| 105 | 103 | | break | Break | Die break-Anweisung ermöglicht es, vorzeitig eine Schleife (oder ein switch-case-Konstrukt) zu verlassen | | |
| 106 | 104 | | continue | Continue | Die continue-Anweisung ermöglicht es, den aktuellen Schleifendurchlauf zu beenden | | |
| 107 | 105 | ||
| 108 | 106 | # Übersetzen von C Datentypen | |
| 109 | 107 | ||
| 110 | 108 | | C Datentyp | Pascal Datentyp | Speichergrösse in Bits | Range | | |
| 111 | 109 | |----|----|----|----| | |
| 112 | 110 | | char | Char | 8-bit | Ein einzelnes Zeichen | | |
| 113 | 111 | | signed char | Shortint | 8-bit | -128 .. 127 | | |
| 114 | 112 | | unsigned char | Byte | 8-bit | 0 .. 255 | | |
| 115 | 113 | | char* | PChar | 32-bit | Zeiger auf ein Chararray | | |
| 116 | 114 | | char16_t | WideChar | 16-bit | Verwendet für die Darstellung eines Zeichens zwei Byte Speicher (UTF16) | | |
| 117 | 115 | | char32_t | WideChar | 32-bit | Verwendet für die Darstellung eines Zeichens vier Byte Speicher (UTF32) | | |
| 118 | 116 | | short int | SmallInt | 16-bit | -32768 .. 32767 | | |
| 119 | 117 | | unsigned short int | Word | 16-bit | 0 .. 65535 | | |
| 120 | 118 | | int | Integer | 16-bit oder 32-bit | -32.768 .. 32.767 bzw. -2147483648 .. 2147483647 | | |
| 121 | 119 | | unsigned int | Cardinal | 16-bit oder 32-bit | 0 .. 65.535 bzw. 0 .. 4294967295 | | |
| 122 | 120 | | long int | LongInt | 32-bit | -2147483648 .. 2147483647 | | |
| 123 | 121 | | unsigned long int | LongWord | 32-bit | 0 .. 4294967295 | | |
| 124 | 122 | | float | Single | 32-bit | 1.5E-45 .. 3.4E+38 | | |
| 125 | 123 | | double | Double | 64-bit | 5.0E-324 .. 1.7E+308 | | |
| 126 | 124 | ||
| 127 | 125 | # Übersetzen von C Strukturen | |
| 128 | 126 | ||
| 129 | 127 | | C | Pascal | | | |
| 130 | 128 | |--------------|------------------|---------------------------| | |
| 131 | 129 | | struct { } | Record End | Strukturierter Datentyp | | |
| 132 | 130 | | union { } | Record Case Of | Variant Record | | |
| 133 | 131 | ||
| 134 | 132 | # Übersetzen von Sonstigem | |
| 135 | 133 | ||
| 136 | 134 | | C | Pascal | Unit | | |
| 137 | 135 | |-----------|--------------|------------| | |
| 138 | 136 | | abs | Abs | System | | |
| 139 | 137 | | acos | ArcCos | Math | | |
| 140 | 138 | | asin | ArcSin | Math | | |
| 141 | 139 | | atan | ArcTan | System | | |
| 142 | 140 | | atof | StrToFloat | SysUtils | | |
| 143 | 141 | | atoi | StrToInt | SysUtils | | |
| 144 | 142 | | atol | StrToInt | SysUtils | | |
| 145 | 143 | | atoll | StrToInt64 | SysUtils | | |
| 146 | 144 | | ceil | Ceil | Math | | |
| 147 | 145 | | cos | Cos | System | | |
| 148 | 146 | | exp | Exp | System | | |
| 149 | 147 | | floor | Floor | Math | | |
| 150 | 148 | | pow | Power | Math | | |
| 151 | 149 | | round | Round | System | | |
| 152 | 150 | | sin | Sin | System | | |
| 153 | 151 | | sqrt | Sqrt | System | | |
| 154 | 152 | | strcpy | Copy | System | | |
| 155 | 153 | | strlen | Length | System | | |
| 156 | 154 | | tan | Tan | Math | | |
| 157 | 155 | | toupper | UpCase | System | | |
| 158 | 156 | ||
| 159 | 157 | --Olaf 15:29, 9 May 2013 (UTC) | |
| 160 | 158 | ||
| 161 | 159 | --- | |
| 162 | 160 | *From the Free Pascal wiki, page "Pascal for C users/de", as it stood on 2014-01-12 after a change by Olaf, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 163 | 161 | Category: Code/de | |
| 164 | 162 | Category: Deutsch |
