Автор работы: Пользователь скрыл имя, 28 Января 2015 в 14:08, курсовая работа
С++ бағдарламалау тілі 1980 жылы пайда болды. Оны құрастырған Бьяр Страуструп. Оның атауын ойлап тапқан Рик Масситти деген адам. Бұл Си атты бағдарламалау тілінің Си++ тіліне Эволюциялық түрде көшуін білдіреді. Си++-бұл Си тілінің объектігі бағытталған кеңейтілген түрі.
Си үшін базалық тіл ретінде Си-дің таңдалды,себебі ол:
• көпмақсатты, ықшамды және бір шама төмен деңгейлі;
• жүйелік бағдарламаудың мақсаттарының көбісіне жауап береді;
• UNIX бағдарламалау ортасында жарамды болып табылады;
Кіріспе 4
1 Программалау тілдері. Программалау тілдерінің жіктемесі 6
1.1 Программалау технологиялары 7
1.2 С/С++ программалау тілдерінің тарихына қысқаша шолу 8
1.3 С/С++ тілдерінің элементтері.Тұрақтылар 9
1.4 Тілдің элементтері 11
1.5 С/С++ тіліндегі типтер 12
1.6 Тұрақтылар 14
1.7 Глобалды және жергілікті айнымалылар 15
1.8 С++ тіліндегі еңгізу-шығару құралдары 15
1.9 С++ тіліндегі тәні еңгізу-шығару құралдары 17
1.10 С++ тілінде форматтап енгізу және шығару 18
1.11 С++ - тегі форматтап функциялары мен флагтары 20
1.12 С++ тіліндегі айнымалылар 21
2 Тәжрибиелік бөлім... 24
Қорытынды.. 25
Пайдаланылған әдебиеттер тізімі 26
Жоғарғы деңгейлі тілдерден Си тілінің ерекшеліктері:
Кемшілігі:
Мысалы, бір өрнекте (=) меншіктеу операторы бірнеше рет қолданылуы мүмкін. Сондықтан нәтижесінің типі түсініксіз және қиын анықталады. Бірақ оны қолдану арқылы тілдің қуаты арттылған.
С++ тілі Си тілінің толықтырылғын, яғни объектілі бағытталған программалау(ОБП) құралдарымен толықтырылған жиыны деуге болады.
Си және С++ тілдерінің айырмашылығы:
С/С++ тіліндегі программаның жалпы құрылысы
Си тіліндегі кез-келген программа main функциясынан тұрады. Мұның орындалу барысында басқа функциялар шақырылады. Функциялар арасындағы байланыс параметрлер арқылы беріліп функция мәнін қайтарып алу арқылы жүзеге асады.
Сонымен қатар Си тілінің компиляторында мәселені бірнеше бөлікке, файлдарға бөліп, әрқайсысын жеке-жеке трансляциялап, сосын оларды жеке бір орындалатын файлға, жинау мүмкіндігі бар, Жинақтау байланыс редакторының көмегімен жүзеге асырылады.
Программа құрылымы:
Кез-келген программа комментарийден басталады.Коментарийді Си тілінде <</*>>, <<*/>> белгілеріне алынып жазылған блок түрінде беруге болады.
Содан кейін процессор дерективасыорналасады. Препроцессор директивасы берілгенде кітапханалық файлда- тақырыптық файлда орналасқан кодты программаға қою нұсқасын береді. Мұндағы h кеңеймелі файлдар тақырыптық файлдар деп аталады. Тақырыптық файлдарда әртүрлі тұрақты мен таулар сипатталады. Функциялар прототиптері сақталады.
Препроцессор дерективасын кейін main функциясы сипатталған бөлігі орналасады.
Main функциясы барлық программада міндетті түрде болуы тиіс, одан программа орындалу басталып, Returm инструкциясышақырылғанда аяқталады.
Main функциясының денесі фигуралық жақшада орналасады.
Си тілінде барлық айнымалы оған программаның қандайда бір бөлігінен сілтеме жасалғанға дейін сипатталуы тиіс.
Препроцессор директивалары Си тілінде жазылған программа текстінде кездесетін инструкциялар (нұсқаулар) препроцессор директивасы (ПД) деп аталады. Олар программа трансляцияланғанда дейін орындалады және программаның текстін өзгертуге мүмкіндік береді. Мысалы текстегі кейбір лексемдеуді өзгертуге басқа файлдан мәтінді қосу, мәтінің қанадай да бір бөлігімен орындауға,трансляциялауға шектеу қою т.б. Барлық процессор директивасы <<#>> таңбасымен басталады және соңынан нүктелі үтір(;) қойылмайды.
Түрлері:
1)# include директивасы.
Бұл программаға көрсетілген файлдағы мәліметтерді қосады. Бұл директиваның екі формасы бар:
#include “файл аты”
#include <файл аты>
Мұндағы << Файл аты>> операциялық жүйелер талабына сай көрсетіледі,яғни тек файл атынан немесе оның маршрутымен алынған атауынан тұруы мүмкін. Егер <<файл аты>> тырнақшада берілсе, онда файл сәйкес көрсетілген маршуртпен анықталатын орыннан, ал ол көрсетілмесе жұмысшы каталогтан ізделеді. Егер файл аты бұрыштама жақшада (< >) берілсе, онда файл операциялық жүйенің PATH командасы арқылы берілген, стандартты директориясынан ізделеді. #include директивасы іштестірілген болуы мүмкін,яғни қосылатын файлда тағы кездесуі мүмкін. Көбінесе бұл программаға тақырыптық файлдарды қосу үшін қолданылады, яғни стандартты кітапханалық функциялар прототиптерінің тұратын файлдарды қосуға мүмкіндік береді .Сондықтан Си тіліндегі программа осы дериктивадан басталады.
2)#define директивасы.
#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, errno.h, locale.f,
signal.h, stdarg.h, stddef.h,stdio.h,
stdlib.h, time.h.
Кейбір тақырыптық файлдар мазмұны Стандартты кітапханалар ретінде және қарастырылады.
С немесе С++ тілдеріне мәндер төмендегідей базалық типтер бірімен бейнеленеді. Олар:
С/С++ тілі машинадан тәуелді тіл болғандықтан аталқан типтерге жадыдан бөлінетін орындар көлемі нақты атап көрсетілмейді. Дегенмен, шамамен сипаттау мүмкіндігі бар.
Сонымен қатар, базалық типтерге қолданылатын бірнеше квалификаторлар бар.
Квалификаторлар short (қышқаша) және long (ұзын) квалификаторы бүтін типтерге қолданылады:
Short int sh;
Long int counter;
Бұндай сипаттамалар int сөзін жазбауға болады. Көбінесе short квалификаторы арқылы сипатталғанбүтінге 16 бит бөлінеді, long квалификаторымен сипатталса – 32 бит, ал int типіне – не 16, не 32 бит бөлінеді.
Signed (таңбалы) және unsigned (таңбасыз)
квалификаторларын char типіне және
кез келген бүтін типке
Unsigned мәні әрқашан оң
немесе нөлге тең және 2n модулі
бойынша арифметика заңына
Мысалы, char мәніне 8 бит бөлінсе,онда unsigned char 0-ден 255-ке дейінгі дипазондағы мәнге,ал signed char -128-ден 127-ге дейінгі мәнге ие.
Барлық өлшемдегі атаулы тұрақтылар <limits.h> және <float.h> стандартты тақырыптық файлдарында орналасады.
Сонымен қатар, С тілінде екі кфалификатор бар: Const және Volatile Const-мәні өзгермейтін айнымалыларды , ал Volatile кез келген уақытта мәні өзгеретін айнымалыларды белгілеу үшін қолданылады.
Const-программа орындалу барысында өзгермейтін айнымалылар – тұрақтылылар деп аталады.
Сипатталуы:
Мысалы.Const float pi=3014159;
Const int imin=1, isale=5;
Тұрақтыны сипаттаудың екі тәсілін білеміз, Const және define; көпшілік жағдайда екеуі бірдей нәтиже береді, бірақ мынандай ерекшеліктері бар: define-макротұрақты, ал Const арқылы айнымалы құрылады.
Volatile бұл айнымалының
мәні сыртқы әрекеттер
Бұл жағдайда EV_time айнымалысы таймер,яғни жүйелік құрылғы арқылы өзгереді.
Бұл квалификаторлар бір уақытта қолданылуы мүмкін, мысалы, Const Volatile Const EV_time;
Программаның орындалу барысында мәні өзгермейтін шама – тұрақты деп аталады.
Бүтін тұрақты, мысалы, 1234, int типімен сипатталады. Long типті тұрақты 1 немесе L әрпімен аяқталады. Мысалы, 123456789L. Таңбасыз тұрақтылар u немесе U әрпімен аяқталады. Ал u немесе UL-мен аяқталатын тұрақтылар типі – unsigned long екенін көрсетеді.
Сонымен қатар, бүтін мән ондық форматта немесе басқа 8-дік немесе 16-лық форматта берілуі мүмкін. Егер тұрақты нөлден басталса , онда ол 8-дік форматта, егер 0х немесе 0Х болса, онда 16-лық форматта көрсетілген.
Мысалы, ондық бүтін , ондық бүтін 31-ді 037 немесе 0Х1F түрінде жазуға болады. 8-дік және 16-лық тұрақтылардың жазылуы L және U әрпімен аяқталуы мүмкін.
Информация о работе Программалау тілдері. Программалау тілдерінің жіктемесі