Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze 2009.01.

Podobné prezentace


Prezentace na téma: "A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze 2009.01."— Transkript prezentace:

1 A1PRG - Programování – Seminář Ing. Michal Heczkoheczko@fai.utb.cz Operátory (2. část) 4 Verze 2009.01

2 Agenda  Další operátory v jazyce C  Priorita a asociativita vyhodnocování operátorů

3 Opakování  Operátor - symbolické vyjádření elementární funkce s jednou nebo i více vstupními proměnnými, vrací jednu výstupní hodnotu.  Aritmetické operátory – základní matematické operace.  Relační operátory – porovnání dvou hodnot  Logické operátory – logické operace nad logickými hodnotami.  Bitové logické operátory - logické operace nad jednotlivými bity.

4 Opakování  Dělení operátorů podle počtu vstupních hodnot:  Unární operátory –pouze jedna vstupní hodnota  Binární operátory – dvě vstupní hodnoty  Ternární operátory – tři vstupní hodnoty

5 Operátor podmínky  Jediný ternární operátor v jazyce C  Obecná syntaxe:  Výraz_1 ? Výraz_2 : Výraz_3  Příklad:  (x > 5) ? 1 : 0

6 Operátor podmínky  V určitých případech nahrazuje příkaz IF  Př. if (y > z) { x = y; } else { x = z; } x = (y > z) ? y : z

7 Adresní operátor  Operátor reference – získání adresy objektu  Unární operátor &  Pozn. Operátor & je v jazyce C definován i jako binární ve významu bitového součinu.  Návratovou hodnotou tohoto operátoru je adresa proměnné.  Použití např. u funkce scanf:  scanf(“%d”,&x);

8 Unární operátor *  Operátor dereference – získání objektu dle adresy.  Pozn. Operátor * je v jazyce C definován i jako binární ve významu součinu.  Umožňuje odkazovat na adresu, která je uložená v dané proměnné.  Umožňuje přistupovat k danému objektu, na jehož adresu odkazuje.

9 Příklad int *x; int y = 5; x = &y; printf(“%d %d %d”,*x,x,y); *x = 8; printf(“%d %d %d”,*x,x,y); x = 8; printf(“%d %d %d”,*x,x,y);

10 Operátor přetypování  Slouží k přetypování z jednoho datového typu na jiný.  Zápis:  Nový datový typ v závorkách před jménem proměnné.  Příklad: int a=5, b=3; double c; c = a / (double)b;

11 sizeof  Operátor pro získání délky objektu nebo typu.  Návratová hodnota: počet bytů.  Obecná syntaxe: unsigned int sizeof( );

12 sizeof  Příklad: int velikost; float cislo; double pole[10]; velikost = sizeof(int); velikost = sizeof(cislo); velikost = sizeof(pole);

13 Čárka  Postupné vyhodnocování dvou výrazů  Obecný zápis: výraz_1, výraz_2  Postup vyhodnocování:  Nejprve se vyhodnotí výraz_1 a následně výraz_2. Jeho hodnota se stává hodnotou celého výrazu.

14 Čárka int i = 2; j = 3; int k; k = (i++, i + j); int i = 2; j = 3; int k; i++; k = i + j; PříkladEkvivalentní zápis

15 Priorita a asociativita vyhodnocování operátorů  Priorita – určuje, který operátor bude vyhodnocen jako první  Asociativita – pokud mají dva operátory stejnou prioritu, rozhoduje o pořadí směr vyhodnocování.

16 Priorita a asociativita vyhodnocování operátorů PrioritaOperátoryAsociativita 1. -> () []Zleva 2+ 1 - 1 ++ -- ! ~ & * (přetypování) sizeof Zprava 3* / %Zleva 4+ 2 - 2 Zleva 5 >Zleva 6 =Zleva 7== !=Zleva 1 ) Unární operátor + nebo - 2 ) Binární operátor + nebo -

17 Priorita a asociativita vyhodnocování operátorů PrioritaOperátoryAsociativita 8&Zleva 9^ 10|Zleva 11&&Zleva 12||Zleva 13?:Zprava 14= += -= *= /= %= >= &= |= ^= Zprava 15,Zleva

18 Priorita a asociativita vyhodnocování operátorů  Příklad 1: v = x + y * z; v = (x + (y * z));  Pozn.: Násobení má nejvyšší prioritu, přiřazení nejnižší.  Příklad 2: v = x – y - z; v = ((x – y) - z);  Pozn.: Rozdíl má asociativitu zleva, přiřazení má nižší prioritu

19 Priorita a asociativita vyhodnocování operátorů  Příklad 3: v += w << x << y / z; v += ((w << x) << (y / z));  Příklad 4: v = (int)w & x % y / z; v = (((int)w) & ((x % y) / z));

20 Priorita a asociativita vyhodnocování operátorů  Pokud si nejste jisti prioritou a asociativitou, použijte závorky.

21 Závorky  3 druhy závorek  ( … )  [ … ]  { … }

22 Závorky( … )

23

24 Závorky[ … ]

25 Závorky{ … }

26 A1PRG 4. Operátory II. Děkuji za pozornost Ing. Michal Heczko heczko@fai.utb.cz 218/U3 Prezentace k dispozici na http://vyuka.fai.utb.czhttp://vyuka.fai.utb.cz


Stáhnout ppt "A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze 2009.01."

Podobné prezentace


Reklamy Google