Dasturlash tillarining tuzilmasi
Download 62.28 Kb.
|
2-mavzu
- Bu sahifa navigatsiya:
- Ternar operatori quyidagi shaklga ega
Toki va uchun buyruqlariga misollar
Binar amallar additiv yaʻni + qoʻshish va – ayirish amallariga, hamda multiplikativ, yaʻni * koʻpaytirish, / boʻlish va % modul olish amallariga ajratiladi. Butun sonni butun songa boʻlganda natija butun songacha yaxlitlanadi. Misol uchun, 20/3 = 6; (-20)/3 = -6; 20/(-3) = -6. Unar amallarga ishorani oʻzgartiruvchi unar minus “–” va unar plyus “+” amallari kiradi. Bundan tashqari inkrement “++” va dekrement “--” amallari ham unar amallarga kiradi. Ternar operatori quyidagi shaklga ega: amal1?amal2: amal3 exp1ifodasi har doim baholanadi. amal2 va amal3 bajarilishi amal1 natijasiga bogʻliq. Agar exp1 natijasi nolga teng boʻlmasa, exp2 baholanadi, aks holda exp3 baholanadi. Kamchiliklari: amal1 har qanday kamchiligi amal2 yoki amal3 dan oldin darhol baholanadi va yangilanadi. Boshqacha qilib aytganda, holatni uchlamchi nuqtai nazardan baholaganingizdan keyin ketma-ketlikda nuqta bor. Agar exp2 yoki exp3 kamchiligi boʻlsa, ulardan faqat bittasi baholanadi. Qaytish tipi: Ternar operatori qaytish tipiga ega. Qaytish tipi odatiy \ ortiqcha yuklangan konversiya qoidalariga muvofiq exp2 ga va exp3 ning exp2 ga konvertatsiyasiga bogʻliq. Agar ular oʻzgartirilmasa, kompilyator xato tashlaydi. Quyidagi misollarga qarang. Quyidagi dastur xatosiz kompilyatsiya qiladi. Uchlamchi iboraning qaytish tipi float(exp2 dagiday) boʻlishi kutilmoqda va exp3 (yaʻni, haqiqiy nol - tipi int) noaniq ravishda float shaklga oʻtkaziladi. #include
Quyidagi dastur kompilyatsiya qilmaydi, chunki kompilyator uchlamchi iboraning qaytariladigan tipini topa olmaydi, yoki exp2 (belgilar qatori) va exp3 (int) oʻrtasida yashirin konversiya mavjud emas. #include cout << test ? "A String" : 0 << endl; return 0; } Quyidagidasturkompilyatsiyaqilishimumkinmi?Yoki ish vaqtida ishlamay qoladimi?.
Download 62.28 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling