
- •4. Идентификаторлар. Түйінді сөздер. Тұрақтылар.
- •5. Функцияларды хабарлау және анықтау. Функцияның параметрлері. Рекурсивті функциялар.
- •6. Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар.
- •7.Программа құрылымы. Айнымалылар және өрнектер.
- •8. If, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы.
- •9.For, do while, while циклдік операторлары.
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар.
- •Int ivar,*iptr;
- •12. Қатарлар. Қатарларға қолданылатын функциялар
- •13. Typedef, enum қолданушы анықтайтын мәліметтер типтері.
- •14. Struct, union қолданушы анықтайтын мәліметтер типтері.
- •16. Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы.
- •17. Конструктор және оның қасиеттері. Көшіру конструкторлары.
- •18. Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары.
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •22. Мұрагерлік. Жай және көптік мұрагерлік.
- •23. Абстрактілі класс. Виртуалды функциялар.
- •24. Ағымдар. Стандартты, файлдық және қатарлық ағымдар.
- •25. Манипуляторлар. Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы. Итераторлар.
- •27. Тізбекті контейнерлер. Векторлар, кезектер.
- •28.Екі жақты кезектер, стектер, тізімдер
- •29. Ассоциативті контейнерлер. Сөздіктер. Жиындар.
- •30. Stl (Standard Template Library) кітапханасының құрылымы
1.С++ тілінің базалық жабдықтары. Препроцессор директивалары.
Кез-келген тілдегі мәтінде төрт негізгі элементті бөліп көрсетуге болады: символдар, сөздер, сөз тіркестері және сөйлемдер. Алгоритмдік тіл де осындай элементтерден тұрады: символдар, лексемалар, өрнектер, операторлар. Лексемалар символдардан, өрнектер лексемалардан және символдардан, ал операторлар символдардан, лексемалардан, өрнектерден тұрады (1-сурет):
Символдар- негізгі бөлінбейтін таңбалар;
Лексема- өзіндік мағынасы бар тіл бірлігі;
Өрнек- қандай да бір мәннің есептелу ережесі;
Оператор- қандай да бір істің аяқталған сипаттамасы
Тіл алфавиті: бас және кіші латын әріптері; 0-ден 9-ға дейінгі араб цифрлары; Арнайы белгілер: [] {} , . ( ) + - / * \ % ; : ? < > = ! & # ^ “ ' бос орынды символдар: бос орын (пробел), табуляция символы, жаңа жолға көшу символы
Символдардан лексемалар құралады:идентификаторлар; түйінді сөздер; операция таңбалары; тұрақтылар; бөлгіштер (жақша, нүкте, үтір, бос орынды символдар).
С++ тілінің мүмкіндіктері:
класстар, конструкторлар/деструкторлар.
класс шаблондары. Стандартты кітапханалар.
туынды класстар. Абстрактілі класстар.
операторларды қайта жүктеу.
орындалу кезінде типтік ақпаратқа қол жетімдік.
Препроцессор директивасы «#» таңбасымен басталады және соңынан нүктелі үтір (;) қойылмайды. Түрлері:
1) #include директивасы.
Бұл программаға көрсетілген файлдағы мәліметтерді қосады. Бұл директиваның екі формасы бар:
#include “басты файл “
# include <басты файл>
Егер «файл аты» тырнақшада берілсе, онда файл сәйкес көрсетілген маршрутпен анықталатын орыннан, ал ол көрсетілмесе жұмысшы каталогтан ізделеді. Егер файл аты бұрыштама жақшада (< >) берілсе, онда файл стандартты директориядан ізделеді.
Басты тақырыптық файлдар: iostream.h, assert.h, float.h, math.h, ctype.h, limits.h, setjmp.h, errno.h, locale.h, signal.h, stdarg.h, stddef.h, stdlib.h, string.h, time.h.
2) #define директивасы.
#define – директивасы жиі қолданылатын тұрақтыларды, қызметші сөздерді, операторларды және өрнектерді кейбір идентификаторлармен ауыстыруға мүмкіндік береді. Мысалы, #define WIDTH 80
#define LENGTH (WIDTH+10)
бұл директивалар программадағы әрбір WIDTH сөзін 80 санына, ал LENGTH сөзін (80+10) өрісіне ауыстырады.
3) #undef директивасы
Бұл директива #define директивасы қызметін қайтаруға қолданылады. Яғни, көрсетілген идентификаторларға қолданылатын #define анықтамасы қызметін болдырмайды.
2.Ағымдық енгізу-шығару және оларды пайдалану. С++ тілінің ерекшеліктері.
С++ тіліндегі ағымдық енгізу-шығару:
С++ тілінде <iostream.h> тақырыптық файлында анықталған енгізу-шығару операторлары (cin, cout) бар. С тілінде айнымалылар арнайы форматтар мен типтері анық көрсетілу арқылы орындалса, С++ тілінде << - операторы мәлімет типін және форматын таңдайды, ал >> - операторы қабылданатын мәннің адресін, форматын анықтайды.
С++-те де үш ағымдық класс қарастырылған:istream - енгізу;ostream - шығару; iostream - енгізу-шығару.Шығару: С-де:
printf (“ бүтін сан = %d, нақты = %f”, ia, fb);
Си++-те:
cout << “бүтін сан” <<ia <<“ нақты = “ <<fb;
Енгізу: Си-де
scanf (“%d %f”, &ia, &fb);
Си++-те:
cin >>ia >> fb;
Бұл жолдарда endl манипуляторы тіркелуі мүмкін.
Мысалы, cout << “бүтін сан = ” <<іа<<endl;
Манипулятор дегеніміз -ағымға қатысты нақты әрекет орындайтын арнайы функция.
endl манипуляторы – жаңа жол символын қоюмен қатар ағым буферін тазартады.
Ағымдық енгізу-шығаруды пайдалану
Cи: #include <stdio.h> #include <math.h> void main() {float a, b, c, p, s printf("na="); scanf("%f",&a); printf("\nb="); scanf("%f",&b); printf("\nc="); scanf("%f",&c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("\nүшбұрыш ауданы=%f", s); }
|
С++: #include <iostream.h> #include <math.h> main() {float a, b, c, p, s cout<<"na="; cin>>a; cout<<"\nb="; cin>>b; cout<<"\nc="; cin>>c; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout<<"\nүшбұрыш ауданы=“<< s); return 0;}
|
Айнымалыларды хабарлаудың негізгі формасы- ның түрі: Тип <айнымалылар_тізімі>; Мысалы: int x , y, z; Сипаттау кезінде айнымалыға бастапқы мән беруге болады, оны инициализация деп атайды. Инициализаторды екі түрлі формада беруге болады: теңдік белгісімен =мән немесе жай жақшамен (мән). Тұрақты хабарлау кезінде инициализациялануы тиіс. Мысалы: const char с=‘с’; Блок ішінде анықталған айнымалы жергілікті, ал блок сыртында анықталған айнымалы ауқымды деп аталады.
Кез-келген программада есептеулер жүргізіледі. Мәндерді есептеу үшін өрнектер қолданылады. Өрнектер операндтардан, операция таңбаларынан, жақшалардан тұрады. Әрбір операнд өз кезегінде өрнек, болмаса оның жеке жағдайы - тұрақты немесе айнымалы болып табылады. Өрнектің нәтижесі мәнмен немесе типпен сипатталады.
3. Тіл құрамы. Тіл алфавиті. Түсініктемелер. Кез-келген тілдегі мәтінде төрт негізгі элементті бөліп көрсетуге болады: символдар, сөздер, сөз тіркестері және сөйлемдер. Алгоритмдік тіл де осындай элементтерден тұрады: символдар, лексемалар, өрнектер, операторлар. Лексемалар символдардан, өрнектер лексемалардан және символдардан, ал операторлар символдардан, лексемалардан, өрнектерден тұрады (1-сурет):
Символдар- негізгі бөлінбейтін таңбалар;
Лексема- өзіндік мағынасы бар тіл бірлігі;
Өрнек- қандай да бір мәннің есептелу ережесі;
Оператор- қандай да бір істің аяқталған сипаттамасы.
Алгоритмдік тіл құрамы:
Тіл алфавиті:
бас және кіші латын әріптері;
0-ден 9-ға дейінгі араб цифрлары;
Арнайы белгілер: [] {} , . ( ) + - / * \ % ; : ? < > = ! & # ^ “ '
бос орынды символдар: бос орын (пробел), табуляция символы, жаңа жолға көшу символы
Символдардан лексемалар құралады:
идентификаторлар;
түйінді сөздер;
операция таңбалары;
тұрақтылар;
бөлгіштер (жақша, нүкте, үтір, бос орынды символдар).
Идентификаторлар– программалық объектінің аты. Әріп немесе сызық таңбасы идентификатордың бірінші символы болуы мүмкін, бірақ цифр бола алмайды.
Түйінді сөздер – компилятор үшін арнайы мәні бар резервтелген идентификаторлар.
Операция таңбалары– операндтарға қолда- нылатын бір немесе бірнеше символдар.
Тұрақтылар - өзгермейтін шамалар.
Комментарийлер – компилятор үшін маңызы жоқ программаның бөлігі және программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол // символынан басталады.
4. Идентификаторлар. Түйінді сөздер. Тұрақтылар.
Программалаудың көмегімен есептеулер жүргізуге, мәтіндерді өңдеу, графикалық бейнелерді тұрғызу,мәліметтерді сұрыптау және іздеуді жүзеге асыруға болады
Кез-келген тілдегі мәтінде төрт негізгі элементті бөліп көрсетуге болады: символдар, сөздер, сөз тіркестері және сөйлемдер. Алгоритмдік тіл де осындай элементтерден тұрады: символдар, лексемалар, өрнектер, операторлар. Лексемалар символдардан, өрнектер лексемалардан және символдардан, ал операторлар символдардан, лексемалардан, өрнектерден тұрады (1-сурет):
Символдар- негізгі бөлінбейтін таңбалар;
Лексема- өзіндік мағынасы бар тіл бірлігі;
Өрнек- қандай да бір мәннің есептелу ережесі;
Оператор- қандай да бір істің аяқталған сипаттамасы.
Тіл алфавиті:
бас және кіші латын әріптері;
0-ден 9-ға дейінгі араб цифрлары;
Арнайы белгілер: [] {} , . ( ) + - / * \ % ; : ? < > = ! & # ^ “ '
бос орынды символдар: бос орын (пробел), табуляция символы, жаңа жолға көшу символы
Символдардан лексемалар құралады:
идентификаторлар;
түйінді сөздер;
операция таңбалары;
тұрақтылар;
бөлгіштер (жақша, нүкте, үтір, бос орынды символдар).
Идентификаторлар– программалық объектінің аты. Әріп немесе сызық таңбасы идентификатордың бірінші символы болуы мүмкін, бірақ цифр бола алмайды.Түйінді сөздер – компилятор үшін арнайы мәні бар резервтелген идентификаторлар.Операция таңбалары– операндтарға қолда- нылатын бір немесе бірнеше символдар.Тұрақтылар - өзгермейтін шамалар.Комментарийлер – компилятор үшін маңызы жоқ программаның бөлігі және программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол // символынан басталады.
5. Функцияларды хабарлау және анықтау. Функцияның параметрлері. Рекурсивті функциялар.
Функция дегеніміз – белгілі бір операциялар тобын атқаратын программа блогы. Функцияға мəліметтер береміз де, одан белгілі бір нəтижелер аламыз. Функцияның ішкі əрекеті программаның басқа бөліктеріне қатыссыз орындалады. Програмада кем дегенде, бір функция болады жəне программадағы бір функцияның аты main болуы тиіс. Программаның орындалуы осы main функциясынан басталады. Main функциясының орындалуы барысында басқа функциялар шақырылады, ал олар одан да басқа функцияларды шақыруы мүмкін. Функция мынадай жалпы түрде сипатталады:
[<функция типі>] <функция аты> ([<формальды параметрлер спецификациясы>]) <функция тұлғасы>;
мұндағы [<функция типі>] – функцияның есептелетін нəтижесі типі;
<функцияның аты> – функция идентификаторы, яғни аты;
<формальды параметрлер спецификациясы> – бұл болмауы да мүмкін (void) немесе əрбір параметр спецификациясы: <типі> <параметр аты> – формальды параметрлердің типтерін жəне идентификаторларын анықтайды;
<функция тұлғасы> – орындалатын операторлар тізбегі жəне оның ішінде локальді айнымалының сипатталуы болуы мүмкін. Сонымен, функцияны хабарлау оның прототипін – аты жəне параметрлері саны мен типін программалық файлдың алдында жариялау болып табылады. Функцияны осылайша хабарлауды былай да көрсетуге болады: <нəтиже_типі><функция_аты>(<типі> <айнымалы> ,…, <типі> <айнымалы>);
Егер жай жақша ішінде жазылатын айнымалылар идентификаторлары көрсетілмесе, онда компилятор оларға арнап компьютер жадында тек орын қалдырады. Мұнда функция тұлғасы жайлы сөз болмайды.
Си тілінде функция өзін өзі шақырып та пайдалана алады, мұндай функция рекурсивті деп аталады. Берілген n бүтін санының факториалын есептейтін
(n!=1⋅2⋅3⋅…⋅n) рекурсивті функция мысалы:
fakt (int n)
{int b;
if (n == 0) return 1;
b = fakt(n-1)*n;
return n;}
Осы функцияны енгізілген n мəні үшін кез келген бүтін санның факториалын есептеуде қолданудың толық программасы төмендегі мысалда келтірілген.