Mavzu: C++ kompilyatorlari va muhiti Dasturlash tillari bilan shug‘ullanadigan dasturchilar ba’zi bir terminlar bilan juda ko‘p to‘qnash kelishadi. C++ dasturlash tili ham bundan mustasno emas


Download 346.09 Kb.
bet8/12
Sana20.01.2023
Hajmi346.09 Kb.
#1103890
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
Algoritimga kirish Labaratoriya

6- Mavzu:C++ dasturlash tilida konstantalar(const, enum) va foydalanuvchi tiplari
C++ dasturlash tili o‘zgaruvchilarini o‘rganishni davom etamiz. Bu maqola, oldingi maqola(C++ dasturlash tilida o‘zgaruvchilar va ularning tiplari)ning davomi hisoblanadi. Bu va oldingi maqolalarni o‘qiganingizdan so‘ng, siz barcha o‘zgaruvchilar, ularning tiplari, o‘zgarmas(konstanta)lar, ularga oid ba’zi funksiyalar bilan to‘liq tanishgan bo‘lasiz.
Dastlab, konstantalar haqida yozib o‘taman. Nomidan ko‘rinib turibdiki, konstantalar o‘zgarmaslardir, ya’ni biror o‘zgaruvchi dasturda e’lon qilinib va qiymat berilib, keyinchalik bu o‘zgaruvchini o‘zgartirib bo‘lmasa bu o‘zgaruvchi konstanta deyiladi.
C++ dasturlash tilida simvolli konstantalarni 2 xil usulda e’lon qilish mumkin. Dastlabkisi «#define» nomli kalit so‘z orqali. Bu e’lon qilish eskirgan hisoblanadi, lekin ba’zi joylarda ishlatiladi. Misol ko‘ramiz.

1
2
3
4
5
6
7
8
9
10

#include "stdafx.h"
#include
using namespace std;
int main()
{
#define mytest 15;
cout<return 0;
// mytest=16; xato
}

NATIJA: 15
Agar mytest nomli konstantani o‘zgartirishga harakat qilsak, xatolik haqida ma’lumot chiqadi. Ko‘rib turganingizdek, e’lon qilishning bu turida konstanta tipi ko‘rsatilmayapti, bu degani qayerda «mytest» bo‘lsa, o‘shani o‘rniga 15 soni qo‘yib chiqiladi, konstanta ishlatilayotgan joyda konstantaning mos kelishi yoki kelmasligiga qarab o‘tirilmaydi.
Konstantani e’lon qilishning 2 usuli, «const» nomli kalit so‘z orqalidir. Bu turi zamonaviyroq va tushunarliroq hisoblanadi. Misol ko‘ramiz.

1
2
3
4
5
6
7
8
9

#include "stdafx.h"
#include
using namespace std;
int main()
{
const int mytest_1 = 15;
cout<return 0;
}

NATIJA: 15
Bu usulda konstanta tipi e’lon qilinmoqda. Bu orqali bir necha xatoliklarni oldini olish mumkin bo‘ladi. Kompilyator ham konstanta ishlatiladigan joylarni nazorat qilaoladi. Konstantalarni e’lon qilishda C++ning kalit so‘zlaridan foydalanmang(xatolik chiqadi).
C++ dasturlash tilida bir necha konstantalarni ketma-ket (перечислений — tarjimasini topmadim)e’lon qilib ketish mumkin. Bu ishni bajarishda bizga «enum» kalit so‘zi yordam beradi. Birdaniga misol ko‘ramiz.
enum club{manyunayted, mancity, liverpool, chelsea}
Bu qatorda, club nomli tip yaratilmoqda va shu tipga tegishli 4 ta konstanta(manyunayted,..) e’lon qilinmoqda. Bu konstantalarning qiymati «0» dan boshlab ketma-ket berib boriladi, ya’ni manyunayted=0, mancity=1, liverpool=2,… Dasturda ko‘ramiz:

1
2
3
4
5
6
7
8
9

#include "stdafx.h"
#include
using namespace std;
int main()
{
enum club{manyunayted, mancity, liverpool, chelsea};
cout<return 0;
}

NATIJA: 0 1 2 3
Manimcha hammasi tushunarli. Davom etamiz. Bu ketmaketlikni o‘zingiz buzib, boshqa qiymatlarni ham bersangiz bo‘ladi, misol uchun
enum club{manyunayted=200, mancity, liverpool=4, chelsea};
Bu holatda konstanta qiymatlar quyidagi sonlarni qabul qiladi:manyunayted=200, mancity=201, liverpool=4, chelsea=5. «Enum» kalit so‘zini ishlatmasdan quyidagicha ham e’lon qilish mumkin.
const int manyunayted=200;
const int mancity=201;
const int liverpool=4;
const int chelsea=5;
Bu dasturlash tilida, foydalanuvchi uzun bo‘lgan o‘zgaruvchi tiplarini, boshqa nom bilan atash orqali o‘ziga yengillik qilib olishi mumkin. Misol uchunshort int tipini mytype tipiga o‘zgartirish mumkin bo‘ladi. Buni bajarishda bizga «typedef» kalit so‘zi yordam beradi.

1
2
3
4
5
6
7
8
9
10
11

#include "stdafx.h"
#include
using namespace std;
typedef short int mytype;
int main()
{
mytype test_1 = 15;
int test_2 = 20;
cout<return 0;
}

NATIJA:35
C++ dasturlash tili bir nechta simvollarni, matnlarni tahrirlash uchun foydalanadi. Bu degani matn ichida shu simvollarni ishlatsangiz, bu simvollar tahrirlash vazifasini bajaradi. Bu maxsus simvollar quyidagilardan iborat.

Download 346.09 Kb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling