Taqqoslash operasiyalari: > katta >= katta yoki teng < kichik <= kichik yoki teng = = tengmi? != teng emas Masalan: a > c; x1 >= X1; n = = m; S != s;
Mantiqiy operasiyalar: && - mantiqiy ko’paytirish (va) || - mantiqiy qo’shish (yoki) ! - mantiqiy inkor (emas) Masalan: i >50 && j ==24; s1 < s2 && (s3 >67 || s4 <=22); Javob rost bo’lsa natija 1 chiqadi, javob yolg’on bo’lsa natija 0 chiqadi.
Qiymat beriish operasiyalari: a) Oddiy operasiya: masalan: a=5; b=2*c; x=y=z=3; a=(b=c)*d y=tan(x*x*x+76.8); 3=f1+f2 deb yozib bo’lmaydi.
“Qabul qildim va almashtirdim” deb nomlanadigan operasiyalar. += Masalan: a+=b → a=a+b; - = Masalan: a-=b → a=a-b; * = Masalan: a*=b → a=a*b; / = Masalan: a/=b → a=a/b; % = Masalan: a%=b → a=a%b;
Inkrement operasiyasi ++ O’zgaruvchiga murojaat qilgandan keyin (a++) yoki murojaat qilishdan oldin (++a) uning qiymatini 1ga oshirish. Masalan:
A=26;
A=A+6;
A++;
Natija: 32
A=26;
++A;
A=A+6;
Natija: 33
Dekrement operasiyasi - - O’zgaruvchiga murojaat qilgandan keyin (a- -) yoki murojaat qilishdan oldin (- -a) uning qiymatini 1ga kamaytirish. Masalan:
X=25;
- X;
C=X+5;
Natija: 29
X=25;
X- - ;
C=X+5;
Natija: 29
S = a + b ++;
S = a + (- -b);
Amallar ustuvorligi
Dastur tuzilishi. Dastur preprocessor komandalari va bir necha funksiyalardan
iborat bo’lishi mumkin. Bu funksiyalar orasida main nomli asosiy funksiya bo’lishi shart. Agar asosiy funksiyadan boshqa funksiyalar ishlatilmasa dastur quyidagi ko’rinishda tuziladi:
Preprocessor_komandalari
Void main()
{
Dastur tanasi.
}
Preprocessor direktivalari kompilyatsiya jarayonidan oldin preprocessor tomonidan
bajariladi. Natijada dastur matni preprocessor direktivalari asosida o’zgartiriladi.
Preprocessor komandalaridan ikkitasini ko’rib chiqamiz.
# include Bu direktiva standart bibliotekalardagi funksiyalarni dasturga
joyjlash uchun foydalaniladi.
#define
Bu direktiva bajarilganda dastur matnidagi almashtiruvchi ifodalar almashinuvchi
ifodalarga almashtiriladi.
KO’RSATKICHLAR. (POINTER)
Ko’rsatkichlar ta’rifi. C va C++ tillarining asosiy hususiyatlaridan ko’rsatkichlarning keng qo’llanilishidir. Ko’rsatkichlar tilda konstanta ko’rsatkichlar va o’zgaruvchi ko’rsatkichlarga ajratiladi. Ko’rsatkichlar qiymati konkret tipdagi ob’ektlar uchun hotirada ajratilgan adreslarga tengdir. Shuning uchun ko’rsatkichlar ta’riflanganda ularning adreslarini ko’rsatish shart. O’zgaruvchi ko’rsatkichlar qo’yidagicha ta’riflanadi.
*
Misol uchun int* lp,lk .
Ko’rsatkichlarni ta’riflaganda initsializatsiya qilish mumkindir. Initsializatsiya quyidagi
shaklda amalga oshiriladi:
* =
OPERATORLAR VA BLOKLAR.
Har qanday dastur funksiyalar ketma ketligidan iborat bo’ladi. Funksiyalar sarlavha va funksiya tanasidan iborat bo’ladi. Funksiya sarlavhasiga void main() ifoda misol bo’la oladi. Funksiya tanasi ob’ektlar ta’riflari va operatorlardan iborat bo’ladi.
Har qanday operator nuqta-vergul belgisi bilan tugashi lozim. Quyidagi ifodalar X=0, yoki I++ operatorga aylanadi agar ulardan so’ng nuqtali vergul kelsa X = 0; I++;
Operatorlar bajariluvchi va bajarilmaydigan operatorlarga ajratiladi. Bajarilmaydigan
operator bu izoh operatoridir.
Izoh operatori /* belgisi bilan boshlanib */belgisi bilan tugaydi. Izoh operatoridan dasturni tushunarli qilish maqsadida izohlar kiritish uchun foydalaniladi.
Bajariluvchi operatorlar o’z navbatida ma’lumot 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;
Qo’shma operatorlar.
Bir necha operatorlar { va } figurali qavslar yordamida qo’shma operatorlarga yoki bloklarga birlashtirilishi mumkin. Blok eki qo’shma operator sintaksis jihatdan bitta operatorga ekvivalentdir. Blokning qo’shma operatordan farqi shundaki blokda obektlar ta’riflari mavjud bo’lishi mumkin.
Quyidagi dastur qismi qo’shma operator:
{
n++;
summa+=(float)n;
}
Bu fragment bo’lsa blok:
{
int n=0;
n++;
summa+=(float)n;
}
Adabiyotlar
Fundamentals of Programming C++ DRAFT Richard L. Halterman
School of Computing Southern Adventist University March 31, 2016
2. Р. Қобулов ва б. С ва С++ тили Дарслик Т.: Ворис нашриёти 2013. 408-б.