2-ma’ruza mavzu: algoritmlash va dasturlashning asosiy tushunchalari



Download 0,93 Mb.
Pdf ko'rish
bet4/7
Sana26.01.2023
Hajmi0,93 Mb.
#903070
1   2   3   4   5   6   7
Bog'liq
2-dars

(C / C ++) Ternar operatori: 
Ternar operatori quyidagi shaklga ega:
amal
1
 : amal
2
 : amal
3
exp
1
ifodasi har doim baholanadi. 
amal
2
va 
amal
3
bajarilishi 
amal
1
natijasiga 
bogʻliq. Agar
exp
1
natijasi nolga teng bo‘lmasa,
exp
2
baholanadi, aks holda
exp
3
baholanadi. 
Kamchiliklari: 
amal
1
har qanday kamchiligi 
amal
2
yoki 
amal

dan oldin darhol baholanadi va 
yangilanadi. Boshqacha qilib aytganda, holatni uchlamchi nuqtai nazardan 
baholaganingizdan keyin ketma-ketlikda nuqta bor. Agar 
exp
2
yoki 
exp

kamchiligi 
bo‘lsa, ulardan faqat bittasi baholanadi. 
Qaytish turi: 
Ternar operatori qaytish turiga ega. Qaytish turi odatiy \ ortiqcha yuklangan 
konversiya qoidalariga muvofiq 
exp
2
ga va 
exp

ning 
exp

ga konvertatsiyasiga 
bogʻliq. Agar ular o‘zgartirilmasa, kompilyator xato tashlaydi. Quyidagi misollarga 
qarang. 


Quyidagi dastur xatosiz kompilyatsiya qiladi. Uchlamchi iboraning qaytish turi 
float
(
exp

dagiday) bo‘lishi kutilmoqda va 
exp
3
(ya'ni, haqiqiy nol - turi 
int
) noaniq 
ravishda 
float
shaklga o‘tkaziladi. 
#include 
using namespace std;
int main()
{
int test = 0;
float fvalue = 3.111f;
cout << (test ? fvalue : 0) << endl;
return 0;

Quyidagi dastur kompilyatsiya qilmaydi, chunki kompilyator uchlamchi iboraning 
qaytariladigan turini topa olmaydi, yoki 
exp

(belgilar qatori) va 
exp
3
(int) o‘rtasida 
yashirin konversiya mavjud emas. 
#include 
using namespace std;
int main()
{
int test = 0;
cout << test ? "A String" : 0 << endl;
return 0;
}
Quyidagi dastur kompilyatsiya qilishi “mumkin” yoki ish vaqtida ishlamay qolishi 
mumkin. Uchinchi iboraning qaytish turi (
char *
) turi bilan cheklangan, ammo 
int
ni 
qaytaradi, shuning uchun dastur xato bilan tugaydi. Haqiqatan ham, dastur ish vaqtida 
0-chi manzilga bir qatorni bosib chiqarishga harakat qiladi. 


#include 
using namespace std;
int main()
{
int test = 0;
cout << (test ? "A String" : 0) << endl;
return 0;
}

Download 0,93 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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