C + + New, Delete operatori Reja


C++ tilining tayanch turlari



Yüklə 31,6 Kb.
səhifə6/6
tarix02.01.2022
ölçüsü31,6 Kb.
#43193
1   2   3   4   5   6
C New, Delete operatori

C++ tilining tayanch turlari:
C++ tilishshg tayanch turlari, ularning baytlardagi o‘lchamlari va qiymatlarining chegaralari 1.2-jadvalda keltirilgan.

1.2-jadval. C++ tilining tayanch turlari




Tur nomi


Baytlardagi o‘lchami


Qiymat chegarasi


bооl


1


True yoki false


Unsigned short int

2


0..65535

Short int

2


-32768..32767


Unsigned long int

4


0..42949667295

Long int


4


-2147483648..2147483647

int(16 razryadli)


2


-32768.. 32767

Int (32 razryadli)


4


-2147483648..2147483647

Unsigned int (16 razryadli)

2


0..65535

Unsigned int (32 razryadli)


4


0..42949667295


Unsigned char


1


0..255


сhаг


1

-128.. 127


flоаt;


4


1.2Е-38..3.4Е38


double

8


2.2Е-308..1.8Е308


Long double(32 razryadli)

10


3.4е-4932..-3.4e4932


void

2 yoki 4

-



Turlangan o‘zgarmaslar
Turlangan o‘zgarmaslar xuddi o‘zgaruvchilardek ishlatiladi va initsializatsiya qilingandan (boshlang‘ich qiymat berilgandan) keyin ularning qiymatini o‘zgartirib bo‘lmaydi .

Turlangan o‘zgarmaslar const kalit so‘zi bilan e’lon qilinadi, undan keyin o‘zgarmas turi va albatta initsializatsiya qismi bo‘lishi kerak.

Misol tariqasida turlangan va literal o‘zgarmaslardan foydalangan holda radius berilganda aylana yuzasini hisoblaydigan programmani keltiramiz.

#include

int main ()

{

const double pi=3.1415;



const int radius=3;

double square=0;

square=pi*radius*radius;

cout<

return 0;

}

Programma bosh funksiyasining boshlanishida ikkita – pi va radius o‘zgarmaslari e’lon qilingan. Aylana yuzasini aniqlovchi square o’zgarmas deb e’lon qilinmagan, chunki u programma bajarilishida o’zgaradi.



Aylana radiusini programma ishlashida o‘zgartirish mo‘ljallanmagan, shu sababli u o‘zgarmas sifatida e’lon qilingan.
Sanab o‘tiluvchi tur
Ko‘p miqdordagi, mantiqan bog‘langan o‘zgarmaslardan foydalanganda sanab o‘tiluvchi turdan foydalanilgani ma’qul. Sanab o’tiluvchi o‘zgarmaslar enum kalit so‘zi bilan aniqlanadi. Mazmuni bo‘yicha bu o‘zgarmaslar oddiy butun sonlardir.

Sanab o‘tiluvchi o‘zgarmaslar C++ standarti bo‘yicha butun turdagi o‘zgarmaslar hisoblanadi. Har bir o‘zgarmasga (songa) mazmunli nom beriladi va bu identifikatorni programmaning boshqa joylarida nomlash uchun ishlatilishi mumkin emas. Sanab o‘tiluvchi tur qo‘yidagi ko‘rinishga ega:

enum { =, ,… = } ;

bu yerda, enum – kalit so‘z (inglizcha enumerate – sanamoq); - o‘zgarmaslar ro‘yxatining nomi; - butun qiymatli konstantalarning nomlari; - shart bo‘lmagan initsializatsiya qiymati (ifoda).

Misol uchun hafta kunlari bilan bog‘liq masala yechishda hafta kunlari dush (dushanba), sesh (seshanba), shor (chorshanba), paysh (payshanba), juma (juma), shanba (shanba), yaksh (yakshanba) o‘zgarmaslarini ishlatish mumkin va ular sanab o‘tiluvchi tur yordamida bitta satrda yoziladi:

enum Hafta {dush, sesh chor, paysh, juma, shanba,yaksh} ;

Sanab o‘tiluvchi o‘zgarmaslar quyidagi xossaga ega: agar o‘zgarmas qiymati ko‘rsatilmagan bo‘lsa, u oldingi o‘zgarmas qiymatidan bittaga ortiq bo‘ladi. Kelishuv bo‘yicha birinchi o‘zgarmas qiymati 0 bo‘ladi.

Initsializatsiya yordamida o‘zgarmas qiymatini o‘zgartirish mumkin:

enum Hafta {dush=8 ,sesh,chor=12 ,paysh=13 , juma=16, shanba, yaksh=20} ;

Bu e’londa sesh qiymati 9, shanba esa 17 ga teng bo‘ladi.

Sanab o‘tiluvchi o‘zgarmaslarning nomlari har xil bo‘lishi kerak, lekin ularning qiymatlari bir xil bo‘lishi mumkin:

enum{no1=0,toza=0,bir,ikki,juft=2 ,uch} ;

O‘zgarmasning qiymati ifoda ko‘rinishda berilishi mumkin, faqat ifodadagi nomlarning qiymatlari shu qadamdagacha aniqlangan bo‘lishi kerak:

enum { ikki=2 ,turt=ikki*2 } ;

O‘zgarmasni qiymatlari manfiy son bo‘lishi ham mumkin: enum {minus2=-2 minus1,nol,bir} ;

Turni boshqa turga keltirish
C++ tilida bir turni boshqa turga keltirishning oshkor va oshkormas yo‘llari mavjud.

Umuman olganda, turni boshqa turga oshkormas keltirish ifodada har xil turdagi o‘zgaruvchilar qatnashgan hollarda amal qiladi (aralash turlar arifmetikasi). Ayrim hollarda, xususan tayanch turlar bilan bog‘liq turga keltirish amallarida xatoliklar yuzaga kelishi mumkin.

Masalan, hisoblash natijasining xotiradan vaqtincha egallagan joyi uzunligi, uni o‘zlashtiradigan o‘zgaruvchi uchun ajratilgan joy uzunligidan katta bo‘lsa, qiymatga ega razryadlarni yo‘qotish holati yuz beradi.

Oshkor ravishda turga keltirishda, o‘zgaruvchi oldiga qavs ichida boshqa tur nomi yoziladi:

#include

int main()

{

int integer_1=54;



int integer_2;

float floating=15.854;

integer_1=(int) floating; // oshkor keltirish;

integer_2=(int) floating // oshkormas keltirish;

cout<<’’yangi integer (oshkor): ‘’<

cout<<’’yangi integer (oshkormas): ‘’<

return 0;

}

Yüklə 31,6 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin