Šiame išsamiame vadove aptarsime C programavimo operatorius ir jų tipus.
C programavimo operatoriai ir jų tipai
Operatoriai yra simboliai, naudojami konkrečioms matematinėms užduotims atlikti. Jie naudojami manipuliuoti duomenimis ir kintamaisiais. Toliau pateikiami skirtingi C programavimo operatorių tipai:
- Aritmetiniai operatoriai
- Unary operatoriai
- Užduočių operatoriai
- Loginiai arba Būlio operatoriai
- Santykių operatoriai
- Sąlyginiai operatoriai
- Bitiniai operatoriai
1: Aritmetiniai operatoriai
Tai yra operatoriai, naudojami pagrindinėms matematinėms funkcijoms, tokioms kaip sudėjimas, atimtis arba daugyba, atlikti. Šiuos operatorius galite naudoti beveik visuose C programavimo duomenų tipuose. Toliau pateikiami aritmetiniai operatoriai, naudojami programuojant C:
Operatoriai | Funkcijos |
+ | Pridėkite 2 operandus |
– | Atimkite 2 operandus |
* | Padauginkite 2 operandus |
/ | Padalinkite 2 operandus |
% | Modulio operatorius pateikia likusią padalijimo dalį |
Pavyzdys
Toliau pateiktame pavyzdyje atlikome aukščiau minėtas aritmetines operacijas su kintamuoju X ir kintamuoju Y. Kintamasis X turi reikšmę 20, o Y – 5:
#include
tarpt pagrindinis ( )
{
tarpt X = dvidešimt ;
tarpt IR = 5 ;
tarpt rezultatas ;
rezultatas = X + IR ;
printf ( „X ir Y pridėjimas yra: %d \n “ , rezultatas ) ;
rezultatas = X - IR ;
printf ( 'X ir Y atėmimas yra: %d \n “ , rezultatas ) ;
rezultatas = X * IR ;
printf ( 'X ir Y dauginimas yra: %d \n “ , rezultatas ) ;
rezultatas = X / IR ;
printf ( 'X ir Y padalijimas yra: %d \n “ , rezultatas ) ;
rezultatas = X % IR ;
printf ( 'X ir Y modulių padalijimas yra: %d \n “ , rezultatas ) ;
grąžinti 0 ;
}
2: Unary operatoriai
Yra du unikalūs vienkartiniai operatoriai, kuriuos palaiko tik C kalba, increment ++ ir decrement - operatoriai. Prieaugio operatorius prie operando prideda 1, o mažinimo operatorius atima 1 iš operando.
Prieaugio operatorius parašytas taip:
++ a arba a ++
Mažinimo operatorius yra:
-- a arba a --Jei kaip priešdėlį naudojame didinimo ir mažinimo operatorių, jis pirmiausia prideda arba atima kintamojo reikšmę, o tada rezultatas priskiriamas kintamajam kairėje. Jei operatoriai pridedami anksčiau, tai pirmiausia grąžina pradinę reikšmę, o tada operandas pridedamas arba atimamas iš 1.
Pavyzdys
Žemiau mes priskyrėme reikšmes dviem kintamiesiems a ir b ir pritaikėme jiems didinimo ir mažinimo operatorius:
#includetarpt pagrindinis ( )
{
tarpt a = penkiolika , b = 10 ;
printf ( '++a = %d \n “ , ++ a ) ;
printf ( 'a++ = %d \n “ , a ++ ) ;
grąžinti 0 ;
}
3: priskyrimo operatorius
An priskyrimo operatorius (=) naudojamas priskiriant reikšmę kintamajam programoje. Žemiau yra paminėti priskyrimo operatoriai:
Operatoriai | Funkcija |
= | Priskirkite operandui reikšmes |
+= | Dešinėje esančio operando vertę pridėkite prie kairiojo operando |
-= | Iš kairiojo operando atimkite dešiniojo operando vertę |
*= | Dešiniojo operando reikšmę padauginkite iš kairiojo operando |
/= | Padalinkite dešiniojo operando reikšmę į kairįjį operandą |
%= | Paimkite dviejų reikšmių modulį ir priskirkite reikšmę kairiajam operandui |
Pavyzdys
Toliau pateiktame pavyzdyje pademonstravome priskyrimo operatorių veikimą su dviem operandais X ir Y:
#includetarpt pagrindinis ( )
{
tarpt X = 10 ;
tarpt rezultatas ;
rezultatas = X ;
printf ( 'Rezultato vertė = %d \n “ , rezultatas ) ;
rezultatas += X ;
printf ( 'Rezultato vertė = %d \n “ , rezultatas ) ;
rezultatas -= X ;
printf ( 'Rezultato vertė = %d \n “ , rezultatas ) ;
rezultatas *= X ;
printf ( 'Rezultato vertė = %d \n “ , rezultatas ) ;
rezultatas /= X ;
printf ( 'Rezultato vertė = %d \n “ , rezultatas ) ;
grąžinti 0 ;
}
4: Ryšių operatoriai
Reliaciniai operatoriai naudojami C programuojant, norint patikrinti ryšį tarp dviejų kintamųjų. Jis gali būti naudojamas norint palyginti prekių kainas arba dviejų žmonių amžių. Toliau pateikiami reliaciniai operatoriai, naudojami programuojant C:
Operatoriai | Funkcijos |
== | Lygus |
> | Geresnis negu |
< | Mažiau nei |
>= | Didesnis nei lygus |
<= | Mažiau nei lygus |
!= | Nelygu |
Pavyzdys
Toliau pateiktame pavyzdyje parodytas reliacinių operatorių darbas programuojant C:
#includetarpt pagrindinis ( )
{
tarpt a = 9 ;
tarpt b = 10 ;
printf ( '%d == %d yra %d \n “ , a , b , a == b ) ;
printf ( „%d > %d yra %d \n “ , a , b , a > b ) ;
printf ( „%d < %d yra %d \n “ , a , b , a < b ) ;
printf ( '%d != %d yra %d \n “ , a , b , a != b ) ;
printf ( '%d >= %d yra %d \n “ , a , b , a >= b ) ;
printf ( '%d <= %d yra %d \n “ , a , b , a <= b ) ;
grąžinti 0 ;
}
5: Loginiai operatoriai
Yra keturi loginiai operatoriai, kuriuos palaiko C kalba:
Operatoriai | Funkcija |
Loginis IR (&&) | Tiesa tik tuo atveju, jei tenkinamos visos sąlygos |
Loginis ARBA (||) | Jei tenkinama tik viena sąlyga, rezultatas yra teisingas |
Logiška NE(!) | Jei operandas yra 0, rezultatas yra teisingas |
Bitiškai NE (~). | Apverčia visus operando bitus |
Pavyzdys
Žemiau pateiktas pavyzdinis kodas paaiškina loginių operatorių veikimą C:
#includetarpt pagrindinis ( )
{
tarpt X = 10 , IR = 4 , SU = 10 , rezultatas ;
rezultatas = ( X == IR ) && ( SU > IR ) ;
printf ( '(X == Y) && (Z > Y) yra %d \n “ , rezultatas ) ;
rezultatas = ( X == IR ) && ( SU < IR ) ;
printf ( '(X == Y) && (Z < Y) yra %d \n “ , rezultatas ) ;
rezultatas = ( X == IR ) || ( SU < IR ) ;
printf ( '(X == Y) || (Z < Y) yra %d \n “ , rezultatas ) ;
rezultatas = ( X != IR ) || ( SU < IR ) ;
printf ( '(X != Y) || (Z < Y) yra %d \n “ , rezultatas ) ;
rezultatas = ! ( X != IR ) ;
printf ( '!(X != Y) yra %d \n “ , rezultatas ) ;
rezultatas = ! ( X == IR ) ;
printf ( '!(X == Y) yra %d \n “ , rezultatas ) ;
rezultatas = ! ( X > IR ) ;
printf ( '!(X > Y) yra %d \n “ , rezultatas ) ;
grąžinti 0 ;
}
6: Sąlyginiai operatoriai
Sąlyginis operatorius C taip pat žinomas kaip trijų dalių operatorius nes reikia trijų operandų – sąlygos, teiginio 1 ir teiginio 2. Jis įvertina sąlygą ir grąžina 1 arba 2 teiginį, priklausomai nuo nurodytos sąlygos, kuri gali būti teisinga arba klaidinga, rezultatą
Būklė ? pareiškimas 1 : pareiškimas 2- Būklė: Būlio išraiška, kuri tikrina, ar ji teisinga arba klaidinga.
- 1 teiginys: Išraiška, kuri įvertinama, jei sąlyga teisinga.
- 2 teiginys: Išraiška, kuri įvertinama, jei sąlyga klaidinga.
Pavyzdys
Toliau pateiktame pavyzdyje priskyriau reikšmę skaičiui ir pritaikiau sąlygą. Jei sąlyga teisinga, tada 1 teiginys bus išvestis, o jei sąlyga klaidinga, tada antrasis teiginys bus išvestis:
#includetarpt pagrindinis ( )
{
tarpt numerį = 10 ;
( numerį < dvidešimt ) ? ( printf ( 'Tai mažiau nei 20!' ) ) : ( printf ( 'Tai didesnis nei skaičius 20!' ) ) ;
grąžinti 0 ;
}
7: Bitiniai operatoriai
Bitiniai operatoriai C manipuliuoja duomenimis bitų lygiu, o tai reiškia, kad jie veikia su atskirais duomenų tipų bitais, pvz., sveikaisiais skaičiais. Jų negalima pritaikyti ant dvigubo ir plūduriuojančio stulpelio, jie naudojami antgalių tikrinimui ir jų perkėlimui į dešinę arba į kairę.
Bitiniai operatoriai programuojant C pateikti toliau esančioje lentelėje:
Operatoriai | Funkcija |
& | Bitiškai IR |
| | Bitiškai ARBA |
^ | Bitwise Exclusive ARBA |
<< | Perkelkite į kairę |
>> | Perjungti į dešinę |
~ | Vienas papildymas |
Pavyzdys
Šiame pavyzdyje parodyta C programa, kuri naudoja bitų operatorius:
#includetarpt pagrindinis ( ) {
tarpt a = 13 ; // dvejetainis 1101
tarpt b = 7 ; // dvejetainis 0111
tarpt rezultatas ;
// Bitiškai IR
rezultatas = a & b ; // 1101 ir 0111 = 0101 (5 dešimtainis skaičius)
printf ( 'a ir b = %u \n “ , rezultatas ) ;
// Bitai ARBA
rezultatas = a | b ; // 1101 | 0111 = 1111 (15 dešimtainė)
printf ( 'a | b = %u \n “ , rezultatas ) ;
// Bitinis XOR
rezultatas = a ^ b ; // 1101 ^ 0111 = 1010 (dešimtainė 10)
printf ( 'a ^ b = %u \n “ , rezultatas ) ;
// Bitų poslinkis į kairę
rezultatas = a << 2 ; // 1101 << 2 = 110100 (52 dešimtainis skaičius)
printf ( 'a << 2 = %u \n “ , rezultatas ) ;
// Bitų poslinkis į dešinę
rezultatas = a >> 2 ; // 1101 >> 2 = 0011 (3 dešimtainis)
printf ( 'a >> 2 = %u \n “ , rezultatas ) ;
// Bitiškai NE
rezultatas = ~a ; // ~1101 = 0010 (-14 komplemento 2 dešimtainis skaičius)
printf ( '~a = %d \n “ , rezultatas ) ;
grąžinti 0 ;
}
Pastaba: Bitiniai operatoriai naudojami užduotims atlikti bitų lygiu, tai reiškia, kad jie veikia su atskirais dvejetainio skaičiaus bitais. Kita vertus, loginės reikšmės operacijoms atlikti naudojami Būlio operatoriai. Jie veikia pagal Būlio reikšmes (true/false arba 1/0) ir dažniausiai naudojami sprendimų priėmimo procesuose arba sąlyginiuose teiginiuose.
Apatinė eilutė
Operatorius yra simbolis, kuris nurodo kompiliatoriui atlikti tam tikras funkcijas. C kalba turi keletą integruotų operatorių, įskaitant aritmetinį, unarinį, priskyrimo, loginį, reliacinį, sąlyginį, Būlio ir bitų skaičių. Mes juos išsamiai aptarėme ir pademonstravome pavyzdyje. Perskaitykite aukščiau pateiktą vadovo skyrių, kad gautumėte išsamios informacijos apie šiuos operatorius.