C nyelv utasításai
Utasítások Kifejezés-utasítás Összetett utasítás Döntési utasítások értékadás függvényhívás üres utasítás Összetett utasítás { } Döntési utasítások if utasítás switch utasítás Ciklus utasítások while ciklus do while ciklus for ciklus Ugró utasítások break continue goto return
Összetett utasítás { } több egymást követő utasítást egyetlen utasításként kezelni szintaxis egyetlen utasítást enged, de több utasítást szeretnénk végrehajtani
Döntési utasítások if utasítás eldöntendő kérdés válasz: igen (akkor ) válasz: nem (különben) if (<eldöntő kérdés>) akkor <utasítás>; [különben <utasítás>;] if (<logikai kifejezés>) <utasítás>; [else <utasítás>;]
Döntési utasítások switch utasítás többirányú programelágazást tesz lehetővé egész kifejezés értékét (szelektor) több konstans értékkel (k1, k2, …, kn) összehasonlít kiértékeli a kifejezést átadja a vezérlést arra a case címkére, amelyben a konstans_kifejezés értéke megegyezik a kiértékelt kifejezés értékével a program futása ettől a ponttól folytatódik ha egyik case konstans sem egyezik meg a kifejezés értékével default } utáni utasítás (ha nincs default) switch (<szelektor>){ case <k1>: <U1>; [break; ] case <k2>: <U2>; [break; ] . case <kn>: <Un>; [break; ] [default: <Un+1>; ] }
Döntési utasítások switch utasítás switch (<szelektor>){ case <k1>: <U1>; [break; ] case <k2>: <U2>; [break; ] . case <kn>: <Un>; [break; ] [default: <Un+1>; ] } switch (<szelektor>){ case <k1>: <U1>; case <k2>: <U2>; . case <kn>: <Un>; [default: <Un+1>; ] }
Ciklus utasítások while utasítás feltétel ciklus utáni utasítás igaz hamis mindaddig ismétli a hozzátartozó utasítást, amíg a feltétel értéke igaz (nem nulla) ha a kifejezés értéke hamis (nulla) a ciklus befejezi működését a vizsgálat mindig megelőzi az utasítás végrehajtását while (<feltétel>) <utasítás>;
Ciklus utasítások do while utasítás feltétel ciklus utáni utasítás igaz hamis utasítás végrehajtása után kerül sor a feltétel kiértékelésére ha a kifejezés értéke igaz (nem nulla), akkor új iteráció kezdődik ha a kifejezés értéke hamis (nulla) a ciklus befejezi működését do <utasítás>; while (<feltétel>);
Ciklus utasítások for utasítás feltétel ciklus utáni utasítás léptető kifejezés inicializáló utasítás igaz hamis a while ciklus speciális alkalmazása leginkább akkor használjuk, ha az utasítást adott számszor kívánjuk végrehajtani for (<kif1>; <kif2>; <kif3>) <utasítás>; kif1: inicializáló_kif kif2: feltétel_kif kif3: léptető_kif
Összehasonlító és logikai operátorok C nyelvnek nincs külön logikai adattípusa utasítások, amelyekben feltételeket kell megadni tetszőleges kifejezések, melyek értéke nulla (hamis) nem nulla (igaz) int típus kifejezés értéke 1, ha igaz kifejezés értéke 0, ha hamis
Összehasonlító operátorok Mat-i alak C kifejezés Jelentés a < b a kisebb-e mint b? a b a <= b a kisebb vagy egyenlő-e mint b? a > b a nagyobb-e mint b? a b a >= b a nagyobb vagy egyenlő-e mint b? a = b a == b a egyenlő-e b-vel? a b a != b a nem egyenlő-e b-vel?
Logikai operátorok logikai operátor Jelentés ! tagadás (1 operandusú) && logikai és (2 operendusú) || logikai vagy (2 operendusú)
Bitenkénti operátorok Jelentés << bitenként balra léptetés (2 operandusú) >> bitenként jobbra léptetés (2 operandusú) & bitenkénti és (2 operandusú) | bitenkénti vagy (2 operandusú) ^ bitenkénti kizáró vagy (2 operandusú) ~ bitenkénti tagadás (1 operandusú)
Sorrend azonos prioritás esetén Precedenciatáblázat Operátorok Sorrend azonos prioritás esetén ( ) [ ] → . balról jobbra ! ~ ++ −− − (típus) * & sizeof jobbról balra * / % + − << >> < <= > >= == != & ^ | && || ?: = += −= /= %= <<= >>= &= |= ^= ,
Logikai operátorok, példák !5 !!5 !0 5 && 6 0 && 13 0 || 13 0 || 0 2 || 3 !(1 == 1) 7 == 8 || 8 == 7 7 == 7 && 8 == 8 −5 < x < 5 1
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b 00001101
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b 00001101 13
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b 00001101 13 ~a
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b 00001101 13 ~a 11110100
Bitenkénti operátorok, példák char a = 11, b = 6; Kifejezés Belső ábrázolás Érték a 00001011 11 b 00000110 6 a << 3 01011000 88 b >> 1 00000011 3 a & b 00000010 2 a | b 00001111 15 a ^ b 00001101 13 ~a 11110100 144
Írásjelek csak szintaktikai szerepük van azonosítók elkülönítésére, programkód egyes részeinek kijelölésére használjuk semmilyen műveletet nem definiálnak néhány írásjel egyben operátor is
Írásjelek Írásjel Az írásjel szerepe [ ] tömb kijelölése, méretének megadása ( ) paraméter- és argumentumlista kijelölése { } kódblokk vagy függvény behatárolása * mutatótípus jelölése a deklarációban , függvény-argumentumok elválasztása : címke elválasztása ; utasítás végének jelölése … változó hosszúságú argumentumlista jelölése # előfordító direktíva jelölése
Egész típusok Írassuk ki a képernyőre a különböző egész konstansok esetén az ábrázolható legkisebb és legnagyobb értéket. sizeof() operátor
Előjeles legkisebb, legnagyobb hossz típus-megadás alakja min <limits.h> max <limits.h> rövid short short int signed short signed short int SHRT_MIN SHRT_MAX normál int signed int INT_MIN INT_MAX hosszú long long int signed long signed long int LONG_MIN LONG_MAX char CHAR_MIN CHAR_MAX unsigned char UCHAR_MIN UCHAR_MAX
Nem-előjeles legkisebb, legnagyobb hossz típus-megadás alakja min <limits.h> max <limits.h> rövid unsigned short unsigned short int USHRT_MIN USHRT_MAX normál unsigned int UINT_MIN UINT_MAX hosszú unsigned long unsigned long int ULONG_MIN ULONG_MAX unsigned char UCHAR_MIN UCHAR_MAX
Lebegőpontos legkisebb, legnagyobb hossz típus-megadás alakja min <float.h> max <float.h> rövid float FLT_MIN FLT_MAX normál double DBL_MIN DBL_MAX hosszú long double LDBL_MIN LDBL_MAX FLT_MANT_DIG, FLT_MIN_EXP, FLT_MAX_EXP