V tejto podrobnej príručke sa budeme zaoberať operátormi v programovaní v jazyku C a ich typmi.
Operátory a ich typy v programovaní C
Operátory sú symboly, ktoré sa používajú na vykonávanie špecifických matematických úloh. Používajú sa na manipuláciu s údajmi a premennými. Nasledujú rôzne typy operátorov v programovaní C:
- Aritmetické operátory
- Unární operátori
- Operátori pridelenia
- Logické alebo booleovské operátory
- Vzťahoví operátori
- Podmienené operátory
- Bitové operátory
1: Aritmetické operátory
Toto sú operátory používané na vykonávanie základných matematických funkcií, ako je sčítanie, odčítanie alebo násobenie. Tieto operátory môžete použiť na takmer všetkých vstavaných dátových typoch programovania v jazyku C. Nasledujú aritmetické operátory používané v programovaní v C:
Operátori | Funkcie |
+ | Pridajte 2 operandy |
– | Odčítajte 2 operandy |
* | Vynásobte 2 operandy |
/ | Rozdeľte 2 operandy |
% | Operátor modulu udáva zvyšok delenia |
Príklad
V nižšie uvedenom príklade sme vykonali vyššie uvedené aritmetické operácie s premennou X a premennou Y. Premenná X má hodnotu 20 a Y má hodnotu 5:
#include
int Hlavná ( )
{
int X = dvadsať ;
int A = 5 ;
int výsledok ;
výsledok = X + A ;
printf ( 'Pridanie X a Y je: %d \n ' , výsledok ) ;
výsledok = X - A ;
printf ( 'Odčítanie X a Y je: %d \n ' , výsledok ) ;
výsledok = X * A ;
printf ( 'Násobenie X a Y je: %d \n ' , výsledok ) ;
výsledok = X / A ;
printf ( 'Rozdelenie X a Y je: %d.' \n ' , výsledok ) ;
výsledok = X % A ;
printf ( 'Rozdelenie modulu X a Y je: %d \n ' , výsledok ) ;
vrátiť 0 ;
}
2: Unárne operátory
Existujú dva jedinečné unárne operátory, ktoré sú podporované iba jazykom C, increment ++ a decrement — operátory. Operátor zvýšenia pridá 1 k operandu a operátor zníženia odpočíta 1 od operandu.
Operátor prírastku je napísaný takto:
++ a alebo a ++
Operátor zníženia je:
-- a alebo a --Ak použijeme operátor inkrementácie a dekrementu ako predponu, najprv pripočíta alebo odčíta hodnotu premennej a potom sa výsledok priradí premennej vľavo. Ak sa predtým pridajú operátory, najprv vráti pôvodnú hodnotu a potom sa operand pripočíta alebo odčíta o 1.
Príklad
Nižšie sme priradili hodnoty dvom premenným a a b a použili na ne operátory prírastku a znižovania:
#includeint Hlavná ( )
{
int a = pätnásť , b = 10 ;
printf ( '++a = %d.' \n ' , ++ a ) ;
printf ( 'a++ = %d.' \n ' , a ++ ) ;
vrátiť 0 ;
}
3: Operátor pridelenia
An operátor priradenia (=) sa používa na priradenie hodnoty premennej v programe. Nižšie sú uvedené operátory priradenia:
Operátori | Funkcia |
= | Priraďte hodnoty k operandu |
+= | Pridajte hodnotu operandu prítomného vpravo k ľavému operandu |
-= | Odčítajte hodnotu pravého operandu od ľavého operandu |
*= | Vynásobte hodnotu pravého operandu ľavým operandom |
/= | Rozdeľte hodnotu pravého operandu na ľavý operand |
%= | Vezmite modul dvoch hodnôt a priraďte hodnotu ľavému operandu |
Príklad
V nasledujúcom príklade sme demonštrovali fungovanie operátorov priradenia na dvoch operandoch X a Y:
#includeint Hlavná ( )
{
int X = 10 ;
int výsledok ;
výsledok = X ;
printf ( 'Hodnota výsledku = %d \n ' , výsledok ) ;
výsledok += X ;
printf ( 'Hodnota výsledku = %d \n ' , výsledok ) ;
výsledok -= X ;
printf ( 'Hodnota výsledku = %d \n ' , výsledok ) ;
výsledok *= X ;
printf ( 'Hodnota výsledku = %d \n ' , výsledok ) ;
výsledok /= X ;
printf ( 'Hodnota výsledku = %d \n ' , výsledok ) ;
vrátiť 0 ;
}
4: Relačné operátory
Relačné operátory sa používajú v programovaní v jazyku C na kontrolu vzťahu medzi dvoma premennými. Môže sa použiť na porovnanie cien položiek alebo veku dvoch ľudí. Nasledujú relačné operátory používané pri programovaní v jazyku C:
Operátori | Funkcie |
== | Rovná |
> | Väčší než |
< | Menej ako |
>= | Väčšie ako rovné |
<= | Menej ako rovné |
!= | Nerovná sa |
Príklad
Nasledujúci príklad ukazuje fungovanie relačných operátorov v programovaní C:
#includeint Hlavná ( )
{
int a = 9 ;
int b = 10 ;
printf ( '%d == %d je %d.' \n ' , a , b , a == b ) ;
printf ( '%d > %d je %d.' \n ' , a , b , a > b ) ;
printf ( '%d < %d je %d.' \n ' , a , b , a < b ) ;
printf ( '%d != %d je %d.' \n ' , a , b , a != b ) ;
printf ( '%d >= %d je %d.' \n ' , a , b , a >= b ) ;
printf ( '%d <= %d je %d.' \n ' , a , b , a <= b ) ;
vrátiť 0 ;
}
5: Logické operátory
Jazyk C podporuje štyri logické operátory:
Operátori | Funkcia |
Logické AND (&&) | Pravda, iba ak sú splnené všetky podmienky |
Logické ALEBO (||) | Ak je splnená iba jedna podmienka, výsledok je pravdivý |
Logické NIE (!) | Ak je operand 0, výsledok je pravdivý |
Bitové NIE (~). | Invertuje všetky bity operandu |
Príklad
Nižšie uvedený príklad kódu vysvetľuje fungovanie logických operátorov v C:
#includeint Hlavná ( )
{
int X = 10 , A = 4 , S = 10 , výsledok ;
výsledok = ( X == A ) && ( S > A ) ;
printf ( '(X == Y) && (Z > Y) je %d \n ' , výsledok ) ;
výsledok = ( X == A ) && ( S < A ) ;
printf ( '(X == Y) && (Z < Y) je %d \n ' , výsledok ) ;
výsledok = ( X == A ) || ( S < A ) ;
printf ( '(X == Y) || (Z < Y) je %d \n ' , výsledok ) ;
výsledok = ( X != A ) || ( S < A ) ;
printf ( '(X != Y) || (Z < Y) je %d \n ' , výsledok ) ;
výsledok = ! ( X != A ) ;
printf ( '!(X != Y) je %d \n ' , výsledok ) ;
výsledok = ! ( X == A ) ;
printf ( '!(X == Y) je %d \n ' , výsledok ) ;
výsledok = ! ( X > A ) ;
printf ( '!(X > Y) je %d \n ' , výsledok ) ;
vrátiť 0 ;
}
6: Podmienené operátory
Podmienený operátor v C je známy aj ako ternárny operátor pretože potrebuje tri operandy – podmienku, príkaz 1 a príkaz 2. Vyhodnotí podmienku a vráti buď príkaz 1 alebo príkaz 2, v závislosti od výsledku danej podmienky, ktorý môže byť buď pravdivý alebo nepravdivý.
Podmienka ? Vyhlásenie 1 : Vyhlásenie 2- podmienka: Booleovský výraz, ktorý kontroluje, či je pravdivý alebo nepravdivý.
- Vyhlásenie 1: Výraz, ktorý sa vyhodnotí, ak je podmienka pravdivá.
- Vyhlásenie 2: Výraz, ktorý sa vyhodnotí, ak je podmienka nepravdivá.
Príklad
V nižšie uvedenom príklade som priradil hodnotu číslu a potom aplikoval podmienku, ak je podmienka pravdivá, výstupom bude príkaz 1 a ak je podmienka nepravdivá, výstupom bude príkaz dva:
#includeint Hlavná ( )
{
int číslo = 10 ;
( číslo < dvadsať ) ? ( printf ( 'Je to menej ako číslo 20!' ) ) : ( printf ( 'Je to väčšie ako číslo 20!' ) ) ;
vrátiť 0 ;
}
7: Bitové operátory
Bitové operátory v C manipulujú s dátami na úrovni bitov, čo znamená, že pracujú s jednotlivými bitmi v rámci dátových typov, ako sú celé čísla. Nedajú sa použiť na dvojitý a plavák a používajú sa na testovanie bitov a ich posúvanie doprava alebo doľava.
Bitové operátory v programovaní C sú uvedené v tabuľke nižšie:
Operátori | Funkcia |
& | Bitové AND |
| | Bitové ALEBO |
^ | Bitwise Exclusive OR |
<< | Shift doľava |
>> | Posun doprava |
~ | Jeden doplnok |
Príklad
Nasledujúci príklad ukazuje program C, ktorý používa bitové operátory:
#includeint Hlavná ( ) {
int a = 13 ; // binárne 1101
int b = 7 ; // binárne 0111
int výsledok ;
// Bitové AND
výsledok = a & b ; // 1101 & 0111 = 0101 (desatinné 5)
printf ( 'a & b = %u.' \n ' , výsledok ) ;
// Bitové ALEBO
výsledok = a | b ; // 1101 | 0111 = 1111 (15 desatinných miest)
printf ( 'a | b = %u \n ' , výsledok ) ;
// Bitové XOR
výsledok = a ^ b ; // 1101 ^ 0111 = 1010 (desatinné 10)
printf ( 'a ^ b = %u \n ' , výsledok ) ;
// Bitový posun doľava
výsledok = a << 2 ; // 1101 << 2 = 110100 (52 desatinných miest)
printf ( 'a << 2 = %u.' \n ' , výsledok ) ;
// Bitový posun doprava
výsledok = a >> 2 ; // 1101 >> 2 = 0011 (desatinné 3)
printf ( 'a >> 2 = %u.' \n ' , výsledok ) ;
// Bitové NIE
výsledok = ~a ; // ~1101 = 0010 (desatinná dvojka s doplnkom -14)
printf ( '~a = %d \n ' , výsledok ) ;
vrátiť 0 ;
}
Poznámka: Bitové operátory sa používajú na vykonávanie úloh na úrovni bitov, čo znamená, že pracujú s jednotlivými bitmi v rámci binárneho čísla. Na druhej strane booleovské operátory sa používajú na vykonávanie operácií s logickými hodnotami. Fungujú na booleovských hodnotách (true/false alebo 1/0) a bežne sa používajú v rozhodovacích procesoch alebo podmienených príkazoch.
Spodná čiara
Operátor je symbol, ktorý prikazuje kompilátoru vykonávať určité funkcie. Jazyk C má niekoľko vstavaných operátorov vrátane aritmetických, unárnych, priraďovacích, logických, relačných, podmienených, boolovských a bitových. Podrobne sme ich rozobrali a demonštrovali na príklade výstupu. Prečítajte si vyššie uvedenú časť príručky, kde nájdete podrobné informácie o týchto operátoroch.