I denne detaljerede guide vil vi diskutere operatørerne i C-programmering og deres typer.
Operatører og deres typer i C-programmering
Operatører er symbolerne, der bruges til at udføre specifikke matematiske opgaver. De bruges til at manipulere data og variabler. Følgende er de forskellige typer operatører i C-programmering:
- Aritmetiske operatorer
- Unære operatører
- Opdragsoperatører
- Logiske eller booleske operatører
- Relationelle operatører
- Betingede operatører
- Bitwise operatører
1: Aritmetiske operatorer
Disse er de operatorer, der bruges til at udføre grundlæggende matematiske funktioner som addition, subtraktion eller multiplikation. Du kan bruge disse operatorer på næsten alle indbyggede datatyper af C-programmering. Følgende er de aritmetiske operatorer, der bruges i C-programmering:
Operatører | Funktioner |
+ | Tilføj 2 operander |
– | Træk 2 operander fra |
* | Multiplicer 2 operander |
/ | Del 2 operander |
% | Modulusoperatoren giver resten af divisionen |
Eksempel
I nedenstående eksempel har vi udført de ovennævnte regneoperationer på variablen X og variablen Y. Variablen X har værdien 20 og Y har værdien 5:
#include
int vigtigste ( )
{
int x = tyve ;
int OG = 5 ;
int resultat ;
resultat = x + OG ;
printf ( 'Addition af X og Y er: %d \n ' , resultat ) ;
resultat = x - OG ;
printf ( 'Subtraktion af X og Y er: %d \n ' , resultat ) ;
resultat = x * OG ;
printf ( 'Multiplikation af X og Y er: %d \n ' , resultat ) ;
resultat = x / OG ;
printf ( 'Division af X og Y er: %d \n ' , resultat ) ;
resultat = x % OG ;
printf ( 'Modulopdeling af X og Y er: %d \n ' , resultat ) ;
Vend tilbage 0 ;
}
2: Unære operatører
Der er to unikke unære operatorer, der kun understøttes af C-sprog, inkrement ++ og decrement — operatorer. Inkrementoperatoren tilføjer 1 til operanden, og dekrementoperatoren trækker 1 fra operanden.
Increment-operatoren skrives som:
++ a eller a ++
Nedsættelsesoperatøren er:
-- a eller a --Hvis vi bruger inkrement- og dekrementoperatoren som et præfiks, tilføjer eller trækker den først variabelværdien, og derefter tildeles resultatet til variablen til venstre. Hvis operatorerne tilføjes før, returnerer den først den oprindelige værdi, og operanden tilføjes eller trækkes fra med 1.
Eksempel
Nedenfor har vi tildelt værdier til to variable a og b og anvendt inkrementer og dekrementoperatorer på dem:
#includeint vigtigste ( )
{
int -en = femten , b = 10 ;
printf ( '++a = %d \n ' , ++ -en ) ;
printf ( 'a++ = %d \n ' , -en ++ ) ;
Vend tilbage 0 ;
}
3: Opgaveoperatør
An opgaveoperatør (=) bruges til at tildele værdien til variablen i programmet. Nedenfor er de nævnte opgaveoperatører:
Operatører | Fungere |
= | Tildel værdierne til operanden |
+= | Tilføj værdien af operanden til højre til venstre operand |
-= | Træk værdien af den højre operand fra den venstre operand |
*= | Multiplicer værdien af den højre operand til den venstre operand |
/= | Divider værdien af højre operand til venstre operand |
%= | Tag modulet af to værdier og tildel værdien til venstre operand |
Eksempel
Vi har demonstreret, hvordan opgaveoperatørerne arbejder på de to operander X og Y i nedenstående eksempel:
#includeint vigtigste ( )
{
int x = 10 ;
int resultat ;
resultat = x ;
printf ( 'Værdi af resultat = %d \n ' , resultat ) ;
resultat += x ;
printf ( 'Værdi af resultat = %d \n ' , resultat ) ;
resultat -= x ;
printf ( 'Værdi af resultat = %d \n ' , resultat ) ;
resultat *= x ;
printf ( 'Værdi af resultat = %d \n ' , resultat ) ;
resultat /= x ;
printf ( 'Værdi af resultat = %d \n ' , resultat ) ;
Vend tilbage 0 ;
}
4: Relationelle operatører
De relationelle operatorer bruges i C-programmering til at kontrollere forholdet mellem to variable. Det kan bruges til at sammenligne priserne på varerne eller alderen på to personer. Følgende er de relationelle operatorer, der bruges i C-programmering:
Operatører | Funktioner |
== | Svarende til |
> | Bedre end |
< | Mindre end |
>= | Større end lig med |
<= | Mindre end lig med |
!= | Ikke lig med |
Eksempel
Nedenstående eksempel viser de relationelle operatørers funktion i C-programmering:
#includeint vigtigste ( )
{
int -en = 9 ;
int b = 10 ;
printf ( '%d == %d er %d \n ' , -en , b , -en == b ) ;
printf ( '%d > %d er %d \n ' , -en , b , -en > b ) ;
printf ( '%d < %d er %d \n ' , -en , b , -en < b ) ;
printf ( '%d != %d er %d \n ' , -en , b , -en != b ) ;
printf ( '%d >= %d er %d \n ' , -en , b , -en >= b ) ;
printf ( '%d <= %d er %d \n ' , -en , b , -en <= b ) ;
Vend tilbage 0 ;
}
5: Logiske operatører
Der er fire logiske operatorer, der understøttes af C-sprog:
Operatører | Fungere |
Logisk OG (&&) | Kun sandt, hvis alle betingelser er opfyldt |
Logisk ELLER (||) | Hvis kun én betingelse opfylder, er resultatet sandt |
Logisk IKKE(!) | Hvis Operand er 0, er resultatet sandt |
Bitvist IKKE (~). | Inverterer alle bits af operanden |
Eksempel
Nedenstående eksempelkode forklarer funktionen af de logiske operatorer i C:
#includeint vigtigste ( )
{
int x = 10 , OG = 4 , MED = 10 , resultat ;
resultat = ( x == OG ) && ( MED > OG ) ;
printf ( '(X == Y) && (Z > Y) er %d \n ' , resultat ) ;
resultat = ( x == OG ) && ( MED < OG ) ;
printf ( '(X == Y) && (Z < Y) er %d \n ' , resultat ) ;
resultat = ( x == OG ) || ( MED < OG ) ;
printf ( '(X == Y) || (Z < Y) er %d \n ' , resultat ) ;
resultat = ( x != OG ) || ( MED < OG ) ;
printf ( '(X != Y) || (Z < Y) er %d \n ' , resultat ) ;
resultat = ! ( x != OG ) ;
printf ( '!(X != Y) er %d \n ' , resultat ) ;
resultat = ! ( x == OG ) ;
printf ( '!(X == Y) er %d \n ' , resultat ) ;
resultat = ! ( x > OG ) ;
printf ( '!(X > Y) er %d \n ' , resultat ) ;
Vend tilbage 0 ;
}
6: Betingede operatører
Den betingede operator i C er også kendt som ternær operatør fordi den tager tre operander – betingelsen, sætning 1 og sætning 2. Den evaluerer betingelsen og returnerer enten sætning 1 eller sætning 2, afhængigt af resultatet af en given betingelse, der kan være enten sand eller falsk
Tilstand ? Udmelding 1 : Udmelding 2- Tilstand: Et boolesk udtryk, der kontrollerer for at være enten sandt eller falsk.
- Udsagn 1: Et udtryk, der evalueres, hvis betingelsen er sand.
- Udsagn 2: Et udtryk, der evalueres, hvis betingelsen er falsk.
Eksempel
I eksemplet nedenfor har jeg tildelt værdien til tallet og derefter anvendt betingelsen, hvis betingelsen er sand, vil sætning 1 være outputtet, og hvis betingelsen er falsk, vil sætning to være outputtet:
#includeint vigtigste ( )
{
int nummer = 10 ;
( nummer < tyve ) ? ( printf ( 'Det er mindre end nummer 20!' ) ) : ( printf ( 'Det er større end nummer 20!' ) ) ;
Vend tilbage 0 ;
}
7: Bitvise operatører
Bitvise operatører i C manipulere data på bitniveau, hvilket betyder, at de opererer på individuelle bits inden for datatyper som heltal. De kan ikke anvendes på double og float og bruges til at teste bits og flytte dem til højre eller venstre.
Bitvise operatorer i C-programmering er angivet i tabellen nedenfor:
Operatører | Fungere |
& | Bitvis OG |
| | Bitvis ELLER |
^ | Bitwise Exclusive ELLER |
<< | Skift til venstre |
>> | Skift til højre |
~ | Ens komplement |
Eksempel
Følgende eksempel viser et C-program, der bruger bitvise operatorer:
#includeint vigtigste ( ) {
int -en = 13 ; // binær 1101
int b = 7 ; // binær 0111
int resultat ;
// Bitvis OG
resultat = -en & b ; // 1101 & 0111 = 0101 (decimal 5)
printf ( 'a & b = %u \n ' , resultat ) ;
// Bitvis ELLER
resultat = -en | b ; // 1101 | 0111 = 1111 (decimal 15)
printf ( 'a | b = %u \n ' , resultat ) ;
// Bitwise XOR
resultat = -en ^ b ; // 1101 ^ 0111 = 1010 (decimal 10)
printf ( 'a ^ b = %u \n ' , resultat ) ;
// Bitvis venstreskift
resultat = -en << 2 ; // 1101 << 2 = 110100 (decimal 52)
printf ( 'a << 2 = %u \n ' , resultat ) ;
// Bitvis højre skift
resultat = -en >> 2 ; // 1101 >> 2 = 0011 (decimal 3)
printf ( 'a >> 2 = %u \n ' , resultat ) ;
// Bitvis IKKE
resultat = ~a ; // ~1101 = 0010 (decimal 2's komplementrepræsentation af -14)
printf ( '~a = %d \n ' , resultat ) ;
Vend tilbage 0 ;
}
Bemærk: Bitvise operatorer bruges til at udføre opgaver på bitniveau, hvilket betyder, at de opererer på individuelle bits inden for et binært tal. Booleske operatorer bruges på den anden side til at udføre operationer på logiske værdier. De opererer på booleske værdier (sand/falsk eller 1/0) og er almindeligt anvendt i beslutningsprocesser eller betingede udsagn.
Bundlinie
En operatør er et symbol, der instruerer compileren til at udføre visse funktioner. C-sproget har flere indbyggede operatorer, herunder aritmetik, unær, tildeling, logisk, relationel, betinget, boolsk og bitvis. Vi har diskuteret dem i detaljer og demonstreret dem med eksemplet. Læs ovenstående afsnit af vejledningen for at få detaljerede oplysninger om disse operatører.