Belgi o‘zgarmaslar: Belgi o‘zgarmaslar qo‘shtirnoq (‘,’-apostroflar) ichiga olingan alohida belgilardan tashkil topadi va u char kalit so‘zi bilan aniqlanadi. Bitta belgi o‘zgarmas uchun xotirada bir bayt joy ajratiladi va unda butun son ko‘rinishidagi belgining ASCII kodi joylashadi. Quyidagilar belgi o‘zgarmaslarga misol bo’ladi:
‘e’, ‘@’ , ‘7’, ‘z’, ‘w’, ‘+’, ‘sh’, ‘*’ , ‘a’, ‘s’.
1.1-jadval. C++ tilida escape – belgilar jadvali
Ayrim belgi o‘zgarmaslar ‘\’ belgisidan boshlanadi, bu belgi birinchidan, grafik ko‘rinishga ega bo‘lmagan o‘zgarmaslarni belgilaydi, ikkinchidan, maxsus vazifalar yuklangan belgilar – apostrof belgisi, savol belgisini (?), teskari yon chiziq belgisini (\) va ikkita qo‘shtirnoq belgisini (“) chop qilish uchun ishlatiladi. Undan tashqari, bu belgi orqali belgini ko‘rinishini emas, balki oshkor ravishda uning ASCII kodini sakkizlik yoki o‘n oltilik shaklda yozish mumkin. Bunday belgidan boshlangan belgilar escape ketma-ketliklar deyiladi (1.1-jadval).
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 literli o‘zgarmaslardan foydalangan holda radius berilganda aylana yuzasini hisoblaydigan dasturni keltiramiz.
#include
int main (){
const double pi=3.1415;
const int radius=3;
double square=0;
square=pi*radius*radius;
cout<<square<<’\n’;
return 0; }
Dastur bosh funksiyasining boshlanishida ikkita – pi va radius o‘zgarmaslari e’lon qilingan. Aylana yuzasini aniqlovchi square o‘zgarmas deb e’lon qilinmagan, chunki u dastur bajarilishida o‘zgaradi. Aylana radiusini dastur ishlashida o‘zgartirish mo‘ljallanmagan, shu sababli u o‘zgarmas sifatida e’lon qilingan.
Dostları ilə paylaş: |