C++ dasturlash tilida o’zgaruvchilar va ularning tiplari
Dastur tuzish mobaynida, hosil bo‘ladigan natijalar ma’lum bir joyda saqlanishi
lozim. Bu joy operativ xotiradir. Operativ xotira hajmi, dasturchilar uchun juda muhim
hisoblanadi. Bundan ko‘rinib turibdiki, dasturchilar «xotira» so‘zini ishlatishsa,
«operativ xotira» tushunilishi lozim. Bu xotirada qiymatlar(natijalar) ma’lum bir ism
bilan saqlanishi lozim(bo‘lmasa kerakli qiymatni u yerdan qanday topasiz), bu ism
dasturlashda «o‘zgaruvchi nomi» deyiladi.
C++ dasturlash tilida o‘zgaruvchilar haqida gaplashamiz. O‘zgaruvchilar —
ma’lum bir nomga va tipga ega bo‘lib, o‘zida qandaydir qiymatlarni saqlash uchun
ishlatiladi. Bu qiymatlar keyinchalik, o‘zgaruvchi nomi orqali chaqirib, ishlatilishi
mumkin bo‘ladi.
Xotira bir necha logik qisimlarga bo‘linadi, bu qismlar yacheyka deb yuritiladi.
Har bir yacheyka nomerlangan bo‘ladi va bu nomerlar xotira adresi deyiladi. Biz
o‘rganayotgan o‘zgaruvchilar, bitta yoki bir necha xotira adresini egallashi mumkin
bo‘ladi(albatta tipiga qarab). Har bir yacheyka 1 bayt o‘lchamida bo‘ladi.
28
C++ dasturlash tilida biror o‘zgaruvchi e’lon qilsangiz, albatta uning tipini
ko‘rsatishingiz kerak bo‘ladi. Shu tip orqali kompilyator xotiradan nechta yacheyka
ajratish kerakligini oldindan bilib oladi va shu joyni band qilib qo‘yadi. Agar int
tipidagi o‘zgaruvchi e’lon qilsangiz, kompilyator xotiradan 4 bayt joyni band qilib
qo‘yadi, toki bu o‘zgaruvchi bo‘shatilib, o‘chirib tashlamaguncha. [7,8]
C++ dasturlash tilida asosan 3 xildagi tip ishlatiladi: butun sonlar, haqiqiy sonlar
va simvol ko‘rinishidagi.
Butun sonlar musbat va manfiy raqamlardan tashkil topgan sonlardir, haqiqiy
sonlar esa kasr ko‘rinishidagi musbat va manfiy sonlardir. Simvollar esa tushunarli,
simvollardan tashkil topgan qiymatlardir. Quyida tiplarning to‘liq ro‘yxati (nomi,
hajmi, qiymati)ni ko‘rishingiz mumkin.
Ko‘rib turganingizdek, «unsignet» so‘zi o‘sha tipni barcha maksimum
qiymatlarini qo‘shib, faqat musbat qiymatlarni qabul qila olar ekan. Ba’zi
kompyuterlarda o‘zgaruvchi tiplari xotiradan xar hil yacheyka miqdorini olishi
mumkin(kompyuter razryadiga qarab). O‘zgaruvchi xotiradan nechi baytini band
29
qilishini aniq bilishi uchun, C++da «sizeof» nomli funksiya mavjud. keling shu
funksiyani misolda ko‘ramiz.
#include "stdafx.h"
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"bool - "<cout<<"int - "<cout<<"long int - "<cout<<"double - "<cout<<"float - "<cout<<"char - "<return 0;
Natija:
Natijadan ko‘rinib turibdiki, bu funksiya baytlarni aniq ko‘rsatib beradi.
Endi bu o‘zgaruvchilarni kod ichida qo‘llaymiz. Demak, bir nechta
o‘zgaruvchilarni e’lon qilamiz va amallar bajaramiz.
#include "stdafx.h"
#include
30
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int test1; test1 = 10;
short int test2=20;
long int test3, test4;
float test5, test6 = 1.5;test3 = test1+test2;
test4 = test3;
test5 = test6*2;cout <<"test1="<cout <<"test2="<cout <<"test3="<cout <<"test4="<cout <<"test5="<cout <<"test6="<return 0;
}
Natija:
Agar o‘zgaruvchi tipi qiymatga mos kelmasa xatolik chiqadi. Shuning uchun bir
son yoki simvol ishlatishdan oldin, o‘zgaruvchi tipini to‘g‘ri qo‘ying.
31
O‘zgaruvchi nomi sifatida harflar, sonlar, simvollar ishlatilishi mumkin.
O‘zgaruvchi nomining dastlabki simvoli harf bo‘lishi lozim. Undan keyin C++ tilining
xizmatchi so‘zlarini nom sifatida qo‘yish ham mumkin emas(if, while, cout).
C++ dasturlash tili registrni ham inobatga oladi, ya’ni katta kichik harflarning
farqi bor. Agar o‘zgaruvchi nomi sifatida «test«, «Test«, «TEST» so‘zlaridan
foydalanchangiz, bularning barchasi boshqa-boshqa o‘zgaruvchi hisoblanadi(katta-
kichik harflar farq qilgani uchun).[8,13]
Dostları ilə paylaş: |