R e j a I. Kirish. II. Asosiy qism. C++ tili haqida qisqacha ma’lumot



Download 114,66 Kb.
bet7/12
Sana10.04.2022
Hajmi114,66 Kb.
#541226
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
c dasturlash tilida prefiks va postfikslar

Rang

Amallar

Yo’nalish

1

() [] -> :: .

Chapdan o’ngga

2

! ~ + - ++ -- & * (tip) sizeof new delete tip()

O’ngdan chapga

3

. * —>*

Chapdan o’ngga

4

* / % (multiplikativ binar amallar)

Chapdan o’ngga

5

+ - (additiv binar amallar)

Chapdan o’ngga

6

<< >>

Chapdan o’ngga

7

< <= >= >

Chapdan o’ngga

8

= !=

Chapdan o’ngga

9

&

Chapdan o’ngga

10

A

Chapdan o’ngga

11

I

Chapdan o’ngga

12

&&

Chapdan o’ngga

13

I

Chapdan o’ngga

14

?:(shartli amal)

Chapdan o’ngga

15

= *= /= %= += -= &= A= |= <<= >>=

Chapdan o’ngga

16

, (vergul amali)

Chapdan o’ngga

C++ tilida operatorlar
Operator - bu qandaydir amalni bajarish tug’risida kompilyatorga uzatiladigan literaldir. Operatorlar operandlarga ta’sir qiladi. C++ da operandlar deb alohida literallar va butun ifodalar tushuniladi.
C++ tilida ikki ko’rinishdagi operatorlar bor:

O'zlashtirish operatori.
O'zlashtirish operatori (=) o'zidan chap tomonda turgan operand qiymatini tenglik belgisidan o'ng tomondagilarni hisoblangan qiymatiga almashtiradi. Masalan,
x = a+b;
ifodasi x operandga a va b o'zgaruvchilarni qiymatlarini qo'shishdan hosil bo'lgan natijani o'zlashtiradi.
O'zlashtirish operatoridan chapda joylashgan operand adresli operand yoki 1- qiymat deyiladi. O'zlashtirish operatoridan o'ngda joylashgan operand operatsion operand yoki r-qiymat deyiladi.
O'zgarmaslar faqatgina r-qiymat bo’lishi mumkin va hech qachon adresli operand bo'la olmaydi, chunki dasturning bajarilishi jarayonida o'zgarmas qiymatini o'zgartirib bo'lmaydi.
Matematik operatorlar.
C++ tilida 5 ta asosiy matematik operatorlar ko'llaniladi: qo'shish (+), ayirish (-), ko'paytirish (*), butun songa bo'lish (\) va modul bo'yicha bo'lish (%)(qoldiqni olish).
Ishorasiz butun sonlarni ayirishda, agarda natija manfiy son bo'lsa int tipi qo’llanilishi lozim aks holda bu g'ayrioddiy natija beradi.
Ayirish natijasida butun sonning kelib chiqishiga misol:
#include
using namespace std;
int main()
{
unsigned int ayirma;
unsigned int kattaSon = 100;
unsigned int kichikSon = 50;
ayirma = kattaSon - kichikSon;
cout << "Ayirma: " << ayirma << " ga teng\n";
ayirma = kichikSon - kattaSon ;
cout << "Ayirma: " <<(int) ayirma<< " ga teng\n" << endl;
return 0;
}
NATIJA:
Ayirma: 50 ga teng
Ayirma: -50 ga teng
Operatorlar bajariluvchi va bajarilmaydigan operatorlarga ajratiladi.
Bajarilmaydigan operator bu izoh operatoridir.
Izoh operatori /* belgisi bilan boshlanib */ belgisi bilan tugaydi. Bu ikki simvol orasida ihtiyoriy jumla yozish mumkin. Kompilyator bu jumlani tekshirib o’tirmaydi. Izoh operatoridan dasturni tushunarli qilish maqsadida izohlar kiritish uchun foydalaniladi.
Bajariluvchi operatorlar o’z navbatida ma’lumotlarni o’zgartiruvchi va boshqaruvchi operatorlarga ajratiladi.
Ma’lumotlarni o’zgartiruvchi operatorlarga qiymat berish operatorlari va nuqta vergul Bilan tugovchi ifodalar kiradi. Misol uchun:
I++;
X*=I;
I=x-4*I;
Boshqaruvchi operatorlar dasturni boshqaruvchi konstruktsiyalar deb ataladi. Bu operatorlarga quyidagilar kiradi:
Qo’shma operatorlar;
Tanlash operatorlari;
Tsikl operatorlari;
O’tish operatorlari;
C++ tilida prefiks va postfikslar
QIYMAT BERISH OPERATORLARI
C++ da hisoblashni va undan keyin javobni o'zgaruvchiga beruvchi bir necha operator mavjuddir. Misol uchun:
k = k * 4; ni
k *= 4;
deb yozsak bo'ladi.
Bunda *= operatorining chap argumenti o'ng argumentga qo'shiladi va javob chap argumentda saqlanadi. Biz har bir operatorni ushbu qisqartirilgan ko'rinishda yoza olamiz (+=, -=, /=, *= %=). Ikkala qism birga yoziladi. Qisqartirilgan operatorlar tezroq yoziladi, tezroq kompilyatsiya qilinadi va ba'zi bir hollarda tezroq ishlaydigan mashina kodi tuziladi.
1 ga oshirish va kamaytirish operatorlari (INCREMENT and DECREMENT) C++ da bir argument oluvchi inkrenet (++) va bir orgument beruvchi dekrement (--) operatorlari mavjuddir. Bular ikki ko'rinishda ishlatilinadi, biri o'zgaruvchidan oldin (++f - preinkrement, --d - predekrement), boshqasi o'zgaruvchidan keyin (s++ - postinkrement, s-- - postdekrement) ishlatilgan holi. Bularning bir-biridan farqini aytib o'taylik. Postinkrementda o'zgaruvchining qiymati ushbu o'zgaruvchi qatnashgan ifodada shlatilinadi va undan keyin qiymati birga oshiriladi. Preinkrementda esa o'zgaruvchining qiymati birga oshiriladi, va bu yangi qiymat ifodada qo'llaniladi. Predekrement va postdekrement ham aynan shunday ishlaydi lekin qiymat birga kamaytiriladi. Bu operatorlar faqatgina o'zgaruvchining qiymatini birga oshirish/kamaytirish uchun ham ishlatilinishi mumkin, yani boshqa ifoda ichida qo'llanilmasdan. Bu holda pre va post formalarining farqi yo'q.
Masalan:
++r;
r++;
Yuqoridagilarning funksional jihattan hech qanday farqi yo'q, chunki bu ikki operator faqat r ning qiymatini oshirish uchun qo'llanilmoqda. Bu operatorlarni oddiy holda yozsak:
r = r + 1;
d = d - 1;
Lekin bizning inkrement/dekrement operatorlarimiz oddiygina qilib o'zgaruvchiga bir qo'shish/ayirishdan ko'ra tezroq ishlaydi. Yuqoridagi operatorlarni qo'llagan holda bir dastur yozaylik.
//Postinkremet, preinkrement va qisqartirilgan teglashtirish operatrlari:
# include
int main()
{
int k = 5, l = 3, m = 8;
cout << k++ << endl; //ekranga 5 yozildi, k = 6 bo'ldi.
l += 4; // l = 7 bo'ldi.
cout << --m << endl; // m = 7 bo'ldi va ekranga 7 chiqdi.
m = m+k + (++l); // m =8+ 6 + 8 = 22;
return (0);
}
Dasturdagi o'zgaruvchilar e'lon qilindi va boshqangich qiymatlarni olishdi.
cout << k++ << endl;
ifodasida ekranga oldin k ning boshlangich qiymati chiqarildi, keyin esa uning qiymati 1 da oshirildi. l += 4; da l ning qiymatiga 4 soni qo'shildi va yangi qiymat l da saqlandi. cout << --m << endl; ifodasida m ning qiymati oldin predekrement qilindi,va undan so'ng ekranga chiqarildi. m = k + (++l); da oldin l ning qiymati birga ishirildi va l ning yangi qiymati k ga qo'shildi. m esa bu yangi qiymatni oldi. Oshirish va kamaytirish operatorlari va ularning argumentlari orasida bo'shliq qoldirilmasligi kerak. Bu operatorlar sodda ko'rinishdagi o'zgaruvchi-larga nisbatan qo'llanilishi mumkin halos. Masalan:
++(f * 5);
ko'rinish noto'g'ridir.

Download 114,66 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish