Sbírka_úloh_z_jazyka_C [UP Logo] Katedra informatiky Univerzity Palackého v_Olomouci

Operátory

  • Obsah_obdélníku
  • Sestrojitelnost_trojúhelníku
  • Celá_část
  • Zaokrouhlení

* Doplňující informace * Související pojmy Priorita je vlastnost operátorů udávající pořadí, ve kterém se operátory nacházející se v jednom výrazu vyhodnocují. V jazyku C jsou vyhodnocovány nejprve operátory s prioritou 1 (pokud jsou ve vyhodnocovaném výrazu obsaženy) a jako poslední s prioritou 15. Pořadí vyhodnocování operátorů lze pochopitelně změnit použitím kulatých závorek “(” a “)”. U složitějších výrazů se doporučuje psát závorky také pro zvýšení přehlednosti zdrojového kódu. Asociativita operátorů dané prioritní třídy udává “směr”, ve kterém se vyhodnocují operátory této třídy. V jazyku C odlišujeme asociativitu “zleva” a “zprava”. Také asociativita operátorů může být zastíněna použitím závorek. Arita operátoru udává počet jeho operandů, čili počet výrazů, se kterými se daná operace provádí. V jazyku C máme k dispozici operátory unární (tj. s aritou 1), binární (tj. s aritou 2) a jeden operátor ternární (tj. s aritou 3). Operátory přiřazení Operátor přiřazení je binární, přičemž jeho levý operand musí být tzv. L- hodnota, čili výraz, který má adresu, na níž uložená hodnota může být změněna (typicky identifikátor proměnné). Pravý operand je pak libovolný výraz, jehož hodnota se při vyhodnocování operátoru uloží do levého operandu. Výsledná hodnota operátoru je tato přiřazovaná hodnota. Kromě jednoduchého přiřazení (operátor =), které bylo popsáno výše, existují další operátory přiřazení (+=, -=, *=, /=, %= atd.), které odpovídají modifikaci levého operandu odpovídajícím operátorem za použití pravého operandu (např. x += 2 odpovídá x = x + 2). Příklady: i = j = k = 2; /* vícenásobné přiřazení */ x = 2 + (y = 3 * z * z + 2 * y); /* syntakticky možné, ale velmi nepřehledné */ Aritmetické operátory Unární plus a mínus (např. +2, -cislo) Binární plus a mínus (např. i+3, a-b) Dekrementace (snížení hodnoty o 1) a inkrementace (zvýšení hodnoty o 1) (např. i–, c) Operátory dekrementace a inkrementace mají vedlejší efekt - mění hodnotu svého operandu (ten tedy musí být L-hodnota). Oba operátory lze použít jak prefixově (před operandem) tak postfixově (za operandem), přičemž se liší výslednou hodnotou výrazu. V prefixovém tvaru je výslednou hodnotou výrazu hodnota operandu před snížením (resp. zvýšením) o 1, v postfixovém tvaru pak hodnota operandu po snížení (resp. zvýšení). Příklady: int i = 1, j, k; j = i++; /* j má hodnotu 1, i má hodnotu 2 */ k = ++i; /* k má hodnotu 3, i má hodnotu 3 */ Krát, děleno, modulo (zbytek po celočíselném dělení) (např. 2*a, 4/3, 5%b) Výsledné hodnoty operátorů odpovídají daným matematickým operacím. Vyjímkou je pouze operátor děleno /, který se v případě dvou celočíselných operandů chová jako celočíselné dělení. Logické operátory V jazyku C máme k dispozici operátor logického součinu && (odpovídající logické spojce "a zároveň", např. a&&b), logického součtu – + - (typ) * & sizeof zprava unární 3 * / % zleva binární 4 + - zleva binární 5 « » zleva binární 6 < > ⇐ >= zleva binární 7 == != zleva binární 8 &amp; zleva binární 9 ^ zleva binární 10 | zleva binární 11 &amp;&amp; zleva binární 12 || zleva binární 13 ? : zprava ternární 14 = += -= *= /= %= »= «= &amp;= |= ^= zprava binární 15 , zleva binární

[Creative_Commons_License] Sbírka_úloh_z_jazyka_C. © Katedra_informatiky Univerzity_Palackého_v_Olomouci, 2009. Projekt byl vytvořen za podpory grantu FRVŠ 2061/2009/G1.

1)
double)i); Příklad 2: float f = 10.23; int i; i = (int)f; Operátor sizeof (např. sizeof(int), sizeof(moje_cislo
jazykc/operatory/index.txt · Last modified: 2013/12/03 22:26 (external edit)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0