R. A. Ro‘ziyev, U. M. Mirsanov, F. J. Toxirov, L. S. Isroilova, H. N. Arziqulov
O‘zgaruvchilarni initsializatsiya qilish
Download 1.27 Mb.
|
C qo`llanma 29.06
O‘zgaruvchilarni initsializatsiya qilish
Initsializatsiya – bu o‘zgaruvchilar e’lon qilinganida, ularning boshlang‘ich qiymatini belgilashdir. Initsializatsiyada o‘zgaruvchiga berilgan qiymat o‘zgarmas bo‘lishi kerak. Umuman olganda, bir nechta o‘zgaruvchilarni e’lon qilishda, ulardan ixtiyoriy birini (yoki barchasini) initsializatsiya qilish mumkin. Masalan: int x, y=10, z; float x1=5.7, x2=1.3; unsigned int max=0; O‘zgaruvchini e’lon qilish kompyuter xotirasidan joy ajratilishiga olib keladi. Bunda xotiradagi ma’lumot o‘chmaydi va o‘zgaruvchining qiymati aniqlanmagan bo‘ladi. Initsializatsiya esa xotira yacheykasi ajratilganda, unga o‘zgaruvchining dastlabki qiymati yozilishiga olib keladi. Global va lokal o‘zgaruvchilar nolga yoki foydalanuvchi tomonidan aniqlangan boshlang‘ich qiymat bilan boshlanadi. Global o‘zgaruvchilar dastur boshlanganda bir marta ishga tushiriladi. Lokal o‘zgaruvchilar esa biror blok ichida qayta ishga tushiriladi. Masalan: for(int i=1; i<10; i++) { int k=0; k++; } С standartida siz o‘zgaruvchini faqat o‘zgarmas bilan boshlashingiz mumkin. C ++ dasturlash tilida esa nafaqat o‘zgarmas, balki oldin aniqlangan o‘zgaruvchilar qiymatlaridan foydalangan holda ham ifodani boshlash mumkin. Agar int yoki char turidagi qiymatlar, o‘zgaruvchining ma’lumotlar turini qiymatlari doirasidan tashqarida joylashgan o‘zgarmas bilan ishga tushirilsa, u holda o‘zgaruvchining qiymati, ma’lumot turining bitdagi hajmiga bo‘lgandagi qoldiqqa teng bo‘ladi. Masalan: char ch=260; Bunda ch o‘zgaruvchining qiymati 4 ga teng bo‘ladi. (char tipi xotiradan 8 bit joy egallaydi. Shu sababli, 260 ni 8 bo‘lsak 4 qoldiq hosil bo‘ladi). Agar float yoki double tipidagi qiymat o‘zgaruvchining ma’lumotlar turi diapazonining yuqori musbatidan katta yoki pastki manfiy chegarasidan kichik bo‘lgan o‘zgarmas bilan boshlanadigan bo‘lsa, u holda o‘zgaruvchining qiymati aniqlanmaydi, chunki xotirada joy qolmaydi. Agar o‘zgarmasni qiymati o‘zgaruvchining ma’lumotlar turi diapazoni pastki musbatidan yuqori va yuqori manfiy chegarasidan katta bo‘lsa, u holda o‘zgaruvchi nolga tenglashtiriladi. Masalan: float f1=5e-50, f2=5e+50;. Bunda f1 o‘zgaruvchi 0 qiymat qabul qiladi. f2 o‘zgaruvchiga esa + INF (cheksizlik) qiymat o‘zlashtiriladi. Agar int yoki char tipidagi belgilangan o‘zgaruvchiga, qiymati o‘zgaruvchining ma’lumotlar turi qiymatlari oralig‘ida bo‘lmagan qiymat bilan ishga tushirilsa, uning qiymati to‘ldiruvchi raqam sifatida qabul qilinadi. Masalan: short int x=65000; Bunda x o‘zgaruvchisi –536 qiymatiga ega bo‘ladi (short int tipi tarkibida –32767... 32767 oralig‘idagi 65536 ta son mavjud. Shu sababli, x=65000-65536= -536 qiymat qabul qiladi). Agar int yoki char tipidagi belgilanmagan o‘zgaruvchiga, qiymati o‘zgaruvchining ma’lumotlar turining oralig‘ida bo‘lmagan, lekin belgilangan bir xil qiymatlari oralig‘ida joylashgan o‘zgarmas bilan ishga tushirilsa, qiymat to‘g‘ridan-to‘g‘ri koddagi raqam sifatida ko‘rib chiqiladi va o‘zgaruvchiga berilgan qiymat musbat son bo‘ladi. Masalan: unsigned short a=-10; Bunda a o‘zgaruvchi 65526 qiymat qabul qiladi (a=65536-10=65526). Download 1.27 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling