DEV Community

Cover image for Increment & Decrement Operators
islomAli99
islomAli99

Posted on • Updated on

Increment & Decrement Operators

Assalamu aleykum xurmatli dasturchi bugun siz bilan C++ dasturlash tilida ko'p xollarda ishlatiladigon operators xaqida gaplashib o'tamiz.

C++ dasturda matematik va mantiqiy bayonotlar va ifodalarni hisoblash uchun har xil turdagi Operatorlarni taqdim etadi. O'sish operatori va kamaytirish operatori C++ tilidagi birlik operatorlarning bir turi bo'lib, ular mos ravishda operandga 1 qiymatini qo'shish yoki ayirish uchun ishlatiladi. Ushbu maqola ushbu 2 Unary operatorlarining chuqur kontseptsiyasiga qaratilgan va tushuntirishga harakat qiladi.

Ta'rif

  • O'sish operatori operand qiymatini 1 ga oshirish uchun ishlatiladi, pasaytirish operatori esa operand qiymatini 1 ga kamaytirish uchun ishlatiladi.

  • C++ da o'zgaruvchining qiymati Increment operatori va Decrement operatori yordamida 1 ga oshiriladi yoki kamayadi.

O'stirish va kamaytirish operatorlari faqat butun sonli o'zgaruvchilar va sonli qiymatlarga ega operandlar bilan qo'llaniladi. Ularni Belgi yoki satr qiymatlarini o'z ichiga olgan o'zgaruvchi bilan ishlatib bo'lmaydi.

O'stirish operatori va kamaytirish operatori operandning Prefiks va Postfiks pozitsiyasida ishlatilishi mumkin. O'stirish/kamaytirish operatori tomonidan dastur bayonotida foydalaniladigan Lavozim operator qanday ishlashini hal qiladi.

Postfix operatori pozitsiyasi Prefiks operatori pozitsiyasidan yuqoriroq ustunlik darajasiga ega. Postfiks operatorlari chapdan o'ngga assotsiativlikdan baholanadi va prefiks operatorlari o'ngdan chapga assotsiativlikdan baholanadi.

Image description

Increment Operator

O'sish operatorlarining asosiy vazifasi o'zgaruvchining sonli sonini 1 qiymatiga oshirishdan iborat. Dasturlash tilida O'sish operatorlari ‘++’ belgisi bilan belgilanadi.

Image description

Eslatma 1

Prefiks va Postfix Increment operatorlari pozitsiyalari bir xil funktsional qiymatlarga ega va agar ular hech qanday ifoda formatida ishlatilmasa, bir xil natijalarni beradi.

#include <iostream>
using namespace std;

int main()

{

int x = 15 ; int y = 30 ;

++x ;

y++ ;

cout << x << endl << y ;


return 0;
}
Enter fullscreen mode Exit fullscreen mode

Output

16

31
Enter fullscreen mode Exit fullscreen mode

Eslatma 2

Prefiks va Postfiks pozitsiyalari, agar ular ifodada ishlatilsa, turli xil hisoblash natijalarini beradi

Agar o'sish operatorlari Prefiks pozitsiyasida ishlatilsa, u holda O'sish funktsiyasi ifodadan oldin bajariladi.

Agar o'sish operatorlari Postfix pozitsiyasida ishlatilayotgan bo'lsa, unda O'sish funktsiyasi ifodani baholashdan keyin amalga oshiriladi.

Misol uchun:

#include <iostream>
using namespace std;

int main()

{

int x =  10 ;

int a ;

x = ++x ;

cout <<"Value of x = "<< x << endl ;

a = x++ ;

cout <<"Value of a = "<< a << endl ;

cout <<"New Value of x = "<< x << endl ;

return 0;

}
Enter fullscreen mode Exit fullscreen mode

Natija:

Value of x = 11

Value of a = 11

New value of x = 12
Enter fullscreen mode Exit fullscreen mode

Tushuntirish

Birinchi "cout" iboramizda Pre-Increment operatori ishlatiladi. Shunday qilib, "x" qiymati 1 ga oshiriladi, ya'ni x = x + 1 = 10 + 1 = 11

Keyin ‘a = x++’ ifodasidagi ‘a’ o‘zgaruvchisiga qiymat beramiz.

Bu shuni anglatadiki, avval "x" qiymati "a" ga tayinlanadi, keyin esa "x" 1 ga oshiriladi. Demak, a = 11 chiqdi, x = 12 ning yangi qiymati

Decrement Operator

Kamaytirish operatorining asosiy vazifasi o'zgaruvchining sonli sonini 1 qiymatiga kamaytirishdan iborat. Dasturlash tilida kamaytirish operatori “– –” belgisi bilan belgilanadi.

Image description

Eslatma 1

Prefiks va Postfix Decrement operator pozitsiyalari bir xil funktsional qiymatlarga ega va agar ular hech qanday ifoda formatida ishlatilmasa, bir xil natijalarni beradi.

Misol uchun:

#include <iostream>
using namespace std;


int main()

{

int x = 15 ; int y = 30 ;

-- x ;

y --;

cout << x << endl << y ;

return 0;
}
Enter fullscreen mode Exit fullscreen mode

Output:

14

29

Enter fullscreen mode Exit fullscreen mode

Eslatma 2

O'stirish operatorlari kabi, kamaytirish operatori ham har qanday iborada operator ishlatilsa, boshqacha ishlaydi.

Agar dekrement operatori Prefiks pozitsiyasida ishlatilayotgan bo'lsa, u holda Increment funktsiyasi ifodadan oldin bajariladi.

Agar pasaytirish operatori Postfix pozitsiyasida ishlatilayotgan bo'lsa, u holda Increment funktsiyasi ifodani baholashdan keyin amalga oshiriladi.

#include <iostream>
using namespace std;

int main()

{

int x =  10 ;

int a ;

cout <<"Value of x = "<< -- x << endl ;

a = x --;

cout <<"Value of a = "<< a << endl ;

cout <<"New Value of x = "<< x << endl ;

return 0;

}


Enter fullscreen mode Exit fullscreen mode

Output:

Value of x = 9

Value of a = 9

New value of x = 8
Enter fullscreen mode Exit fullscreen mode

Tushuntirish

Birinchi "cout" bayonotimizda Pre-Decrement operatori ishlatiladi. Shunday qilib, "x" qiymati 1 ga kamayadi, ya'ni x = x - 1 = 10 - 1 = 9

Keyin ‘a = x — —’ ifodasidagi “a” o‘zgaruvchisiga qiymat beramiz.

Bu shuni anglatadiki, avval "x" qiymati "a" ga tayinlanadi, keyin esa "x" 1 ga kamayadi. Demak, a = 9 chiqish, x = 8 ning yangi qiymati.

Top comments (3)

Collapse
 
nuriddin152 profile image
Nuriddin152

ustoz man tushunmadim darsda tushuntirib berasizmi ?

Collapse
 
islomali99 profile image
islomAli99

xaa

Collapse
 
kenccik profile image
kenccik

zur