СС Тілдерінің элементтері
СС++ Тілдерінің элементтері.
Тілдің элементтері
Препроцессор директивалары Си тілінде жазылған программа текстінде кездесетін инструкциялар (нұсқаулар) препроцессор директивасы (ПД) деп аталады. Олар программа трансляцияланғанда дейін орындалады және программаның текстін өзгертуге мүмкіндік береді. Мысалы текстегі кейбір лексемдеуді өзгертуге басқа файлдан мәтінді қосу, мәтінің қанадай да бір бөлігімен орындауға, трансляциялауға шектеу қою т.б. Барлық процессор директивасы # таңбасымен басталады және соңынан нүктелі үтір(;) қойылмайды.
Түрлері:
1)# include директивасы.
Бұл программаға көрсетілген файлдағы мәліметтерді қосады. Бұл директиваның екі формасы бар:
#include "файл аты"
#include файл аты
Мұндағы Файл аты операциялық жүйелер талабына сай көрсетіледі,яғни тек файл атынан немесе оның маршрутымен алынған атауынан тұруы мүмкін. Егер файл аты тырнақшада берілсе, онда файл сәйкес көрсетілген маршуртпен анықталатын орыннан, ал ол көрсетілмесе жұмысшы каталогтан ізделеді. Егер файл аты бұрыштама жақшада ( ) берілсе, онда файл операциялық жүйенің PATH командасы арқылы берілген, стандартты директориясынан ізделеді. #include директивасы іштестірілген болуы мүмкін,яғни қосылатын файлда тағы кездесуі мүмкін. Көбінесе бұл программаға тақырыптық файлдарды қосу үшін қолданылады, яғни стандартты кітапханалық функциялар прототиптерінің тұратын файлдарды қосуға мүмкіндік береді .Сондықтан Си тіліндегі программа осы дериктивадан басталады.
2)#define директивасы.
#defaine - директивасы жиі қолданылатын тұрақтыларды, қызметші сөздерді, операторларды және өрнектерді кейбір идентификаторлармен ауыстыруға мүмкіндік береді. Сандық немесе текстік тұрақтыларды ауыстыратын идентификаторларды атаулы тұрақтылар (именованные константы) деп атайды.
Программа фрагменттерін алмастыратын идентификаторларды (макроопределения) макроанықтамалар деп атайды.
#defaine екі формасы бар:
* #defaine идентификатор текст
* #defaine идентификатор (программалар тізімі тексті)
Мысалы, #defaine WIDTH 80
#defaine LENGTH (WIDTH+10)
Бұл директивалар программа текстіндегі әрбір WIDTH сөзін 80 санына,ал LENGTH сөзін (80+10) өрісіне ауыстырады.
Макро анықтамалардағы жақшалар олардағы алмастырудың орындалу ретін анықтауға мүмкіндік береді. Мысалы, жақша болмасамына өрнек t=length+7 мынадай t=80+10*7 өрнекке ауыстырылады, ал қажетісі t=(80+10)*7 болатын, сондықтан жақша қойған дұрыс.
2-ші формасында формалды параметрлер тізімі көрсетіледі ,мұнда тізім үтір арқылы ажыратылып көрсетіледі, және макроанықтама текстіндегі алатын позициясын анықтайды.
Шақырғанда идентификатордан кейін формалды параметрлер санына сәйкес нақты аргументтер көрсетілуі тиіс.
Мысалы, #defaine MAX(x,y) ((x)(y))?(x):(y)
Бұл директива t=MAX(I,s[i]); фрагментін t=((i)(s[i]?(i):(s[i]); фрагментіне ауыстырады.
3)#undef- директивасы
Бұл директива #defaine директивасы қызметін қайтаруға қолданылады.
Яғни, идентификаторларға қолданылатын #defaine анықтамасы қызметін болдырмайды.
Мысалы,
#undef WIDTH
#undef MAX
Бұл директивалар WIDTH атаулы тұрақтысымен MAX макроанықтамасын болдырмайды.
Тақырыптық файлдар атаулары төмендегідей:
assert.h, float.h, math.h, ctype.h,
limits.h, setjmp.h, ... жалғасы
Тілдің элементтері
Препроцессор директивалары Си тілінде жазылған программа текстінде кездесетін инструкциялар (нұсқаулар) препроцессор директивасы (ПД) деп аталады. Олар программа трансляцияланғанда дейін орындалады және программаның текстін өзгертуге мүмкіндік береді. Мысалы текстегі кейбір лексемдеуді өзгертуге басқа файлдан мәтінді қосу, мәтінің қанадай да бір бөлігімен орындауға, трансляциялауға шектеу қою т.б. Барлық процессор директивасы # таңбасымен басталады және соңынан нүктелі үтір(;) қойылмайды.
Түрлері:
1)# include директивасы.
Бұл программаға көрсетілген файлдағы мәліметтерді қосады. Бұл директиваның екі формасы бар:
#include "файл аты"
#include файл аты
Мұндағы Файл аты операциялық жүйелер талабына сай көрсетіледі,яғни тек файл атынан немесе оның маршрутымен алынған атауынан тұруы мүмкін. Егер файл аты тырнақшада берілсе, онда файл сәйкес көрсетілген маршуртпен анықталатын орыннан, ал ол көрсетілмесе жұмысшы каталогтан ізделеді. Егер файл аты бұрыштама жақшада ( ) берілсе, онда файл операциялық жүйенің PATH командасы арқылы берілген, стандартты директориясынан ізделеді. #include директивасы іштестірілген болуы мүмкін,яғни қосылатын файлда тағы кездесуі мүмкін. Көбінесе бұл программаға тақырыптық файлдарды қосу үшін қолданылады, яғни стандартты кітапханалық функциялар прототиптерінің тұратын файлдарды қосуға мүмкіндік береді .Сондықтан Си тіліндегі программа осы дериктивадан басталады.
2)#define директивасы.
#defaine - директивасы жиі қолданылатын тұрақтыларды, қызметші сөздерді, операторларды және өрнектерді кейбір идентификаторлармен ауыстыруға мүмкіндік береді. Сандық немесе текстік тұрақтыларды ауыстыратын идентификаторларды атаулы тұрақтылар (именованные константы) деп атайды.
Программа фрагменттерін алмастыратын идентификаторларды (макроопределения) макроанықтамалар деп атайды.
#defaine екі формасы бар:
* #defaine идентификатор текст
* #defaine идентификатор (программалар тізімі тексті)
Мысалы, #defaine WIDTH 80
#defaine LENGTH (WIDTH+10)
Бұл директивалар программа текстіндегі әрбір WIDTH сөзін 80 санына,ал LENGTH сөзін (80+10) өрісіне ауыстырады.
Макро анықтамалардағы жақшалар олардағы алмастырудың орындалу ретін анықтауға мүмкіндік береді. Мысалы, жақша болмасамына өрнек t=length+7 мынадай t=80+10*7 өрнекке ауыстырылады, ал қажетісі t=(80+10)*7 болатын, сондықтан жақша қойған дұрыс.
2-ші формасында формалды параметрлер тізімі көрсетіледі ,мұнда тізім үтір арқылы ажыратылып көрсетіледі, және макроанықтама текстіндегі алатын позициясын анықтайды.
Шақырғанда идентификатордан кейін формалды параметрлер санына сәйкес нақты аргументтер көрсетілуі тиіс.
Мысалы, #defaine MAX(x,y) ((x)(y))?(x):(y)
Бұл директива t=MAX(I,s[i]); фрагментін t=((i)(s[i]?(i):(s[i]); фрагментіне ауыстырады.
3)#undef- директивасы
Бұл директива #defaine директивасы қызметін қайтаруға қолданылады.
Яғни, идентификаторларға қолданылатын #defaine анықтамасы қызметін болдырмайды.
Мысалы,
#undef WIDTH
#undef MAX
Бұл директивалар WIDTH атаулы тұрақтысымен MAX макроанықтамасын болдырмайды.
Тақырыптық файлдар атаулары төмендегідей:
assert.h, float.h, math.h, ctype.h,
limits.h, setjmp.h, ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz