DEV Community

JohnnySenior
JohnnySenior

Posted on

C++ da arifmetik amallar va incriment va decriment haqida

  • 1. Assalomu alekum hurmatli o'quvchi. Bugun C++ dasturlash tilida arifmetik amallar va increment va dekrement haqida qisqacha gaplashib o'tamiz. Arifmetik amallar haqida gaplashadigan bo'lsak o'zimiz o'rgangan matematika bilan deyarli bir xil faqat ba'zi bir e'tibor beradigan joylari bor. Boshladik: 1) Qo'shish amali matematikadek bir xil + yozsak kompyuter tushinadi. Misol : a+b deb yozsak a qiymatga b qiymatni qo'shishim kerak ekan deb tushinadi. 2) Ayirish amali ham matematika bilan bir xil - yozsak kifoya. Misol : a-b deb yozsak a qiymatdan b qiymatni ayiraman ekan deb tushinadi. 3) Ko'paytirish amali (yuqori darajali amal) hisoblanadi ya'ni yuqorida ko'rib o'tgan qo'shish va ayirish amallari bilan birga kelganda birinchi bo'lib ko'paytirish amali bajariladi. Va * tarzida yoziladi. Misol : a*b deb yozsak a qiymatni b qiymatga ko'paytirish kerakligini tushinadi. 4) Bo'lish amali ham ko'paytirish amali kabi (yuqori darajali amal) hisoblanadi va bu ham birinchi bo'lib bajariladi. Va / tarzida yoziladi. Misol a/b qilib yozsak a qiymatni b qiymatga bo'laman ekan deb tushinadi. 5) Endigi yozadigan amalimiz (modula) qoldiqli bo'lish deb yuritishadi ko'pincha va % shu tarzda yoziladi va buning ham darajasi bo'lish va ko'paytirish amallari bilan tengdir. Misol 10 % 3 tarzida yozadigan bo'lsak natija = 1 negaki bu amal faqat qoldiq qisminigina o'ziga saqlaydi. Endi shu yerda savol tug'ilishi mumkin yuqori darajali amallar birga kelib qolsa qaysi biri birinchi bajariladi? U holda chapdan o'nga qarab ketma ketlikda bajariladi. Misol 10 / 2 % 3 shu tarzdi misol kelsa bo'lish amali ham qoldiqli bo'lish amali ham bir xil darajadagi amallar hisoblanadi. Chapdan o'nga qarab ketma ketlikda bajarib ketaveramiz. Va nihoyat increment va decrement haqida gaplashamiz. Bu amallar inglizcha increse(o'sish, ko'yaish) ++a yoki a++ tarzida yoziladi, decrese(kamayish) --a yoki a--tarzida yoziladi. Endi bu har ikkisini ham 2 tadan xususiyati bor ular : prefiks va postfiks. Keling increment amalini prefiks xususiyatini gaplashamiz.
#include <iostream>

using namespace std;

int main() {

  int a=10;
  int b=++a;
  cout << b << a;

  return 0;
}
Enter fullscreen mode Exit fullscreen mode

Yuqorida yozgan kodimizni javobini yuklaymiz.

Image description
ko'rib turganingizdek a=11 va b=11. Pre fiks xususiyatida a avval 1 taga ko'paytirib oldi keyin uni b ga o'zlashtirdi. Keling endi postfiks holatini ko'ramiz.

#include <iostream>

using namespace std;

int main() {

  int a=10;
  int b=a++;
  cout << b  << "\n" << a;

  return 0;
}
Enter fullscreen mode Exit fullscreen mode

Endi natijani yuklaymiz

Image description
Mana endi b=10 va a=11 ga. Jarayonni tushintiraman. Bu xususiyatda a ni qiymatini avval b ga o'zlashtirib olib keyin a ni qiymatini 1 ga oshiradi. Boshida a 10 ga teng edi shu qiymatini b ga o'zlashtirdi va undan keyin a o'zining qiymatini 1 ga oshirdi.
Decrement amali ham huddi shu yuqorida ko'rib o'tganimiz bilan bir xil. Yagona farqi 1 taga kamaytirai holos. Shu bilan maqolamizni yakunlaymiz. Jamshidbek Tursunboev
@dawroun

Oldest comments (0)