Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Hasonló dokumentumok
Készítette: Nagy Tibor István

Operátorok, házi feladat adatszerkezetek

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Programozás I gyakorlat

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Kifejezések. Kozsik Tamás. December 11, 2016

Java II. I A Java programozási nyelv alapelemei

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Szoftvertervezés és -fejlesztés I.

A TANTÁRGY ADATLAPJA

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

Aritmetikai kifejezések lengyelformára hozása

Hardver leíró nyelvek (HDL)

M veletek és kifejezések

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Java II. I A Java programozási nyelv alapelemei

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Imperatív és procedurális programozás a Javában

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

3 A C programozási nyelv szintaktikai egységei

Programozás módszertan

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Webprogramozás szakkör

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

A programozás alapjai 1 Rekurzió

Mintavételes szabályozás mikrovezérlő segítségével

Programozás I gyakorlat

Raszteres elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Programozás 3. Dr. Iványi Péter

Komputeralgebra Rendszerek

A C# programozási nyelv alapjai

Programozási nyelvek (ADA)

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

A C programozási nyelv III. Pointerek és tömbök.

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

A C programozási nyelv III. Pointerek és tömbök.

Objektumorientált Programozás II.

Adattípusok. Numerikus adatok. A numerikus adatok különböző típusú számértékek. Logikai érték

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Komputeralgebra rendszerek

Pénzügyi algoritmusok

I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI

Komputeralgebra rendszerek

Verilog HDL ismertető 2. hét : 1. hét dia

Vezérlési szerkezetek

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Bevezetés a programozásba

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Vezérlési szerkezetek. Szelekció Ciklusok

Az Excel táblázatkezelő

A C programozási nyelv II. Utasítások. A függvény.

Occam 1. Készítette: Szabó Éva

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

A programozás alapjai

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

Adatbázis- és szoftverfejlesztés elmélet

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

GYAKORLATIAS JAVA MINTA

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Óbudai Egyetem. C programozási nyelv

Szkriptnyelvek. 1. UNIX shell

Táblázatkezelés 2. előadás. Alapok (folyt.)

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Globális operátor overloading

A WEB programozása JavaScript 1 dr.gál Tibor őszi félév

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

A C programozási nyelv IV. Deklaráció és definíció

Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Készítette: Nagy Tibor István

C++ referencia. Izsó Tamás február 17. A C++ nyelvben nagyon sok félreértés van a referenciával kapcsolatban. A Legyakoribb hibák:

C programozás. 1 óra Bevezetés

AWK programozás, minták, vezérlési szerkezetek

1. Jelölje meg az összes igaz állítást a következők közül!

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész

az Excel for Windows programban

LEGO robotok. XII. rész

Átírás:

A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy jobbról balra köt? precedenciája () []. ->! ~ ++ -- + - * & (<típus>) sizeof * / % + - << >> < <= > >= ==!= precedenciája & ^ &&?: = += -= *= /= %= &= ^= = <<= >>=, 1

precedenciája precedenciája A precedencia zárójelezéssel megtörhető! Az operandusok kiértékelési sorrendje nem meghatározott! A mellékhatások kiszámíthatatlanok! Megoldás: zárójelezés segédváltozók használata Minden igazságérték jellegű eredmény függvényhívás és értéke int típusú, 0, ha hamis <függvény>(<paraméterek>) 1, ha igaz tömbhivatkozás struktúrahivatkozás <tömb>[<index>] <struktúra>.<tag> <struktúra mutató>-><tag> 2

logikai tagadás! <kifejezés> 1-es komplementálás (bitenkénti negálás) ~<kifejezés> utótagos inkrementálás/dekrementálás előtagos inkrementálás/dekrementálás <hivatkozás>++ <hivatkozás>-- ++<hivatkozás> --<hivatkozás> egyoperandusú plusz/mínusz indirekció +<aritmetikai kifejezés> *<mutató> -<aritmetikai kifjezés> 3

címképzés kényszerített típusmódosítás (casting) &<azonosító> (<típus>)<kifejezés> Konverzió csak aritmetikai típusoknál van! tárolás helyigénye (karakterekben) multiplikatív operátorok sizeof<kifejezés> sizeof(<típus>) A kifejezés nem értékelődik ki! Casting esetén elég az operátor is! <kifejezés>*<kifejezés> <kifejezés> /<kifejezés> <kifejezés>%<kifejezés> additív operátorok léptető operátorok <kifejezés>+<kifejezés> <kifejezés>-<kifejezés> <egész> << <nemnegatív egész> <egész> >> <nemnegatív egész> 4

relációs operátorok egyenlőségi operátorok <kifejezés><<kifejezés> <kifejezés><=<kifejezés> <kifejezés>><kifejezés> <kifejezés>==<kifejezés> <kifejezés>!=<kifejezés> <kifejezés>>=<kifejezés> bitenkénti és bitenkénti kizáró vagy (antivalencia) <egész kifejezés>&<egész kifejezés> <egész kifejezés>^<egész kifejezés> bitenkénti vagy logikai és <egész kifejezés> <egész kifejezés> <egész kifejezés>&&<egész kifejezés> Az operandusok balról jobbra értékelődnek ki! Ha az első kifejezés HAMIS, a második NEM ÉRTÉKELŐDIK KI, mellékhatásai elmaradnak! 5

logikai vagy feltételes kifejezés <egész kifejezés> <egész kifejezés> Az operandusok balról jobbra értékelődnek ki! Ha az első kifejezés IGAZ, a második NEM ÉRTÉKELŐDIK KI, mellékhatásai elmaradnak! <kifejezés>?<kifejezés>:<kifejezés> Csak az egyik kifejezés értékelődik ki! A kifejezés típusa a kétoperandusú konverzió szabályai szerint határozódik meg! értékadó operátorok (jobbról balra!) = += -= *= /= %= &= ^= = <<= >>= <hivatkozás>=<kifejezés> értékadó operátorok (jobbról balra!) = += -= *= /= %= &= ^= = <<= >>= <hivatkozás><op>=<kifejezés> A hivatkozott változónak módosíthatónak kell lennie! <hivatkozás>=<hivatkozás><op><kifejezés> A hivatkozás csak egyszer értékelődik ki! vessző <kifejezés>,<kifejezés> Az operandusok balról jobbra értékelődnek ki! Az első kifejezés értékét eldobjuk! A kifejezés értéke és típusa a második kifejezés értéke illetve típusa lesz! Ahol a vessző értelme más, zárójelezni kell! Mellékhatások szinkronizálása Sorrend-határ (sequence point): A program végrehajtásának azon pontja, ahol mindenelőzőleg végrehajtott tevékenység mellékhatásának be kell fejeződnie egyetlen későbbi végrehajtandó tevékenység mellékhatása sem kezdődhet el 6

Mellékhatások szinkronizálása Sorrend-határ pontok: utasítás-határ teljes kifejezés kiértékelésének vége vessző operátor függvény aktuális paraméterének meghatározása && és bal operandusa után?: első operandusa után, első operandusa után 7