1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot



Download 0,66 Mb.
bet62/121
Sana29.12.2021
Hajmi0,66 Mb.
#83735
1   ...   58   59   60   61   62   63   64   65   ...   121
Bog'liq
1 – dars. C Dasturlash tilining kelib chiqishi xaqida ma’lumot

49 - DARS. MAKROSLAR.
Makros ta'rifiga ko’ra bir simvollar ketma – ketligi bilan almashtirishdir. Eng sodda makro ta'rif

# define identifikator almashtiruvchi satr.

Bu direktiva yordamida foydalanuvchi asosiy tiplar uchun yangi nomlar kiritishi mumkin.

Masalan: # define Real Long double

Dastur matnida Long double tipidagi o’zgaruvchilarni Real sifatida ta'riflash mumkin.

Masalan: # define Range((int _ Max)-(int _ Min)+1)

Parametrli makrota'riflardan foydalanish yanada kengroq imkoniyatlar yaratadi:

# define nom (parametrlar ruyhati) almashtiriluvchi_qator

Bu erda nom – makros nomi.

Parametrlar ruyhati – vergul bilan ajratilgan identifikatorlar ruyhati.

Makrota'rifning klassik misoli :

# define max (a,b) (a

Bu makrosdan foydalanganda kompilyator max (a,b) ifodani (x
Yana bir klassik misol:

# define ABS(x) (x<0 ? –(x):x)

Misol uchun dasturdagi ABS(E-Z) ifoda (E-Z<0 ? (E-Z):E-Z) ifoda bilan almashtiriladi.

Makroslar ko’p o’lchovli massivlar bilan ishlashda yordam beradi. Matritsalar bilan ishlaganda quyidagi chegaralar mavjud. Jadvallarning birinchi indeksidan boshqa hamma indekslari elementlari soni ko’rsatilishi shart. Massivlar elementlari nomerlari 1 dan emas 0 dan boshlanadi.

Birinchi cheklanishdan kutulish yuli matritsa o’rniga bir o’lchovli massiv kiritish , lekin bu massiv bilan matritsa shaklida amallar bajarish. Bu vazifani makros bajarish imkoniyatini beradi. Makros ikkinchi chegarani engish imkonini ham beradi.

Misol:


# define N4

# define M5

# define A(I,j) x [M(I-1)+(j-1)]

# include

void main ()

{ double x[NM];

int I, j, k;

for (k=0 ; k

x[k]=k;

for (I=1; I<=N; I++)

{ Cout<< (“\n stroka%d: “,i);

for (j=1; j<=M; j++)

Cout<< (“% 6.1f “, A(I,j));

}

}



Dasturda Cout<< (“% 6.1f “, A(I,j)); ifoda makros joylashdan so’ng quyidagi ko’rinishga keladi.

Cout<< (“% 6.1f “, x[5(I-1)+(y-1)]);





Download 0,66 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   121




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish