U ovom detaljnom vodiču raspravljat ćemo o operatorima u C programiranju i njihovim vrstama.
Operatori i njihove vrste u C programiranju
Operatori su simboli koji se koriste za izvršavanje specifičnih matematičkih zadataka. Koriste se za manipulaciju podacima i varijablama. Slijede različite vrste operatora u C programiranju:
- Aritmetički operatori
- Unarni operatori
- Operatori dodjele
- Logički ili Booleovi operatori
- Relacijski operatori
- Uvjetni operatori
- Bitovi operatori
1: Aritmetički operatori
Ovo su operatori koji se koriste za izvođenje osnovnih matematičkih funkcija kao što su zbrajanje, oduzimanje ili množenje. Ove operatore možete koristiti na gotovo svim ugrađenim tipovima podataka C programiranja. Sljedeći su aritmetički operatori koji se koriste u C programiranju:
Operatori | Funkcije |
+ | Dodajte 2 operanda |
– | Oduzmite 2 operanda |
* | Pomnožite 2 operanda |
/ | Podijelite 2 operanda |
% | Operator modula daje ostatak dijeljenja |
Primjer
U donjem primjeru izveli smo gore navedene aritmetičke operacije na varijabli X i varijabli Y. Varijabla X ima vrijednost 20, a Y vrijednost 5:
#include
int glavni ( )
{
int x = dvadeset ;
int I = 5 ;
int proizlaziti ;
proizlaziti = x + I ;
printf ( 'Zbrajanje X i Y je: %d \n ' , proizlaziti ) ;
proizlaziti = x - I ;
printf ( 'Oduzimanje X i Y je: %d \n ' , proizlaziti ) ;
proizlaziti = x * I ;
printf ( 'Množenje X i Y je: %d \n ' , proizlaziti ) ;
proizlaziti = x / I ;
printf ( 'Podjela X i Y je: %d \n ' , proizlaziti ) ;
proizlaziti = x % I ;
printf ( 'Podjela modula X i Y je: %d \n ' , proizlaziti ) ;
povratak 0 ;
}
2: Unarni operatori
Postoje dva jedinstvena unarna operatora koja podržava samo C jezik, inkrement ++ i dekrement — operatori. Operator inkrementiranja dodaje 1 operandu, a operator dekrementiranja oduzima 1 od operanda.
Operator povećanja se piše kao:
++ a ili a ++
Operator dekrementa je:
-- a ili a --Ako koristimo operator inkrementiranja i dekrementiranja kao prefiks, on prvo dodaje ili oduzima vrijednost varijable, a zatim se rezultat dodjeljuje varijabli slijeva. Ako su operatori dodani prije, prvo se vraća izvorna vrijednost, a zatim se operandu dodaje ili oduzima 1.
Primjer
U nastavku smo dodijelili vrijednosti dvjema varijablama a i b i na njih primijenili operatore inkrementiranja i dekrementiranja:
#includeint glavni ( )
{
int a = petnaest , b = 10 ;
printf ( '++a = %d \n ' , ++ a ) ;
printf ( 'a++ = %d \n ' , a ++ ) ;
povratak 0 ;
}
3: Operator dodjele
An operator dodjele (=) koristi se za dodjeljivanje vrijednosti varijabli u programu. Ispod su navedeni operatori dodjele:
Operatori | Funkcija |
= | Dodijelite vrijednosti operandu |
+= | Lijevom operandu dodajte vrijednost operanda koji se nalazi s desne strane |
-= | Oduzmite vrijednost desnog operanda od lijevog operanda |
*= | Pomnožite vrijednost desnog operanda s lijevim operandom |
/= | Podijelite vrijednost desnog operanda s lijevim operandom |
%= | Uzmite modul dviju vrijednosti i dodijelite vrijednost lijevom operandu |
Primjer
Demonstrirali smo rad operatora dodjele na dva operanda X i Y u primjeru u nastavku:
#includeint glavni ( )
{
int x = 10 ;
int proizlaziti ;
proizlaziti = x ;
printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;
proizlaziti += x ;
printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;
proizlaziti -= x ;
printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;
proizlaziti *= x ;
printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;
proizlaziti /= x ;
printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;
povratak 0 ;
}
4: Relacijski operatori
Relacijski se operatori koriste u C programiranju za provjeru odnosa između dviju varijabli. Može se koristiti za usporedbu cijena artikala ili dobi dvoje ljudi. Sljedeći su relacijski operatori koji se koriste u C programiranju:
Operatori | Funkcije |
== | Jednak |
> | Veći od |
< | Manje od |
>= | Veće od jednakog |
<= | Manje od jednakog |
!= | Nije jednako |
Primjer
Primjer u nastavku prikazuje rad relacijskih operatora u C programiranju:
#includeint glavni ( )
{
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 ) ;
povratak 0 ;
}
5: Logički operatori
Postoje četiri logička operatora koja podržava jezik C:
Operatori | Funkcija |
Logički I (&&) | Točno samo ako su svi uvjeti zadovoljeni |
Logički ILI (||) | Ako je samo jedan uvjet zadovoljen rezultat je istinit |
Logično NE(!) | Ako je operand 0, rezultat je istinit |
Bitno NE (~). | Invertira sve bitove operanda |
Primjer
Donji primjer koda objašnjava rad logičkih operatora u C-u:
#includeint glavni ( )
{
int x = 10 , I = 4 , S = 10 , proizlaziti ;
proizlaziti = ( x == I ) && ( S > I ) ;
printf ( '(X == Y) && (Z > Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ( x == I ) && ( S < I ) ;
printf ( '(X == Y) && (Z < Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ( x == I ) || ( S < I ) ;
printf ( '(X == Y) || (Z < Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ( x != I ) || ( S < I ) ;
printf ( '(X != Y) || (Z < Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ! ( x != I ) ;
printf ( '!(X != Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ! ( x == I ) ;
printf ( '!(X == Y) je %d \n ' , proizlaziti ) ;
proizlaziti = ! ( x > I ) ;
printf ( '!(X > Y) je %d \n ' , proizlaziti ) ;
povratak 0 ;
}
6: Uvjetni operatori
Uvjetni operator u C-u također je poznat kao ternarni operator jer uzima tri operanda – uvjet, naredbu 1 i naredbu 2. Procjenjuje uvjet i vraća naredbu 1 ili naredbu 2, ovisno o rezultatu zadanog uvjeta koji može biti istinit ili lažan
Stanje ? Izjava 1 : Izjava 2- Stanje: Booleov izraz koji provjerava je li istinit ili netočan.
- Izjava 1: Izraz koji se procjenjuje ako je uvjet istinit.
- Izjava 2: Izraz koji se procjenjuje ako je uvjet lažan.
Primjer
U primjeru u nastavku, dodijelio sam vrijednost broju i zatim primijenio uvjet, ako je uvjet istinit, izjava 1 će biti izlaz, a ako je uvjet lažan, izjava dva će biti izlaz:
#includeint glavni ( )
{
int broj = 10 ;
( broj < dvadeset ) ? ( printf ( 'Manje je od broja 20!' ) ) : ( printf ( 'Veće je od broja 20!' ) ) ;
povratak 0 ;
}
7: Bitovi operatori
Bitovi operatori u C-u manipuliraju podacima na razini bitova, što znači da rade na pojedinačnim bitovima unutar tipova podataka poput cijelih brojeva. Ne mogu se primijeniti na double i float i koriste se za testiranje bitova i njihovo pomicanje desno ili lijevo.
Bitovi operatori u C programiranju dati su u tablici ispod:
Operatori | Funkcija |
i | Bitno I |
| | Bitno OR |
^ | Isključivo ILI po bitovima |
<< | Pomak ulijevo |
>> | Pomak udesno |
~ | One's complement |
Primjer
Sljedeći primjer prikazuje C program koji koristi bitovne operatore:
#includeint glavni ( ) {
int a = 13 ; // binarno 1101
int b = 7 ; // binarni 0111
int proizlaziti ;
// Bitno I
proizlaziti = a i b ; // 1101 & 0111 = 0101 (decimalno 5)
printf ( 'a & b = %u \n ' , proizlaziti ) ;
// Bitno OR
proizlaziti = a | b ; // 1101 | 0111 = 1111 (decimalno 15)
printf ( 'a | b = %u \n ' , proizlaziti ) ;
// Bitno XOR
proizlaziti = a ^ b ; // 1101 ^ 0111 = 1010 (decimalno 10)
printf ( 'a ^ b = %u \n ' , proizlaziti ) ;
// Bitno pomak ulijevo
proizlaziti = a << 2 ; // 1101 << 2 = 110100 (decimalno 52)
printf ( 'a << 2 = %u \n ' , proizlaziti ) ;
// Desni pomak po bitovima
proizlaziti = a >> 2 ; // 1101 >> 2 = 0011 (decimalno 3)
printf ( 'a >> 2 = %u \n ' , proizlaziti ) ;
// Bitno NE
proizlaziti = ~a ; // ~1101 = 0010 (predstavljanje komplementa decimalnog broja 2 od -14)
printf ( '~a = %d \n ' , proizlaziti ) ;
povratak 0 ;
}
Bilješka: Bitovi operatori koriste se za izvršavanje zadataka na razini bita, što znači da rade na pojedinačnim bitovima unutar binarnog broja. Booleovi operatori, s druge strane, koriste se za izvođenje operacija na logičkim vrijednostima. Djeluju na Booleovim vrijednostima (točno/netočno ili 1/0) i obično se koriste u procesima donošenja odluka ili uvjetnim izjavama.
Poanta
Operator je simbol koji nalaže prevoditelju da izvrši određene funkcije. Jezik C ima nekoliko ugrađenih operatora uključujući aritmetičke, unarne, dodjele, logičke, relacijske, uvjetne, Booleove i bitovne. O njima smo detaljno raspravljali i demonstrirali ih s primjerom izlaza. Pročitajte gornji odjeljak vodiča kako biste dobili detaljne informacije o ovim operaterima.