7. Чизиқли жараёнларни дастурлаш
Download 478.36 Kb.
|
С да дастурлаш 1 кисм 1 семестр
- Bu sahifa navigatsiya:
- 6.4. Шарт директивалар ва улардан фойдаланиш
Биринчи ҳолда bac ягона идентификатор деб қаралиб макро алмаштириш амалга оширилмайди. Иккинчи ҳолда макрос аргументлари бўшлик белгилари билан ажратилган бўлиб, бу белгилар натижада ҳам сақланиб қолади. Учинчи ҳолда макрос учун “##” амали қўлланилгани учун натижада бўшлик белгиларсиз параметнлар уланади. 6.4. Шарт директивалар ва улардан фойдаланиш Шартли директива қуйидаги кўринишга эгадир: #if бутун сонли ифода текст_1 #else текст_2 #endif #else текст_2 қисми ишлатилиши шарт эмас. Директива бажарилганда #if дан сўнг ёзилган бутун сонли ифода қиймати ҳисобланади. Агар бу қиймат 0 дан катта бўлса, текст_1 компиляция қилинаётган матнга қўшилади, аксинча текст_2 қўшилади. Агар #else директиваси ва текст_2 мавжуд бўлмаса бу директива ўтказиб юборилади. #ifdef идентификатор директивасида #define директиваси ёрдамида идентификатор аниқланганлиги текширилади. Агар идентификатор аниқланган бўлса текст_1 бажарилади. #ifndef идентификатор директивасида аксинча шарт рост ҳисобланганда текст_2 бажарилади. Дастурга улаш мўлжалланган файлларнинг ҳар бирига битта файл уланиш уланиш мўлжалланган бўлса, бу файл бир неча марта дастурга уланиб қолади. Бу қайта уланишни олдини олиш учун стандарт файллар юқорида кўрилган директивалар ёрдамида ҳимоя қилингандир. Бу ҳимоя усули қуйидагича бўлиши мумкин. /* filename номли файл */ /* filename аниқланганлигини текшириш */ # ifdef FILE_NAME // уланаётган файл матни таърифи #define FILE_NAME #endif Тармоқланувчи шартли директивалар яратиш учун қуйидаги директива киритилган: #elif бутун_сонли_ифода Бу директива ишлатиладиган текст структураси: #if шарт текст #elif 1_ифода 1_текст #else текст #endif Препроцессор аввал #if дирктивасидаги шартни текширилади. Агар шарт 0 га тенг бўлса, 1_ифода ҳисобланади агар у ҳам 0 бўлса, 2_ифодани ҳисоблайди ва ҳоказо. Агар ҳамма ифодалар 0 бўлса, else учун кўрсатилган текст уланади. Агар бирор ифода 0 дан катта бўлса, шу директивада кўрсатилган текст уланади. Download 478.36 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling