«axborot-kommunikatsiya texnologiyalar va tizimlar»


-rasm. Xotiradagi int va float turidagi o‘zgaruvchilar



Yüklə 10,74 Mb.
Pdf görüntüsü
səhifə174/269
tarix28.09.2023
ölçüsü10,74 Mb.
#150106
1   ...   170   171   172   173   174   175   176   177   ...   269
«axborot-kommunikatsiya texnologiyalar va tizimlar»

12.8-rasm. Xotiradagi int va float turidagi o‘zgaruvchilar
327


12.9-rasm rvalue va lvalue o‘zgaruvchilarini qiymatlarini 
ko‘rsatadi:
lvalue ifodasi C++ da bu qiymat taqdim etilishi mumkin 
bo‘lgan ifodadir. Taqdim etish operatorining (=) chap tomonida 
m a’lumotlar saqlanishi mumkin bo‘lgan mavjud xotira manzilini 
ta’minlaydigan lvalue bo‘lishi kerak.
Eslatma: O'zgarmas qiymat kabi e ’lon qilingan o'zgarmas
qiymatlar va identifikatorlar (const kalit so'zini ishlatib e ’lon
qilingan) lvalue hisoblanmaydi va faqat taqdim etish operatorining
о ‘ng tomonida turishi mumkindir.
Xotira
adresi
5000
5001
5002
5003
5004
5005
Contents of memory
35
99
О ‘zgaruvchi 
nomi
f rvalue of a a 35 
] (value of a = 5001
f
rvalue of b = 99 
^fva{ueofb = 5004
Xotira
12.9-rasm. rvalue va lvalue o‘zgaruvchilarni ko‘rinishi
O'zgaruvchini e ’lon qilish 
uni boshlang'ich qiymatini
ta ’minlamaydi, 
ya ’ni, 
о 'zgaruvchi 
aniqlanadi, 
ammo
o'zgaruvchining 
qiymati 
aniqlanmagan.
E ’londa 
bitta 
o ‘zgaruvchidan 
k o ‘ra 
k o ‘proq 
o ‘zgaruvchilar 
bor 
bo‘lsa,
328


o ‘zgaruvchilar ro ‘yxatda vergul bilan ajratilgan b o ‘ladi. Misol 
uchun,
int i, j, k; 
float x, y; 
double d l, 
d2. d3;
Bu yerda, yuqorida eslatib o ‘tilgan e ’lon qilingan barcha 
o ‘zgaruvchilarda aniqlanm agan qiymatlardir.
Eslatma: 
Agar o'zgaruvchiga hech qanday qiymat taqdim
etilmasa yoki kiritilmasa, и holda и hech narsali (yoki xato, yo ‘q)
qiymatga ega bo ‘ladi. Bu hech narsali qiymat, xotiraning xonasini
oldingi safar ishlatgan, dasturdan qolgan qiymat ham b o ‘lishi
mumkin.
0 ‘zgaruvchini aniqlash (initsiallash) u e ’lon qilingandan keyin 
uni boshlang‘ich qiym at bilan ta ’minlash, degan m a’noni anglatadi. 
C++ o ‘zgaruvchini e ’lon qilishda ikki turdagi aniqlashni ishlatadi. 
M isol uchun, int i = 40; va int i (40);
B u yerda ikkila operator ham i ni 40 qiymati bilan aniqlaydi. 
0 ‘zgaruvchini aniqlashga yana bir nechta misollar: 
float salary = 20000.0; char chi = ‘A ’, ch2 = ‘a’ ; 
double amount = 570.15;
C++ tilida o'zgaruvchilar shuningdek dasturni bajarilishi 
vaqtida ham aniqlanishi mum kin. Bu bir 
dinamik aniqlashtirish
sifatida tanilgan. 0 ‘zgaruvchi dasturni bajarilishi vaqtida (bajarilish 
jarayonida) e ’lon qilish yordam ida ham aniqlanishi m umkin. Misol 
uchun,
int total =amount + depozit;
Bu yerda, 
total 
o ‘zgaruvchisi, dasturni bajarilishi vaqtida, 
amount 
va 
deposit 
qiym atlar bilan aniqlanishi mumkin.
Eslatma: 
O'zgaruvchini
C + +
dasturida istalgan joyda, lekin
unga birinchi yo ‘llanma bergungacha, e ’Ion qilish mumkin.
Taqdim etish operatori
Taqdim etish operatori о ‘zgaruvchi yoki о ‘zgarmas qiymatga
biror qiymat taqdim etish uchun ishlatiladi.
M isol uchun, 
int x = 50;
329


float a = 30.6;
const float P I = 3.14159;
const char ch = ‘A ’ ;
“Teng” belgisi = o‘ng tomondagi ifodani qiymatini hisoblaydi 
va chap tomonda turgan o‘zgaruvchiga qiymatni taqdim etadi. 
Taqdim etish operatorining umumiy yozilish shakli quyida 
ko'rsatilgan:
lvalue = rvalue;
Bu yerda, “=” belgisi taqdim etish operatori deb ataladi . C++ 
da, taqdim etishlar zanjirga birlashtirilishi mumkin, ya’ni ular 
ketma-ket bajarilishi mumkin. Buni, bir xil qiymatlami bir nechta 
elementlarga taqdim etilishi kerak bo‘lganda foydalidir.
Misol uchun, 
int i, j, k;
i = j = к = 0; yoki (i = (j = (k = 0 )));
Bu yerda, 0 eng aw alo 
к 
ga taqdim etiladi, keyin 
к 
ning 
qiymati 

ga, keyin 
j
ning qiymati 
I
ga taqdim etiladi. Har doim 
yodda saqlash kerakki, bu zanjir operatori o‘zgaruvchilami aniqlash 
uchun e’lon qilish vaqtida ishlatilishi mumkin emas. Lekin biz, 
yozishimiz mumkin, 
int i = 0, j = 0, к = 0;
Turbo C++ ning 3.0 versiyasi zanjirga eng ko‘pi bilan 70 ta 
taqdim etishni imkonini beradi. Taqdim etishning bittalik 
operatorida ishlatiladigan barcha o‘zgaruvchilar oldindan e ’lon 
qilinishi kerak.
Turbo C++ ning 3.0 versiyasida zanjirga 70 tadan ortiq 
o‘zgaruvchilami, bitta taqdim etish operatori orqali, birlashtirishga 
harakat qilgan holimizda, ekranga quyidagi xato haqidagi xabari 
chiqariladi:
Xotira etishmavapti
С
++ da, sozlangan taqdim etish kabi ma’lum bo‘lgan taqdim 
etishning boshqa usuli ham mavjud. Misol uchun, 
int i, j;
i = (j = 20) * 4;
Bu yerda, (j = 20) sozlangan taqdim etish ko‘rinishiga egadir. 
Ehg awalo, 20 qiymati j ga taqdim etiladi, va keyin natija 20 * 4 =
330


80 i 
ga taqdim etiladi. Bu operator quyidagi ikkita operatorlar bilan 
bir xil bo‘ladi:
j = 20; z = j * 4;
Eslatma: Siz о ‘zgaruvchilarga raqamli qiymatlami taqdim
etganingizda, hech qachon vergullarni ishlatmang.
Modifikatorlar turlari
C++da, boshlang‘ich ma’lumotlar turlari 
(void 
dan tashqari) 
ba’zi bir talablarga muvofiq modifakatsiyalanishi (o‘zgartirilishi) 
mumkin.
signed, insigned, long 
va boshqa kalit so‘zlari turlami aniqlash 
uchun ishlatilishi mumkin. C++ da ma’lumotlar turini tasvirlash 
kompyuter turi bilan bog‘liqdir. 12.4-jadvalda ma’lumotlar turlarini 
va ulaming modifikatorlarini 
16-razryadli kompyuter uchun 
ko‘rinishi berilgan.
signed 
turidagi modifikator 
char 
va 
int 
turidagi ma’lumotlarga 
qo‘llaniladi. Bu, mavjud bo‘lmagan tur uchun bo‘lgan o ‘sha 
samaraga ega boladi. 
Int 
ma’lumotlar turi indamaslik bo‘yicha 
taqdim etiladi.
Unsigned 
turidagi 
modifikator 
char 
va 
int 
turidagi 
ma’lumotlarga qoilaniladi. Bu shu turdagi ma’lumotlarga faqatgina 
musbat qiymatlarga ega bo‘lishini bildiradi. 
Unsigned 
turidagi 
modifikator, o‘zgamvchilami diapazonini va hech qachon manfiy 
bo‘lmagan o ‘zgaruvchining qiymatlarini oshirishi uchun, masalan, 
talabalar soni, maqsadlar soni yoki sport musobaqalaridagi ochkolar 
sh.o‘. ishlatiladi
Tilning ba’zi bir versiyalari 
unsigned 
ni suzib yuradigan 
m a’lumotlar turiga (ishorasiz 
double 
dagi kabi) qo‘llash imkonini 
beradi. Biroq, bu sizning dasturingizni harakatchanligini kamaytiradi 
va odatda bunga yo‘l qo‘ymaslikka harakat qilish kerak.
Long 
turidagi modifikatori 
char, int 
va 
double 
turidagi 
ma’lumotlarga qo‘llaniladi. Bu, shuningdek, o‘zgaruvchilar bilan 
bog‘liq qiymatlar diapazonni oshiradi.
331


12.4-jadva!52 
M a’lu m o tlar tu rla ri va ularn in g m odifikatorlari
Chop
etish
Oralig'i
baytlar
tasvirlaydi
dan
gacha
char
- 128
127
1
belgili
signed
char
-128
127
1
belgili
unsigned
char
0
255
1
belgili
int
- 32,768
32,767
2
butun
sonlar
unsigned
int
0
65,535
2
butun
sonlar
long int
-2,147,483,648
2,147,483,648
4
butun
sonlar
unsigned 
long int
0
4,294,967,295
4
butun
sonlar
float
-3.4 e 38
3.4 e 38
4
haqiqiy
sonlar
double
-1.7 e 308
1.7 e 308
8
haqiqiy
sonlar
long
double
-3.4 e 4932
3.4 e 4932
10
haqiqiy
sonlar
Turli turdagi modifikatorlar yana birgalikda ham ishlatilishi
mumkin. Quyidagi misollar sizga modifikatorlar turlari haqida 
umumiy tasaw um i beradi: 
unsigned int no o f students;
unsigned long int factorial;
long double x;
52 J.B .D ixsit. “ F undam entals o f com puter program m ing and IT” 2011. 212 p.
332



Yüklə 10,74 Mb.

Dostları ilə paylaş:
1   ...   170   171   172   173   174   175   176   177   ...   269




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin