У овом детаљном водичу ћемо разговарати о операторима у Ц програмирању и њиховим типовима.
Оператори и њихови типови у Ц програмирању
Оператори су симболи који се користе за извршавање специфичних математичких задатака. Користе се за манипулацију подацима и променљивим. Следе различите врсте оператора у Ц програмирању:
- Аритметички оператори
- Унари Операторс
- Оператори додељивања
- Логички или логички оператори
- Релациони оператери
- Условни оператори
- Битвисе Операторс
1: Аритметички оператори
Ово су оператори који се користе за обављање основних математичких функција као што су сабирање, одузимање или множење. Ове операторе можете користити на скоро свим уграђеним типовима података Ц програмирања. Следе аритметички оператори који се користе у Ц програмирању:
Оператери | Функције |
+ | Додајте 2 операнда |
– | Одузми 2 операнда |
* | Помножите 2 операнда |
/ | Подели 2 операнда |
% | Оператор модула даје остатак дељења |
Пример
У следећем примеру, извршили смо горе поменуте аритметичке операције над променљивом Кс и променљивом И. Променљива Кс има вредност 20, а И вредност 5:
#инцлуде <стдио.х>
инт главни ( )
{
инт Икс = двадесет ;
инт И = 5 ;
инт резултат ;
резултат = Икс + И ;
принтф ( „Сабирање Кс и И је: %д \н ' , резултат ) ;
резултат = Икс - И ;
принтф ( „Одузимање Кс и И је: %д \н ' , резултат ) ;
резултат = Икс * И ;
принтф ( „Множење Кс и И је: %д \н ' , резултат ) ;
резултат = Икс / И ;
принтф ( „Подела Кс и И је: %д \н ' , резултат ) ;
резултат = Икс % И ;
принтф ( „Модул подела Кс и И је: %д \н ' , резултат ) ;
повратак 0 ;
}
2: Унарни оператори
Постоје два јединствена унарна оператора која су подржана само у језику Ц, инкремент ++ и декремент — оператори. Оператор повећања додаје 1 операнду, а оператор декремента одузима 1 од операнда.
Оператор инкремента се пише као:
++ а или а ++
Оператор декремента је:
-- а или а --Ако користимо оператор инкремента и декремента као префикс, он прво додаје или одузима вредност променљиве, а затим се резултат додељује променљивој са леве стране. Ако се оператори додају раније, прво враћа оригиналну вредност, а затим се операнд додаје или одузима за 1.
Пример
У наставку смо доделили вредности двема променљивим а и б и применили операторе повећања и декремента на њих:
#инцлуде <стдио.х>инт главни ( )
{
инт а = петнаест , б = 10 ;
принтф ( '++а = %д \н ' , ++ а ) ;
принтф ( 'а++ = %д \н ' , а ++ ) ;
повратак 0 ;
}
3: Оператор доделе
Ан оператор доделе (=) се користи за додељивање вредности променљивој у програму. У наставку су наведени оператори додељивања:
Оператери | Функција |
= | Доделите вредности операнду |
+= | Додајте вредност операнда присутног са десне стране левом операнду |
-= | Одузмите вредност десног операнда од левог операнда |
*= | Помножите вредност десног операнда са левим операндом |
/= | Поделите вредност десног операнда на леви операнд |
%= | Узмите модул две вредности и доделите вредност левом операнду |
Пример
У следећем примеру смо демонстрирали рад оператора доделе на два операнда Кс и И:
#инцлуде <стдио.х>инт главни ( )
{
инт Икс = 10 ;
инт резултат ;
резултат = Икс ;
принтф ( „Вредност резултата = %д \н ' , резултат ) ;
резултат += Икс ;
принтф ( „Вредност резултата = %д \н ' , резултат ) ;
резултат -= Икс ;
принтф ( „Вредност резултата = %д \н ' , резултат ) ;
резултат *= Икс ;
принтф ( „Вредност резултата = %д \н ' , резултат ) ;
резултат /= Икс ;
принтф ( „Вредност резултата = %д \н ' , резултат ) ;
повратак 0 ;
}
4: Релациони оператори
Релациони оператори се користе у Ц програмирању за проверу односа између две променљиве. Може се користити за упоређивање цена артикала или старости две особе. Следе релациони оператори који се користе у Ц програмирању:
Оператери | Функције |
== | Једнако |
> | Веће од |
< | Мање од |
>= | Веће од једнако |
<= | Мање него једнако |
!= | Неједнако са |
Пример
Пример у наставку показује рад релационих оператора у Ц програмирању:
#инцлуде <стдио.х>инт главни ( )
{
инт а = 9 ;
инт б = 10 ;
принтф ( „%д == %д је %д \н ' , а , б , а == б ) ;
принтф ( „%д > %д је %д \н ' , а , б , а > б ) ;
принтф ( „%д < %д је %д \н ' , а , б , а < б ) ;
принтф ( '%д != %д је %д \н ' , а , б , а != б ) ;
принтф ( „%д >= %д је %д \н ' , а , б , а >= б ) ;
принтф ( „%д <= %д је %д \н ' , а , б , а <= б ) ;
повратак 0 ;
}
5: Логички оператори
Постоје четири логичка оператора које подржава језик Ц:
Оператери | Функција |
Логично И (&&) | Тачно само ако сви услови задовољавају |
Логичко ИЛИ (||) | Ако само један услов задовољава резултат је тачан |
Логично НЕ(!) | Ако је операнд 0, резултат је тачан |
Битно НЕ (~). | Инвертује све битове операнда |
Пример
Пример кода у наставку објашњава рад логичких оператора у Ц:
#инцлуде <стдио.х>инт главни ( )
{
инт Икс = 10 , И = 4 , ВИТХ = 10 , резултат ;
резултат = ( Икс == И ) && ( ВИТХ > И ) ;
принтф ( '(Кс == И) && (З > И) је %д \н ' , резултат ) ;
резултат = ( Икс == И ) && ( ВИТХ < И ) ;
принтф ( '(Кс == И) && (З < И) је %д \н ' , резултат ) ;
резултат = ( Икс == И ) || ( ВИТХ < И ) ;
принтф ( '(Кс == И) || (З < И) је %д \н ' , резултат ) ;
резултат = ( Икс != И ) || ( ВИТХ < И ) ;
принтф ( '(Кс != И) || (З < И) је %д \н ' , резултат ) ;
резултат = ! ( Икс != И ) ;
принтф ( '!(Кс != И) је %д \н ' , резултат ) ;
резултат = ! ( Икс == И ) ;
принтф ( '!(Кс == И) је %д \н ' , резултат ) ;
резултат = ! ( Икс > И ) ;
принтф ( '!(Кс > И) је %д \н ' , резултат ) ;
повратак 0 ;
}
6: Условни оператори
Условни оператор у Ц је такође познат као тхе тернарни оператор јер узима три операнда – услов, исказ 1 и исказ 2. Процењује услов и враћа или изјаву 1 или изјаву 2, у зависности од резултата датог услова који може бити тачан или нетачан
Стање ? Изјава 1 : Изјава 2- Стање: Булов израз који проверава да ли је тачан или нетачан.
- Изјава 1: Израз који се вреднује ако је услов тачан.
- Изјава 2: Израз који се вреднује ако је услов нетачан.
Пример
У следећем примеру, доделио сам вредност броју и затим применио услов, ако је услов тачан онда ће изјава 1 бити излаз, а ако је услов нетачан онда ће изјава два бити излаз:
#инцлуде <стдио.х>инт главни ( )
{
инт број = 10 ;
( број < двадесет ) ? ( принтф ( 'Мање је од броја 20!' ) ) : ( принтф ( „То је веће од броја 20!“ ) ) ;
повратак 0 ;
}
7: Битвисе оператори
Битвисе оператори у Ц-у манипулишу подацима на нивоу битова, што значи да раде на појединачним битовима унутар типова података као што су цели бројеви. Не могу се применити на дупли и флоат и користе се за тестирање битова и њихово померање удесно или улево.
Битови оператори у Ц програмирању дати су у табели испод:
Оператери | Функција |
& | Битвисе АНД |
| | Битвисе ОР |
^ | Искључиво по биту ОР |
<< | Схифт лево |
>> | Схифт Ригхт |
~ | Један допуна |
Пример
Следећи пример показује Ц програм који користи битне операторе:
#инцлуде <стдио.х>инт главни ( ) {
инт а = 13 ; // бинарни 1101
инт б = 7 ; // бинарни 0111
инт резултат ;
// Битвисе АНД
резултат = а & б ; // 1101 & 0111 = 0101 (децимала 5)
принтф ( 'а & б = %у \н ' , резултат ) ;
// Битвисе ОР
резултат = а | б ; // 1101 | 0111 = 1111 (децимала 15)
принтф ( 'а | б = %у \н ' , резултат ) ;
// Битвисе КСОР
резултат = а ^ б ; // 1101 ^ 0111 = 1010 (децимала 10)
принтф ( 'а ^ б = %у \н ' , резултат ) ;
// Битова померања улево
резултат = а << 2 ; // 1101 << 2 = 110100 (децимала 52)
принтф ( 'а << 2 = %у \н ' , резултат ) ;
// Битова померања удесно
резултат = а >> 2 ; // 1101 >> 2 = 0011 (децимала 3)
принтф ( 'а >> 2 = %у \н ' , резултат ) ;
// Битвисе НОТ
резултат = ~а ; // ~1101 = 0010 (репрезентација комплемента децималне 2 од -14)
принтф ( '~а = %д \н ' , резултат ) ;
повратак 0 ;
}
Белешка: Битови оператори се користе за обављање задатака на нивоу бита, што значи да раде на појединачним битовима унутар бинарног броја. Логички оператори се, с друге стране, користе за извођење операција над логичким вредностима. Они раде на Буловим вредностима (тачно/нетачно или 1/0) и обично се користе у процесима доношења одлука или условним изјавама.
Суштина
Оператор је симбол који налаже компајлеру да изврши одређене функције. Језик Ц има неколико уграђених оператора укључујући аритметичке, унарне, додељивање, логичке, релационе, условне, Булове и битне. Детаљно смо о њима разговарали и демонстрирали их у примеру излаза. Прочитајте горњи одељак водича да бисте добили детаљне информације о овим оператерима.