Standart turlarni o‘zgartirish
C++ ning ma’lumotlarning turlari ustida qattiq nazorati tufayli imkoni boricha qiymatlarni saqlovchi, turlarni o‘zgartirish amallari kiritilgan.
Boshqa o‘zgaruvchidan ma’lum bir tur qiymatlarini olish uchun quyidagi konstruksiya ishlatiladi: (yangi tur)o‘zgaruvchi.
Misol:
short S = 100;
int I = (int)S;
Bu misol ortiqcha buyruqlarga ega. C++ da ko‘pgina tur o‘zgaruvchilarining to‘g‘ridan-to‘g‘ri o‘zlashtirilishi nazarda tutilgan, ammo ba’zi hollarda bu buyruqlar majburiy hisoblanadi (masalan, o‘zgaruvchining qiymatini biror funksiyaga uzatishda).
Sonli qiymatlarni satrga almashtirish
C++ turlarning to‘g‘ridan-to‘g‘ri almashtirishda o‘zgaruvchini uning o‘nlik ko‘rinishidan belgilar qatori ko‘rinishiga yo‘l qo‘ymaydi, chunonchi, ular shakllarning ko‘pgina komponentlarda ishlatiladi. To‘g‘ridan-to‘g‘ri almashtirish faqatgina asosiy va qo‘shimcha turlar uchun amalga oshiriladi. Massiv hisoblanadigan satr kattaliklar hosilaviy tur bo‘lganligi sababli bunday almashtirishga yo‘l qo‘yilmaydi.
Bunday almashtirishlar uchun quyidagi standart almashtirish funksiyalari ishlatiladi: IntToStr, StrToInt, FloatToStr va boshqalar. Ko‘pchilik ma’lumotlar turlari uchun shu kabi satrga va teskari o‘tkazish funksiyalari mavjud.
Misol:
char S[10]; // belgilar massivi
int I = 100; // butun qiymatli o‘zgaruvchi
S = IntToStr(I); // o‘tkazish
Shartli buyruq
Dasturda tarmoqlanishni amalga oshirish, ya’ni ba’zi faktorlarga bog‘liq holda turli amallar bajarilishi uchun if buyrug‘i ishlatiladi.
Buyruq quyidagi formatga ega:
if (ifoda){ 1 - operator;} [else { 2 - operator;}]
if buyrug‘ining bajarilishi ifodaning qiymatini hisoblashdan boshlanadi. So‘ngra ish quyidagi sxema asosida amalga oshiriladi:
agar ifoda rost bo‘lsa (ya’ni 0 dan farqli), u holda 1 - operator bajariladi.
agar ifoda yolg‘on bo‘lsa (ya’ni 0 ga teng), u holda 2 - operator bajariladi.
agar ifoda yolg‘on va 2 - operator yo‘q bo‘lsa (kvadrat qavsga zarur bo‘lmagan konstruktsiya kiritiladi), u holda if dan keyingi buyruq bajariladi.
Misol:
if (i < j)
{
i++;
}
else
{
j = i-3;
i++;
}
Bu misol 1 - operatorning o‘rnida ham, 2 - operatorning o‘rnida ham murakkab konstruktsiya qatnashishi mumkinligini bildiradi. Ichma-ich if buyrug‘ini ishlatish imkoniyati ham mavjud. if buyrug‘i boshqa if buyrug‘ining if yoki else konstruktsiyalari ichida qatnashishi ham mumkin.
Misollar:
int t = 2;
int b = 7;
int r = 3;
if (t>b)
{
if (b < r)
{
r = b;
}
}
else
{
r = t;
return (0);
}
Bu dastur bajarilganda r ning qiymati 2 ga teng bo‘ladi.
Dostları ilə paylaş: |