V tem podrobnem vodniku bomo obravnavali operatorje v programiranju C in njihove vrste.
Operatorji in njihove vrste v programiranju C
Operatorji so simboli, ki se uporabljajo za izvajanje določenih matematičnih nalog. Uporabljajo se za manipulacijo podatkov in spremenljivk. Sledijo različne vrste operatorjev v programiranju C:
- Aritmetični operatorji
- Unarni operatorji
- Operatorji dodelitve
- Logični ali logični operatorji
- Relacijski operaterji
- Pogojni operatorji
- Bitni operaterji
1: Aritmetični operatorji
To so operatorji, ki se uporabljajo za izvajanje osnovnih matematičnih funkcij, kot so seštevanje, odštevanje ali množenje. Te operatorje lahko uporabite na skoraj vseh vgrajenih vrstah podatkov programiranja C. Naslednji so aritmetični operatorji, ki se uporabljajo v programiranju C:
Operaterji | Funkcije |
+ | Dodajte 2 operanda |
– | Odštejte 2 operanda |
* | Pomnožite 2 operanda |
/ | Razdelite 2 operanda |
% | Operator modula poda preostanek deljenja |
Primer
V spodnjem primeru smo izvedli zgoraj omenjene aritmetične operacije na spremenljivki X in spremenljivki Y. Spremenljivka X ima vrednost 20, Y pa vrednost 5:
#include
int glavni ( )
{
int X = dvajset ;
int IN = 5 ;
int rezultat ;
rezultat = X + IN ;
printf ( 'Seštevek X in Y je: %d \n ' , rezultat ) ;
rezultat = X - IN ;
printf ( 'Odštevanje X in Y je: %d \n ' , rezultat ) ;
rezultat = X * IN ;
printf ( 'Množenje X in Y je: %d \n ' , rezultat ) ;
rezultat = X / IN ;
printf ( 'Deljenje X in Y je: %d \n ' , rezultat ) ;
rezultat = X % IN ;
printf ( 'Modulno deljenje X in Y je: %d \n ' , rezultat ) ;
vrnitev 0 ;
}
2: Unarni operatorji
Obstajata dva unikatna unarna operatorja, ki ju podpira samo jezik C, inkrement ++ in dekrement — operaterja. Operator povečanja operandu doda 1, operater zmanjšanja pa odšteje 1 od operanda.
Operator povečanja je zapisan kot:
++ a ali a ++
Operator dekrementa je:
-- a ali a --Če kot predpono uporabimo operator inkrementa in dekrementa, najprej doda ali odšteje vrednost spremenljivke, nato pa se rezultat dodeli spremenljivki na levi. Če so operatorji dodani prej, najprej vrne prvotno vrednost, nato pa se operand prišteje ali odšteje za 1.
Primer
Spodaj smo dvema spremenljivkama a in b dodelili vrednosti ter zanju uporabili operatorje povečanja in zmanjšanja:
#includeint glavni ( )
{
int a = petnajst , b = 10 ;
printf ( '++a = %d \n ' , ++ a ) ;
printf ( 'a++ = %d \n ' , a ++ ) ;
vrnitev 0 ;
}
3: Operator dodelitve
An operator dodelitve (=) se uporablja za dodeljevanje vrednosti spremenljivki v programu. Spodaj so omenjeni operaterji dodelitve:
Operaterji | funkcija |
= | Dodelite vrednosti operandu |
+= | Levemu operandu dodajte vrednost operanda, ki je prisoten na desni |
-= | Odštejte vrednost desnega operanda od levega operanda |
*= | Pomnožite vrednost desnega operanda z levim operandom |
/= | Vrednost desnega operanda razdelite na levi operand |
%= | Vzemite modul dveh vrednosti in dodelite vrednost levemu operandu |
Primer
V spodnjem primeru smo prikazali delovanje operatorjev dodeljevanja na operandih X in Y:
#includeint glavni ( )
{
int X = 10 ;
int rezultat ;
rezultat = X ;
printf ( 'Vrednost rezultata = %d \n ' , rezultat ) ;
rezultat += X ;
printf ( 'Vrednost rezultata = %d \n ' , rezultat ) ;
rezultat -= X ;
printf ( 'Vrednost rezultata = %d \n ' , rezultat ) ;
rezultat *= X ;
printf ( 'Vrednost rezultata = %d \n ' , rezultat ) ;
rezultat /= X ;
printf ( 'Vrednost rezultata = %d \n ' , rezultat ) ;
vrnitev 0 ;
}
4: Relacijski operatorji
Relacijski operaterji se v programiranju C uporabljajo za preverjanje razmerja med dvema spremenljivkama. Uporablja se lahko za primerjavo cen artiklov ali starosti dveh oseb. Sledijo relacijski operatorji, ki se uporabljajo v programiranju C:
Operaterji | Funkcije |
== | Enako |
> | Večji kot |
< | Manj kot |
>= | Večje kot enako |
<= | Manj kot enako |
!= | Ni enako |
Primer
Spodnji primer prikazuje delovanje relacijskih operaterjev v programiranju C:
#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 ) ;
vrnitev 0 ;
}
5: Logični operatorji
Obstajajo štirje logični operaterji, ki jih podpira jezik C:
Operaterji | funkcija |
Logični IN (&&) | Res je le, če so izpolnjeni vsi pogoji |
Logični ALI (||) | Če je izpolnjen le en pogoj, je rezultat resničen |
Logično NE(!) | Če je operand 0, je rezultat resničen |
Bitno NE (~). | Obrne vse bite operanda |
Primer
Spodnji primer kode pojasnjuje delovanje logičnih operatorjev v C:
#includeint glavni ( )
{
int X = 10 , IN = 4 , Z = 10 , rezultat ;
rezultat = ( X == IN ) && ( Z > IN ) ;
printf ( '(X == Y) && (Z > Y) je %d \n ' , rezultat ) ;
rezultat = ( X == IN ) && ( Z < IN ) ;
printf ( '(X == Y) && (Z < Y) je %d \n ' , rezultat ) ;
rezultat = ( X == IN ) || ( Z < IN ) ;
printf ( '(X == Y) || (Z < Y) je %d \n ' , rezultat ) ;
rezultat = ( X != IN ) || ( Z < IN ) ;
printf ( '(X != Y) || (Z < Y) je %d \n ' , rezultat ) ;
rezultat = ! ( X != IN ) ;
printf ( '!(X != Y) je %d \n ' , rezultat ) ;
rezultat = ! ( X == IN ) ;
printf ( '!(X == Y) je %d \n ' , rezultat ) ;
rezultat = ! ( X > IN ) ;
printf ( '!(X > Y) je %d \n ' , rezultat ) ;
vrnitev 0 ;
}
6: Pogojni operatorji
Pogojni operator v C je znan tudi kot the ternarni operater ker vzame tri operande – pogoj, stavek 1 in stavek 2. Oceni pogoj in vrne stavek 1 ali stavek 2, odvisno od rezultata danega pogoja, ki je lahko resničen ali napačen
Pogoj ? Izjava 1 : Izjava 2- Pogoj: Logični izraz, ki preveri, ali je resničen ali napačen.
- Izjava 1: Izraz, ki je ovrednoten, če je pogoj resničen.
- Izjava 2: Izraz, ki je ovrednoten, če je pogoj napačen.
Primer
V spodnjem primeru sem dodelil vrednost številu in nato uporabil pogoj, če je pogoj resničen, bo izhodna izjava 1, če pa je pogoj napačen, bo izhodna izjava 2:
#includeint glavni ( )
{
int število = 10 ;
( število < dvajset ) ? ( printf ( 'Je manj kot številka 20!' ) ) : ( printf ( 'Večja je od številke 20!' ) ) ;
vrnitev 0 ;
}
7: Bitni operaterji
Bitni operatorji v C manipulirajo s podatki na bitni ravni, kar pomeni, da delujejo na posameznih bitih znotraj tipov podatkov, kot so cela števila. Ni jih mogoče uporabiti za dvojne in lebdeče in se uporabljajo za testiranje bitov in njihovo premikanje desno ali levo.
Bitni operatorji v programiranju C so podani v spodnji tabeli:
Operaterji | funkcija |
& | Bitno IN |
| | Bitni ALI |
^ | Bitno izključni ALI |
<< | Premik levo |
>> | Premik desno |
~ | Eno dopolnilo |
Primer
Naslednji primer prikazuje program C, ki uporablja bitne operatorje:
#includeint glavni ( ) {
int a = 13 ; // binarno 1101
int b = 7 ; // binarno 0111
int rezultat ;
// Bitno IN
rezultat = a & b ; // 1101 & 0111 = 0101 (decimalno 5)
printf ( 'a & b = %u \n ' , rezultat ) ;
// Bitni ALI
rezultat = a | b ; // 1101 | 0111 = 1111 (decimalno 15)
printf ( 'a | b = %u \n ' , rezultat ) ;
// Bitni XOR
rezultat = a ^ b ; // 1101 ^ 0111 = 1010 (decimalno 10)
printf ( 'a ^ b = %u \n ' , rezultat ) ;
// Bitni premik v levo
rezultat = a << 2 ; // 1101 << 2 = 110100 (decimalno 52)
printf ( 'a << 2 = %u \n ' , rezultat ) ;
// Bitni premik v desno
rezultat = a >> 2 ; // 1101 >> 2 = 0011 (decimalno 3)
printf ( 'a >> 2 = %u \n ' , rezultat ) ;
// Bitno NE
rezultat = ~a ; // ~1101 = 0010 (decimalna predstavitev komplementa 2 za -14)
printf ( '~a = %d \n ' , rezultat ) ;
vrnitev 0 ;
}
Opomba: Bitni operaterji se uporabljajo za izvajanje nalog na bitni ravni, kar pomeni, da delujejo na posameznih bitih znotraj binarnega števila. Po drugi strani pa se logični operatorji uporabljajo za izvajanje operacij nad logičnimi vrednostmi. Delujejo na logičnih vrednostih (true/false ali 1/0) in se običajno uporabljajo v postopkih odločanja ali pogojnih izjavah.
Spodnja črta
Operator je simbol, ki prevajalniku naroči, naj izvede določene funkcije. Jezik C ima več vgrajenih operatorjev, vključno z aritmetičnimi, unarnimi, dodelitvenimi, logičnimi, relacijskimi, pogojnimi, logičnimi in bitnimi. O njih smo podrobno razpravljali in jih prikazali z izhodnim primerom. Preberite zgornji razdelek vodnika, da dobite podrobne informacije o teh operaterjih.