És a fontossági sorrendet

A könyv tartalmazza a teljes leírását a leggyakoribb C programozási nyelv implementáció 16 bites mikroszámítógép kompatibilis az IBM PC. A leírás a szabványos C könyvtár.

A képzések a programozás, szoftverfejlesztés, valamint a diákok a megfelelő specialitások egyetemeken. Ezt fel lehet használni, mint a műszaki dokumentációt, és referencia-kézikönyvét széles programozók szakemberek széles körű tapasztalattal rendelkezik a C nyelv, és elkezd kódolás C.

Könyv: C programozási nyelv PC

És a fontossági sorrendet

És a fontossági sorrendet

A precedencia és asszociativitás C nyelv műveletek befolyásolja az, hogy a csoportosulás operandusok és számítási műveletek egy kifejezést. műveleti prioritás fontos csak akkor, ha több művelet, amelynek különböző prioritások. Kifejezések magasabb prioritású műveletek először értékelni.

4.1 táblázat mutatja, a műveletet a csökkenő fontossági sorrendben. Műveletek elrendezve egy sorban a táblázat, vagy a kombinált egy csoportba, ugyanazzal a prioritással rendelkeznek, és ugyanaz a asszociatív.

A precedencia és asszociatív műveletek C

Tól 4.1 táblázat. ebből következik, hogy az operandusok képviselő függvényhívás, az index kifejezés, kifejezés az elem a választás és a véleménynyilvánítás zárójelben a legmagasabb prioritású és asszociatív balról jobbra. Hoz típus azonos prioritás, és a sorrendben, egyváltozós függvények.

Expression tartalmazhat több művelet egy kiemelt. Ha több műveletet azonos prioritási szint jelenik meg a kifejezés, alkalmazzák őket aszerint, hogy azok asszociatív - vagy jobbról balra vagy balról jobbra.

Megjegyezzük, hogy a C, a prioritási sorrend elfogadott sikertelen egyes műveletek esetében, különösen a műveletek és bitenkénti változó műveleteket. Van egy alacsonyabb prioritású, mint a számtani műveletek (összeadás, stb.) Ezért a kifejezést

a = b 0xFF + 5

a = b (0xFF + 5),

Multiplikatív, felül és a bitenkénti műveletek mutatnak kommutatív. Ez azt jelenti, hogy a kiértékelés eredményét egy kifejezés, amely több kommutatív műveletek az azonos prioritású, függetlenül rendelést Ezen műveletek elvégzése. Ezért a fordító fenntartja a jogot, hogy kiszámítsa az ilyen kifejezések bármilyen sorrendben, még abban az esetben, ha a kifejezésnek zárójelben, hogy adja meg a kiértékelés.

Az SP TS realizált egyváltozós függvény plusz lehetővé teszi, hogy garantálja a kiértékelési sorrendje kifejezéseket zárójelben.

Működés szekvenciális számítások, logikai műveletek AND és OR, a feltételes működését és a működés függvényhívás garantálni egy bizonyos sorrendben értékelést a operandusok. szekvenciális számítási művelet kiszámítja annak operandus egy időben, balról jobbra (a vessző elválasztó érveket függvényhívás nem műveletek sorozatát számítás, és nem nyújt ilyen garanciák). Garantált, hogy abban az időben a függvényhívás érveket már számítható.

Feltételes művelet kiszámítja egy első operandusban az első, majd, attól függően, hogy az értékét, akár a második vagy harmadik.

Logikai műveletek is nyújtanak számításához operandusok balról jobbra. Azonban, logikai műveletek számított minimális számú operandus meghatározásához szükséges a kifejezés eredményét. Így a második operandus expresszió nem lehet értékelni.

z = x> y || f (x, y);

Ez első kiszámított expressziós x> y. Ha ez igaz, a Z változó hozzárendelve értéke 1, és az f függvény nem okozott. Ha az x értéke nem több, mint y, a kifejezés értéke az f (x, y). Ha a függvény egy nullától különböző értéket f a z változó van rendelve 1, egyébként 0. Megjegyzendő, hogy a függvényhívás f garantált, hogy az értéke az első argumentum nagyobb, mint a második.

Ez a példa mutatja a lehetőségét, hogy az alap rendelést végző logikai műveleteket. Ez egyrészt növeli a hatékonyságot azáltal, hogy a legvalószínűbb feltételekkel, mint az első operandus logikai műveleteket. Másodszor, lehetséges, hogy helyezze be a kifejezést ellenőrzi, hogy a hamisságát, amely nyomon követő intézkedéseket nem lehet végrehajtani. Tehát, a következő if utasítást, hogy olvassa el a következő karaktert a fájl lesz végrehajtva, ha a fájl végére még nem értük el:

if (! feof (PF)) (C = getc (PF)) ...

Itt feof - teszt funkció a fájl végéhez, getc - funkció karaktert olvasni a fájlt (lásd: 12.).

Harmadszor, akkor arról, hogy a kifejezés az f (x) g (y) az f függvény kerül meghívásra, mielőtt a g. Az expresszióhoz f (x) + g (y), hogy nem lehet arra hivatkozni.

A következő példák szemléltetik a csoportosítása operandusok különböző kifejezéseket.