Bináris, egyváltozós (növekszik) aritmetikai műveletek - funkció sizeof
Tranzakciók nevezzük bináris. ha a két érintett gazdasági szereplőkkel őket. Úgy tűnik, hogy minden világos, de mivel mi vagyunk a műveletben részt vevő, két operandus válik egy érdekes probléma:
Lehetséges, hogy készítsen egy bináris aritmetikai művelet különböző adattípusok? És ha igen, akkor milyen lesz beszerezhető a kimenet a műveletet?
És így, ha elvégzik a bináris műveletek adatait az azonos típusú, a kimenet akkor mindig beszerezni az adatokat az azonos típusú. Például:
int a = 4, b = 8;
printf (, a + b ""); / * Printf függvény figyelembe kell venni később, amíg nem kell tudni, hogy ez értékeket megjeleníti a képernyőn. Ennek eredményeképpen kapunk egy értéket 12 -ovogo int típus * /
Most foglalkozik a bináris aritmetikai műveletek változók különböző típusú adatokat. Már a kezdet kezdetén adok három példát, és miután már össze az egész kép:
#include
#include
int main (int argc, char * argv [])
int a = 5; // 2 bájt
float b = 3; // 4 bájt
kettős c = 2; // 8 bájt
char d = 'a'; // 1 bájt
printf ( "\ n.", sizeof (a + b)); / * 4 byte következésképpen típusa float * /
printf ( "\ n.", sizeof (b + c)); / * 8 bájt, és így írja dupla * /
printf ( "\ n.", sizeof (a + d)); / * 2 bájt, ezért a típus int * /
sizeof funkció
sizeof visszaadja a bájtok számát memóriát változó. A fenti példák egyértelmű, hogy hozzáadja a különböző típusú változókat, amikor a kimeneti változó több fajta. Igen, arról a típusú karakter: vonásokkal,, van egész kódot, így ha hozzá nem merülnek fel problémák.
Mégis volt egy furcsa pillanat. Rendezés használt műveletek összeadás, szorzás, osztás és kivonás tud mindent. És milyen csoda - megtalálni az egyensúlyt? A legjobb, hogy olvassa el a példákat:
int a = 5, b = 2;
a = a% b; // az érték a egyenlő 1
Ie fordul rendes osztály, csak az eredmény fennmaradó részlege. Ez minden fortélyát ennek az operátornak.
egyváltozós függvény
Számának növelése eggyel.
int i = 6;
i ++; // növekszik
i = i + 1; // egyenértékű megnő
Számának csökkentése eggyel.
int i = 6;
én--; // csökkentő
i = i - 1; // egyenértékű a csökkentéshez
Amikor van egy lehetőség, hogy használja megnövelését vagy csökken, akkor használd, mert növeli a teljesítményt a programot.
De van még egy nagyon fontos pont. Növekszik és csökkentő az előtag és postfix:
int a = 5;
printf (, ++ a ""); // Kimenet 6
printf (, A ++ ""); // Kimenet 5
Következésképpen az előtagot képez először nő, majd a következő műveleteket végzi, és a postfix ellentétben - először kövesse, majd növelje az értéket.
Ez véget vet a leckét. A feladat nem, mert elolvasása után ezt a leckét egy párszor, hogy világossá kell tenni.