С++ тіліндегі әртүрлі операциялар
Кіріспе 1
I. Унарлы операция 7
1.1. Адрестік операциялар 9
1.2. Белгіні өзгерту операциясы 10
1.3. Биттік операция 11
1.4. Көлемін анықтау операциясы 11
1.5. Операция арттыру және азайту 12
1.6. Жадты динамикалық реттеу операциясы 13
1.7. Қол жеткізу (доступ) операциясы 14
II. Бинарлы операция 14
2.1. Аддитивті(қолданбалы) операция 15
2.2. Мультипликативті операция 16
2.3. Жылжыту операциясы 16
2.4. Разрядтік операциялар 17
2.5. Салыстыру(қатынас) операциясы 19
2.6. Логикалық бинарлы операциялар 20
2.7. Меншіктеу операциясы 20
2.8. Меншіктеу операциялардың арнайы формалары 21
2.9. Құрылымдалған объектінің компоненттерін таңдау операциясы 24
2.10. Класс компоненттеріне жүгіну операциясы 24
2.11. Мәндерін есептеу процессін басқару, рет.ретімен есептеу операциясы 25
2.12. Функция шақыру операциясы 25
2.13. Типті анық түрлендіретін операциясы 26
2.14. Индексация операциясы 27
III. Үш операнды бар операция 27
Қорытынды 28
Қолданылған әдебиеттер 30
I. Унарлы операция 7
1.1. Адрестік операциялар 9
1.2. Белгіні өзгерту операциясы 10
1.3. Биттік операция 11
1.4. Көлемін анықтау операциясы 11
1.5. Операция арттыру және азайту 12
1.6. Жадты динамикалық реттеу операциясы 13
1.7. Қол жеткізу (доступ) операциясы 14
II. Бинарлы операция 14
2.1. Аддитивті(қолданбалы) операция 15
2.2. Мультипликативті операция 16
2.3. Жылжыту операциясы 16
2.4. Разрядтік операциялар 17
2.5. Салыстыру(қатынас) операциясы 19
2.6. Логикалық бинарлы операциялар 20
2.7. Меншіктеу операциясы 20
2.8. Меншіктеу операциялардың арнайы формалары 21
2.9. Құрылымдалған объектінің компоненттерін таңдау операциясы 24
2.10. Класс компоненттеріне жүгіну операциясы 24
2.11. Мәндерін есептеу процессін басқару, рет.ретімен есептеу операциясы 25
2.12. Функция шақыру операциясы 25
2.13. Типті анық түрлендіретін операциясы 26
2.14. Индексация операциясы 27
III. Үш операнды бар операция 27
Қорытынды 28
Қолданылған әдебиеттер 30
Компьютер эрасының барысында есептеу машинасының құлы болған етін. Сол кездердегі бағдарлама құрушылар өздерінің командаларын тек қана бір тілде жазуға мәжбүр болды, яғни тек қана екілік код түрінде жазды, сонымен бағдарламашылар нөл мен бірліктің ізбасары ретінде көрінді. Уақыт өте келе алгоритмдер де күрделіне түсті, сонымен бірге бағдарламалауға көп көңіл бөлу қажет болды. Осылайша көптеген қиыншылықтарды бастан кешіре келе өмірге Фортран, Бейсик, Паскаль сияқты әйгілі, жоғары сатылы тілдер пайда болды.
XXI – ғасыр адамзат дамуының жаңа сатысы – ақпаратты қоғамға өтумен сипатталады.
Қазіргі ақпарат заманында информация ағымын компьютер информацияны жеделдетіп өңдеудің негізгі құралы болып табылады. Инженерлік – техникалық, экономикалық есептерді шешу және мәліметтерді компьютер арқылы автоматтандырып өңдеу мықты программаларды талап етеді.
70-80 жылдары жаңа программалау тілдерінің стандарты болып бекітілген, үлкен қуатты иеленетін, эффективті және бейімді атағына ие болған С тілі пайда болған. Бұл тіл ең жоғарғы сатыдағы және компьютерде жұмыс істеуге өте тиімді тіл болып табылды.
1983 жылы жақсартылған С тілінің жаңа версиясы С++ әлемге келді. Сол уақыттан бастап тілдің қарқынды дамуы басталды. Бірнеше жылдардан өте ол қазіргі біздің кең пайдаланатын тіліне айналды.
С++ тілмен жұмыс істейтін көптеген әйгілі платформалар бар: Microsoft C++ (Dos,Windows), Borland, Visual C++ (Windows), GNUC++ (Linux), Xcode (iMac).
XXI – ғасыр адамзат дамуының жаңа сатысы – ақпаратты қоғамға өтумен сипатталады.
Қазіргі ақпарат заманында информация ағымын компьютер информацияны жеделдетіп өңдеудің негізгі құралы болып табылады. Инженерлік – техникалық, экономикалық есептерді шешу және мәліметтерді компьютер арқылы автоматтандырып өңдеу мықты программаларды талап етеді.
70-80 жылдары жаңа программалау тілдерінің стандарты болып бекітілген, үлкен қуатты иеленетін, эффективті және бейімді атағына ие болған С тілі пайда болған. Бұл тіл ең жоғарғы сатыдағы және компьютерде жұмыс істеуге өте тиімді тіл болып табылды.
1983 жылы жақсартылған С тілінің жаңа версиясы С++ әлемге келді. Сол уақыттан бастап тілдің қарқынды дамуы басталды. Бірнеше жылдардан өте ол қазіргі біздің кең пайдаланатын тіліне айналды.
С++ тілмен жұмыс істейтін көптеген әйгілі платформалар бар: Microsoft C++ (Dos,Windows), Borland, Visual C++ (Windows), GNUC++ (Linux), Xcode (iMac).
1. Культин Н. Б. С++ в задачках и примерах. – Санкт-Петербург. БХВ-Петербург, 2005.
2. Семакин И. Г., Шестаков А.П. – Основы программирования: Учебник. – Москва: Мастерство, 2002.
3. Крупинский Д., Уингоу С., Шеферд Дж.. Программирование на Microsoft Visual C++ 6.0 для профессионалов Перевод с англ. – Санкт-Петербург, Москва.: Издательство «Русская редакция», 2004.
4. С. Бобровский. Самоучитель программирования на языке С++ в системе Borland C++ Builder 5.0 Москва.: «I-Press» по заказу издательства «ДЕСС КОМ» 2001.
5. Секунов Н.Ю. Самоучитель Visual C++.NET – Санкт-Петербург.: БХВ-Петербург,2002.
6. Павловская Т.А., Щупак Ю.А. С++. Структурное программирование: Практикум. – Санкт-Петербург.:Питер, 2003.
7. Питер Торстеинсон, Роберт Оберг. Архитектура .NET и программирование с помощью Visual C++.: Перевод с англ. – Москва.: Издательский дом «Вильяме», 2002.
8. Дэвис, Стефан Р. С++ для «чайников», 4-е издание.: Перевод с англ. – Москва.: Издательский дом «Вильяме», 2003.
9. Фокс Дж. «Программное обеспечение и его разработка» М.: Мир, 1985
10. Керниган Б., Ритчи, Д., Фьюэр А. «Язык программирования Си» М.: Финансы и статистика, 1985.
11. Кондратюк Е. «С++ трюки и эффекты»
12. Атымтаева М.С. «Программалау тілінің алгоритмі» 2005.
13. Уэйт, Мартин Д. «Язык Си» 1988.
2. Семакин И. Г., Шестаков А.П. – Основы программирования: Учебник. – Москва: Мастерство, 2002.
3. Крупинский Д., Уингоу С., Шеферд Дж.. Программирование на Microsoft Visual C++ 6.0 для профессионалов Перевод с англ. – Санкт-Петербург, Москва.: Издательство «Русская редакция», 2004.
4. С. Бобровский. Самоучитель программирования на языке С++ в системе Borland C++ Builder 5.0 Москва.: «I-Press» по заказу издательства «ДЕСС КОМ» 2001.
5. Секунов Н.Ю. Самоучитель Visual C++.NET – Санкт-Петербург.: БХВ-Петербург,2002.
6. Павловская Т.А., Щупак Ю.А. С++. Структурное программирование: Практикум. – Санкт-Петербург.:Питер, 2003.
7. Питер Торстеинсон, Роберт Оберг. Архитектура .NET и программирование с помощью Visual C++.: Перевод с англ. – Москва.: Издательский дом «Вильяме», 2002.
8. Дэвис, Стефан Р. С++ для «чайников», 4-е издание.: Перевод с англ. – Москва.: Издательский дом «Вильяме», 2003.
9. Фокс Дж. «Программное обеспечение и его разработка» М.: Мир, 1985
10. Керниган Б., Ритчи, Д., Фьюэр А. «Язык программирования Си» М.: Финансы и статистика, 1985.
11. Кондратюк Е. «С++ трюки и эффекты»
12. Атымтаева М.С. «Программалау тілінің алгоритмі» 2005.
13. Уэйт, Мартин Д. «Язык Си» 1988.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 31 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 31 бет
Таңдаулыға:
Жоспар
Кіріспе 1
I. Унарлы операция 7
1.1. Адрестік операциялар 9
1.2. Белгіні өзгерту операциясы 10
1.3. Биттік операция 11
1.4. Көлемін анықтау операциясы 11
1.5. Операция арттыру және азайту 12
1.6. Жадты динамикалық реттеу операциясы 13
1.7. Қол жеткізу (доступ) операциясы 14
II. Бинарлы операция 14
2.1. Аддитивті(қолданбалы) операция 15
2.2. Мультипликативті операция 16
2.3. Жылжыту операциясы 16
2.4. Разрядтік операциялар 17
2.5. Салыстыру(қатынас) операциясы 19
2.6. Логикалық бинарлы операциялар 20
2.7. Меншіктеу операциясы 20
2.8. Меншіктеу операциялардың арнайы формалары 21
2.9. Құрылымдалған объектінің компоненттерін таңдау операциясы 24
2.10. Класс компоненттеріне жүгіну операциясы 24
2.11. Мәндерін есептеу процессін басқару, рет-ретімен есептеу операциясы 25
2.12. Функция шақыру операциясы 25
2.13. Типті анық түрлендіретін операциясы 26
2.14. Индексация операциясы 27
III. Үш операнды бар операция 27
Қорытынды 28
Қолданылған әдебиеттер 30
Кіріспе
Компьютер эрасының барысында есептеу машинасының құлы болған етін. Сол кездердегі бағдарлама құрушылар өздерінің командаларын тек қана бір тілде жазуға мәжбүр болды, яғни тек қана екілік код түрінде жазды, сонымен бағдарламашылар нөл мен бірліктің ізбасары ретінде көрінді. Уақыт өте келе алгоритмдер де күрделіне түсті, сонымен бірге бағдарламалауға көп көңіл бөлу қажет болды. Осылайша көптеген қиыншылықтарды бастан кешіре келе өмірге Фортран, Бейсик, Паскаль сияқты әйгілі, жоғары сатылы тілдер пайда болды.
XXI - ғасыр адамзат дамуының жаңа сатысы - ақпаратты қоғамға өтумен сипатталады.
Қазіргі ақпарат заманында информация ағымын компьютер информацияны жеделдетіп өңдеудің негізгі құралы болып табылады. Инженерлік - техникалық, экономикалық есептерді шешу және мәліметтерді компьютер арқылы автоматтандырып өңдеу мықты программаларды талап етеді.
70-80 жылдары жаңа программалау тілдерінің стандарты болып бекітілген, үлкен қуатты иеленетін, эффективті және бейімді атағына ие болған С тілі пайда болған. Бұл тіл ең жоғарғы сатыдағы және компьютерде жұмыс істеуге өте тиімді тіл болып табылды.
1983 жылы жақсартылған С тілінің жаңа версиясы С++ әлемге келді. Сол уақыттан бастап тілдің қарқынды дамуы басталды. Бірнеше жылдардан өте ол қазіргі біздің кең пайдаланатын тіліне айналды.
С++ тілмен жұмыс істейтін көптеген әйгілі платформалар бар: Microsoft C++ (Dos,Windows), Borland, Visual C++ (Windows), GNUC++ (Linux), Xcode (iMac).
Адамның қызметінің әр түрлі салаларында программаларды қолдану - бағдарламалық қамтамасыз етуді қажет етеді.
Құралды тіл ретінде С++-ті қолдану компактлі программаларды тезірек алуды қажет етеді. Көптеген жағдайда С++ тілінде жазылған программа ассемблер тілінде программа жылдамдығымен салыстырылады, яғни С++ есептеу операциялары тез орындалады. Оның ерекшеліктері:
құрылымдық программалауда операторлардың толық жиынтығын қамтамасыз етеді;
операциялардың үйреншіксіз үлкен жиынтығын ұсынады, операциялар машиналық кодқа сәйкес келеді, яғни бірден тура трансляцияға жібереді;
операциялардың көп түрлілігі нәтижелік кодтың минимизациясына қажетті әртүрлі жиынтықтарды таңдауға мүмкіндік береді;
айнымалылар мен функциялардың орындалуын қолдайды. Программа объектісіндегі көрсеткіш осы объектінің машиналық адресіне сәйкес келеді. Көрсеткіштерді біртіндеп қолдануды эффективті орындалатын программалар ретінде жүргізуге болады, яғни көрсеткіштер объектіде ЭЕМ істелінетін ең тиімді жолмен жүзеге асырылады. С++ арифметикалық көрсеткіштерді де қолдайды, сонымен бірге сақтаудың адресімен жеткіліксіз өлшемдер мен манипуляәиялауға мүмкіндік береді.
С++ тілін енгізу және оның кеңінен таралуы программалауды дамытуға маңызды кезең болып табылады. Бұл процедуралық-белгіленген тіл, жүйелік және қолданбалы программаларды жазу үшін қажетті жалпыға бірдей белгіленген стандартты сақтай отырып, программамен қамтамасыздандыру жоспарында жаңа технологиялық қадамдарға мүмкіндігі бар программалау практикасына енген және объектілі-белгіленген программалау деген атау алған.
Объектілі-белгіленген парадигманың программалау практикасына енуі информатика дамуының жаңа аймағын, таңдалған программаның технологиялық деңгейінің жоғарлауын, программаны жоспарлауда, орындауда, және қайта колдануда шығынды азайтуды, ЭЕМ мүмкіндіктерінің интеллектуалды кеңеюін береді.
С++ - бұл жалпыға белгіленген, өзінің эффективтілігімен, тиімділігімен және ауыспалығымен жақсы танымал программалау тілі. Оның көрсетілген дәрежелері тіпті программалық шығымның кез келген түрін жоспарлаудың жақсы сапасын қамтамасыз етеді.
С++ тілі BCPL және B тілдердің негізінде құралған Си тілінен дамыған. BCPL тілі компилятордан жазуға және операциялық жүйені бағдарламамен қамтамасыз етуге арналған. Бұл тілді 1967 жылы Мартин Ричард ойлап тапқан. Кен Томпсон B тілінің көптеген мүмкіндіктерін BCPL дубликатында және В тілін UNIX операциялық жүйелерінің алғашқы версияларын құру үшін 1970 жылы Bell laboratories-те DEC PDP-7 компютерінде қолданылды. BCPL және B тілдердің қолданылуы тиімсіз болды. Онда мәліметтің әрбір элементі жадыда бір сөздің орнын алады және мәлімет элементтерін өңдеуде ауыртпалығын тигізеді.
1980 жылы Бьерн Строустроп С++ бағдарламалау тілін әлемге танытқан. Си тілінің бірқатар қасиеттерін реттеуді қамтамасыз етеді және ең маңыздысы объектіге-бағытталған бағдарламалық мүмкіндік береді. Бұл бағдарламалық тіл әлемде революциялық идея танытты.
С++ тілінде объектілерге әртүрлі операциялар қолданылуы мүмкін:
меншіктеу операциясы;
қарым-қатынас операциясы;
арифметикалық;
логикалық;
ығысу операциясы.
Бұл операциялардың орындалу нәтижесі - сан.
Операциялардың үш түрі бар: унарлы, бинарлы, тернарлы.
Унарлы бір, бинарлы екі, ал унарлы үш объектіге немесе операндқа қолданылады. Тернарлы операция - шартты.
Операцияның ішінде қолданылатын белгілер - операнд деп аталады.
Операцияларды өспелі тізбек ретінде қарастырамыз: ең кішіден, ең үлкенге.
Сонымен, С++ тілінде әр операциялардың орындалу реті бар. Оны тағы басқаша, приоритет деп атайды. Ол операциялардың өзінен кейін басқа операция қатар-қатар, рет-ретімен орындау тәртібі болып табылады.
С++ тілінде оператор дегеніміз - нүктелі үтірмен аяқталатын код жолы. Оператор, операнд пен операцияны шатаспайық, әрбірінің қолданылатын облысы бар.
Мысалға, келесі операторды алайық:
y = x + 5;
Бұл жерде екі түрлі операция орындалады: қосу және меншіктеу. Қосу операциясы бірінші орындалып, одан кейін алынған нәтиже меншіктеледі.
Ассоциативтілік екі түрлі: солдан оңға және оңнан солға қарай орындалатын деп бөлінеді. Ол тек екі бірдей ретімен орындалатын операциялар болғанда ғана көмекке келеді.
Мысалы:
y = x + z + 5;
Қосу операциясы солдан оңға қарай орындалады.
y = x = z = 5;
Ал, меншіктеу операциясы оңнан солға қарай.
Әр операция бір нәтижені қайтарады. Мысал:
5 + 2
Бұл операция 7 санын қайтарады. Тағы бір мысал:
y = 5 + (x = 3);
Біріншіден жақшадағы меншіктеу операциясы орындалып, ол 3 санын қайтарады. Одан кейін, бұл қайтарылған сан қосу операциясында оң жақта қолданылады. Қосу операциясы 8 санын қайтарады. Нәтижесі y-ке меншіктеледі.
Нәтиже тек бүтін сандардан тұрмайды, кей операциялар буль сандарын қайтарады.
Мысалы:
x == 5;
Егер x 5-ке тең болса 1 санын(true-ақиқат), басқа жағдайда 0(false-жалған) нәтижесін қайтарады.
Орын тәртібі кестесі.
Рет
Операция
Анықтама
17
::
Контекст
16
-
класс мүшелеріне түзу емес доступ
16
.
нүкте операциясы
16
[]
массив индексі
16
()
Функция шақыру
15
++ --
инкремент пен декремент
15
~
разрядты ЖОҚ
15
!
логикалық ЖОҚ
15
-
Унарлы минус
15
*
Атын алу операциясы
15
new delete
Жадыға кіретін белгілеу
14
.*
Нұсқауға доступ
13
* %
Көбейту,бөлу,қалдығын алу
12
+ -
Қосу,азайту
11
Разрядты оңсол жаққа жылжыту
10
= =
шартты операциялар
9
== !=
Тең екендігін тексеру
8
&
Разрядты ЖӘНЕ
7
^
разрядты алып тастайтын НЕМЕСЕ
6
разрядты НЕМЕСЕ
5
&&
логикалық ЖӘНЕ
4
логикалық НЕМЕСЕ
3
?:
шартты операция
2
= *= = %= += -=
Меншіктеу операциясы
2
= =
Итеру разрядты операциясы меншіктеумен
2
&= = ^=
разрядты логикалық операция меншіктеумен
1
,
Үтір
I. Унарлы операция
&
операнданың адресін алу операциясы
int i;
int *i_ptr;
i_ptr = &i
*
Адрес бойынша меншіктеу немесе нұсқау, ссылка ашу, болмаса операция атын алып тастайды (операнд көрсеткен объектінің адресіне доступ). Операнд боп адрес болады;
*i_ptr = 10; i = 10
-
унарлы минус - арифметикалық операндтың белгісін өзгертеді;
+
унарлы плюс (унарлы минуспен симметриялы);
~
бүтін санды аргументіне разрядты ішкі екілік кодты енгізу (биттік теріс);
!
логикалық мойындамау (ЖОҚ); скалярлық операндтарда; бүтін санды нәтиже 0 (егер операнд нөлдік емес, яғни ақиқат) немесе 1 (егер операнд нөлдік, яғни жалған).Логикалық нәтиженің орнына С++ тілінде бүтін сандар қолданылады: 0 - жалған и не нуль (!0) - ақиқат. Кез келген нөлдік емес санның мойындамауы 0, ал нөлдік болса, 1 болады. Яғни: !lтең 0; !2 тең 0; !(-5) тең 0; !0 тең 1;
++
Бірге арттыру (инкремент немесе автоарттыру):
префикстік операция - операнданың нәтижесін 1-ге арттыру қолданылмас бұрын;
постфикстік операция - қолданылған кейін.
Операнд константа бола алмайды немесе басқа оң жаққа кіретінін білдіреді. ++5 немесе 84++ жазылуы дұрыс емес. Операнд боп кез келген енгізулер бола алмайды. Мысалы, ++(j+k) дұрыс емес. Унарлы операцияның операнды ++ және -- әрқашан сол жаққа кіреді, мысалы, әртүрлі типтегі айнымалылар);
--
1-ге төмендету (декремент или автотөмендету). Қолданылу ережесі ++ операциясындай
sizeof
Көлемін анықтау операциясы (байт), операнды көрсетілген типтегі объект үшін. Екі түрлі форматта:
Sizeof унарлы_операция
sizeof(тип)
1.1. Адрестік операциялар
Бұл операциялар нұсқау типінде айнымалылармен жұмыс істеуге арналған. * операциясы нұсқау арқылы адрестелген шамаға жанама адрестейді. Операция нәтижесі операнд нұсқалған шама болып табылады. Нәтиже типі нұсқаумен адрестелген шама типі болады. Егер нұсқау мүмкін болмайтын адресте тұрса, нәтиже анықталмайды. Мүмкін болмайтын адрестер:
нөлдік нұсқау;
сілтеген кезде активті емес болған объектінің адресі;
объект типі түзетілмеген;
орындалатын бағдарламада қолданылмайтын.
& операциясы операндтың адресін береді. Операнд кез келген аты берілетін өрнек бола алады. Функция немесе массив аты да операнд бола алады. Бірақ, бұл жағдайда операция белгісі қажеті жоқ, себебі массив пен функция аттары адрес ретінде болады. Операцияның нәтижесі операндқа нұсқау болады. Нұсқаумен адрестлеген тип операнд типі болып табылады. Операция бит өрістері болған құрылым элементтеріне және жад классы register болатын объектіге қолданылмайды.
&
Операндтың адресін алу операциясы
Операнд боп кез келген l-белгі бола алады. Операция операнд сілтеген объектінің адресін немесе функциясын қайтарады. Register спецификаторы бар объект операция орындалмайды, себебі жадыда сақталмаған және анықталған адресі жоқ.
*
Операция адрес бойынша меншіктеу,нұсқау немесе жанама адрестеу
Операнд боп адресі бар белгі бола алады. Операция жанама адрестеудің тағы бір аты операция атау алу, ол объектінің атына қарамай орындалады.
1.2. Белгіні өзгерту операциясы
-
Операция унарлы минус
Операнд боп арифметикалық типі бар кез келген белгі бола алады. Операция оң таңбаны терістейді және керісінше.
+
Операция унарлы плюс
Операнд боп арифметикалық типі бар кез келген белгі бола алады. Операция дәл мағынада ештеңе жасамайды. Кейбір деректерде оның болуы унарлы минусқа симметриялы болсын деп енгізген деп түсіндіреді. Бірақ, симметрияның мағынасы формальді тілде толық түсіндірілген жоқ.
С++ тілінде теріс таңбаға меншіктеу мүмкіндігі бар (біз осындай интуитивтік операцияға назар аударамыз). Ұқыпты программистер бұл фактіні, айнымалыға оң таңба меншіктеуді, ерекше атап кетуге мүмкін. Сонымен, сол қызметке арнап унарлы плюс С++ тіліне енгізілген.
Формальді тілде әр лексемада өзінің аты мен қолданылу облысы бар. Бұда алдымызда айтып кеткен плюс операция болып табылады. Ары қарай унарлы операцияның симметрия түсінігінің мағынасы ашылады. Унарлы минус жұмыс істейді. Ол операндты -1-ге көбейтуге эквивалентті. Унарлы плюс операндты +1-ге көбейтуге эквивалентті. Ол ештеңе жасамайды.
1.3. Биттік операция
~
Операция инверттік(енгізу) немесе биттік терістеу
Операнд боп кез келген интегралды типтегі белгі бола алады. Операцияны екілік кодты биттік инверттік(енгізу).
!
Операция логикалық терістеу(мойындамау)
Операнд боп кез келген арифметикалық типтегі айнымалы бола алады. С++ тілінде логикалық мағынаны беру үшін, бүтін сандар, 0 - жалған, 1 - ақиқат, қолданылады. Және де, логикалық операцияларда нөлдік емес мағынадағы операнд 1 санымен беріледі. Сондықтан, нөлдік мағынаның терістеуі 1, ақиқат, ал нөлдік емес болса, 0, жалған, деп белгіленеді.
1.4. Көлемін анықтау операциясы
sizeof
объектінің, типінің көлемін анықтау операциясы
С++ тілінде бұл операция екі түрде: бірінші жағдайда, кез келген бір мән операнд бола алады, бұл мән операция символының оң жағында жазылады, және бұл мәннің нәтижесі бір нақты объектінің байттағы көлемі болып табылады. Екінші жағдайда, операнд болып, типтің аты болады, бұл енгізу операция символынан соң жақша ішінде жазылады, бұл жағдайда нәтиже мәліметтер типінің байттағы көлемі болады. Бұл операцияның нәтижесі size_t типіндегі константа болады. Бұл туындалған бүтін санды белгісі жоқ тип нақты жүзеге асады.
1.5. Операция арттыру және азайту
++
Инкремент, немесе арттыру операциясы, бірлікке артады
Нақтылап айтсақ, белгілі бір мөлшерге, қысқартылған бірлікке артады, бәрі операнд типіне байланысты. Операция қосымша эффекті - операндтың нәтижесін өзгертеді. Сондықтан, тек сол жақтағы арифметикалық типтегі мән немесе бір типтегі нұсқау операнд бола алады. С++ тілінде префикстік және постфикстік инкремент деп бөлінеді.
Префикстік формада нәтиже табылуына дейін операндтың мәнін арттыруы жүреді. Нәтижесінде, операнд пен берілгендердің нәтижелері тең болады. Постфикстік формада нәтиже тапқаннан кейін операндтың мәнін арттыруы жүреді. Сондықтан, берілгендердің нәтижесі операндтан кіші болады. Префикстік операцияда инкремент белгісі сол жағында, ал постфиктік - оң жағында жазылады.
Инкремент операциясы нұсқауға қатысты операндтың мәнін байттық санын артады. Бұл жерде байттық сан сол типтегі объектінің ұзындығына, яғни, мөлшеріне, бірлікке тең.
--
Декремент, операнд мәнін бірлік мөлшеріне төмендеуазайту операциясы
Бұл операция инкрементке симметриялы. Дәл сондай қосымша эффект, операндқа тиісті шектеулер (сол жақтылық қасиет, арифметикалық тип немесе нұсқау типі, префикстік пен постфикстік формалар, адрестің мәнін өзгеруі).
Префикстік операцияда декремент белгісі операндттың сол жағында, ал постфикстік операцияда - оң жағында жазылады.
1.6. Жадты динамикалық реттеу операциясы
Динамикалық реттеудің екі түрлі операциясы бар: new, delete. Форматы: new тип_аты немесе new тип_аты (инициализатор)
Көлемі тип атымен анықталған мәлеметтер типіне сәйкестелген негізгі жадының ішіндегі бос орнын бөледі және қолжетімді етіп алады. Бөлінген орынға инициализатормен міндетті емес есептейтін мән енгізіледі. Орындалуы сәтті аяқтағанда, new операциясы жадыда бөлінген орнының адресін қайтарады. Егер керек болатын көлем бөлінбесе(жады жоқ), new операциясы нөлдік мән қайтарады. Қолданылу синтаксисі:
нұсқау = new тип_аты(инициализатор)
Мұндағы инициализатор - дөңгелек жақшадағы жадыда бөлген орнын жүктейтін өрнек, жазуға міндетті емес. Алынатын адрестің мәні меншіктелетін нұсқау new операциясында тип аты дәл сол мәліметтер типіне кіруі тиіс.
New-мен бөлінген орнын анық босату үшін delete. Форматы:delete нұсқау;
Мұндағы, нұсқау жадыда босатылатын орнын адрестейді. Массив үшін жадыда бөлінген орнын босату үшін, келесі оператор орындалады:
delete [] нұсқау;
Мұндағы, нұсқау массив жадыда бөлінген орнымен байланысқан.
new
Жадты белгілеу операциясы
Динамикалық жадыда орын бөлу үшін арналған. Операнд ретінде типтің аты мен, мүмкін, инициализатор өрнегі қолданылады. Операция объекттің жадында орналасқан адресті қайтарады.
delete
Жадты босату операциясы
Динамикалық жадыда бұрын орын бөлінген облысты босатады. Операнд ретінде жадыда босату облысының адресі қолданылады.
1.7. Қол жеткізу (доступ) операциясы
::
Доступ операциясы
Аты бар жадтың аясынан тыс орналасқан глобальді облысқа сілтеме жасауды қамтамасыз етеді. Бұл операция аттардың қолдану облысында орналасқан бір ғана аты бар объектімен жұмыс істейді. Егер де объект атының ішкі қолданылу облысында, файлда, бір аты ғана бар объектіні көрсетпесе, онда:
int m; Глобальді айнымалы
:::::
int mmm()
{int m; Локальді айнымалы
m = 100; Локальді айнымалын меншіктеу
::m = 125; Глобальді айнымалын меншіктеу}
Бұл операцияның орындалу мүмкіндігіне онша көп үміт артпаңыз. Операция тек глобальді, алдында берілген объектілерге, қолдану облысында кіретіні қарамастан, қолданылады. Сондықтан, ода транзитивті қасиет жоқ. ::(::(::m)) өрнегі транслятормен қате ретінде беріледі.
II. Бинарлы операция
Бұл операциялар келесі топтарға бөлінеді:
аддитивті;
мультипликативті;
жылжыту;
разрядті;
қатынас операциясы;
логикалық;
меншіктеу;
құрылымдалған объектінің компоненттерін таңдау;
класс компоненттерімен операциялар;
үтір операциясы;
жақша операциясы.
2.1. Аддитивті(қолданбалы) операция
+
Қосу операциясы
Операция арифметикалық типтегі операнд үшін қолданылады. Операндтардың біреуі нұсқау типінде беруі мүмкін. Кез келген жағдайда өрнектің мәні қосынды сумма немесе адрес суммасы мен берілген типінің көлеміне тең бүтін санды мән болады. Бүтін санды нұсқаудың қосынды нәтижесі, сәйкес келетін нұсқауға колданылған ... жалғасы
Кіріспе 1
I. Унарлы операция 7
1.1. Адрестік операциялар 9
1.2. Белгіні өзгерту операциясы 10
1.3. Биттік операция 11
1.4. Көлемін анықтау операциясы 11
1.5. Операция арттыру және азайту 12
1.6. Жадты динамикалық реттеу операциясы 13
1.7. Қол жеткізу (доступ) операциясы 14
II. Бинарлы операция 14
2.1. Аддитивті(қолданбалы) операция 15
2.2. Мультипликативті операция 16
2.3. Жылжыту операциясы 16
2.4. Разрядтік операциялар 17
2.5. Салыстыру(қатынас) операциясы 19
2.6. Логикалық бинарлы операциялар 20
2.7. Меншіктеу операциясы 20
2.8. Меншіктеу операциялардың арнайы формалары 21
2.9. Құрылымдалған объектінің компоненттерін таңдау операциясы 24
2.10. Класс компоненттеріне жүгіну операциясы 24
2.11. Мәндерін есептеу процессін басқару, рет-ретімен есептеу операциясы 25
2.12. Функция шақыру операциясы 25
2.13. Типті анық түрлендіретін операциясы 26
2.14. Индексация операциясы 27
III. Үш операнды бар операция 27
Қорытынды 28
Қолданылған әдебиеттер 30
Кіріспе
Компьютер эрасының барысында есептеу машинасының құлы болған етін. Сол кездердегі бағдарлама құрушылар өздерінің командаларын тек қана бір тілде жазуға мәжбүр болды, яғни тек қана екілік код түрінде жазды, сонымен бағдарламашылар нөл мен бірліктің ізбасары ретінде көрінді. Уақыт өте келе алгоритмдер де күрделіне түсті, сонымен бірге бағдарламалауға көп көңіл бөлу қажет болды. Осылайша көптеген қиыншылықтарды бастан кешіре келе өмірге Фортран, Бейсик, Паскаль сияқты әйгілі, жоғары сатылы тілдер пайда болды.
XXI - ғасыр адамзат дамуының жаңа сатысы - ақпаратты қоғамға өтумен сипатталады.
Қазіргі ақпарат заманында информация ағымын компьютер информацияны жеделдетіп өңдеудің негізгі құралы болып табылады. Инженерлік - техникалық, экономикалық есептерді шешу және мәліметтерді компьютер арқылы автоматтандырып өңдеу мықты программаларды талап етеді.
70-80 жылдары жаңа программалау тілдерінің стандарты болып бекітілген, үлкен қуатты иеленетін, эффективті және бейімді атағына ие болған С тілі пайда болған. Бұл тіл ең жоғарғы сатыдағы және компьютерде жұмыс істеуге өте тиімді тіл болып табылды.
1983 жылы жақсартылған С тілінің жаңа версиясы С++ әлемге келді. Сол уақыттан бастап тілдің қарқынды дамуы басталды. Бірнеше жылдардан өте ол қазіргі біздің кең пайдаланатын тіліне айналды.
С++ тілмен жұмыс істейтін көптеген әйгілі платформалар бар: Microsoft C++ (Dos,Windows), Borland, Visual C++ (Windows), GNUC++ (Linux), Xcode (iMac).
Адамның қызметінің әр түрлі салаларында программаларды қолдану - бағдарламалық қамтамасыз етуді қажет етеді.
Құралды тіл ретінде С++-ті қолдану компактлі программаларды тезірек алуды қажет етеді. Көптеген жағдайда С++ тілінде жазылған программа ассемблер тілінде программа жылдамдығымен салыстырылады, яғни С++ есептеу операциялары тез орындалады. Оның ерекшеліктері:
құрылымдық программалауда операторлардың толық жиынтығын қамтамасыз етеді;
операциялардың үйреншіксіз үлкен жиынтығын ұсынады, операциялар машиналық кодқа сәйкес келеді, яғни бірден тура трансляцияға жібереді;
операциялардың көп түрлілігі нәтижелік кодтың минимизациясына қажетті әртүрлі жиынтықтарды таңдауға мүмкіндік береді;
айнымалылар мен функциялардың орындалуын қолдайды. Программа объектісіндегі көрсеткіш осы объектінің машиналық адресіне сәйкес келеді. Көрсеткіштерді біртіндеп қолдануды эффективті орындалатын программалар ретінде жүргізуге болады, яғни көрсеткіштер объектіде ЭЕМ істелінетін ең тиімді жолмен жүзеге асырылады. С++ арифметикалық көрсеткіштерді де қолдайды, сонымен бірге сақтаудың адресімен жеткіліксіз өлшемдер мен манипуляәиялауға мүмкіндік береді.
С++ тілін енгізу және оның кеңінен таралуы программалауды дамытуға маңызды кезең болып табылады. Бұл процедуралық-белгіленген тіл, жүйелік және қолданбалы программаларды жазу үшін қажетті жалпыға бірдей белгіленген стандартты сақтай отырып, программамен қамтамасыздандыру жоспарында жаңа технологиялық қадамдарға мүмкіндігі бар программалау практикасына енген және объектілі-белгіленген программалау деген атау алған.
Объектілі-белгіленген парадигманың программалау практикасына енуі информатика дамуының жаңа аймағын, таңдалған программаның технологиялық деңгейінің жоғарлауын, программаны жоспарлауда, орындауда, және қайта колдануда шығынды азайтуды, ЭЕМ мүмкіндіктерінің интеллектуалды кеңеюін береді.
С++ - бұл жалпыға белгіленген, өзінің эффективтілігімен, тиімділігімен және ауыспалығымен жақсы танымал программалау тілі. Оның көрсетілген дәрежелері тіпті программалық шығымның кез келген түрін жоспарлаудың жақсы сапасын қамтамасыз етеді.
С++ тілі BCPL және B тілдердің негізінде құралған Си тілінен дамыған. BCPL тілі компилятордан жазуға және операциялық жүйені бағдарламамен қамтамасыз етуге арналған. Бұл тілді 1967 жылы Мартин Ричард ойлап тапқан. Кен Томпсон B тілінің көптеген мүмкіндіктерін BCPL дубликатында және В тілін UNIX операциялық жүйелерінің алғашқы версияларын құру үшін 1970 жылы Bell laboratories-те DEC PDP-7 компютерінде қолданылды. BCPL және B тілдердің қолданылуы тиімсіз болды. Онда мәліметтің әрбір элементі жадыда бір сөздің орнын алады және мәлімет элементтерін өңдеуде ауыртпалығын тигізеді.
1980 жылы Бьерн Строустроп С++ бағдарламалау тілін әлемге танытқан. Си тілінің бірқатар қасиеттерін реттеуді қамтамасыз етеді және ең маңыздысы объектіге-бағытталған бағдарламалық мүмкіндік береді. Бұл бағдарламалық тіл әлемде революциялық идея танытты.
С++ тілінде объектілерге әртүрлі операциялар қолданылуы мүмкін:
меншіктеу операциясы;
қарым-қатынас операциясы;
арифметикалық;
логикалық;
ығысу операциясы.
Бұл операциялардың орындалу нәтижесі - сан.
Операциялардың үш түрі бар: унарлы, бинарлы, тернарлы.
Унарлы бір, бинарлы екі, ал унарлы үш объектіге немесе операндқа қолданылады. Тернарлы операция - шартты.
Операцияның ішінде қолданылатын белгілер - операнд деп аталады.
Операцияларды өспелі тізбек ретінде қарастырамыз: ең кішіден, ең үлкенге.
Сонымен, С++ тілінде әр операциялардың орындалу реті бар. Оны тағы басқаша, приоритет деп атайды. Ол операциялардың өзінен кейін басқа операция қатар-қатар, рет-ретімен орындау тәртібі болып табылады.
С++ тілінде оператор дегеніміз - нүктелі үтірмен аяқталатын код жолы. Оператор, операнд пен операцияны шатаспайық, әрбірінің қолданылатын облысы бар.
Мысалға, келесі операторды алайық:
y = x + 5;
Бұл жерде екі түрлі операция орындалады: қосу және меншіктеу. Қосу операциясы бірінші орындалып, одан кейін алынған нәтиже меншіктеледі.
Ассоциативтілік екі түрлі: солдан оңға және оңнан солға қарай орындалатын деп бөлінеді. Ол тек екі бірдей ретімен орындалатын операциялар болғанда ғана көмекке келеді.
Мысалы:
y = x + z + 5;
Қосу операциясы солдан оңға қарай орындалады.
y = x = z = 5;
Ал, меншіктеу операциясы оңнан солға қарай.
Әр операция бір нәтижені қайтарады. Мысал:
5 + 2
Бұл операция 7 санын қайтарады. Тағы бір мысал:
y = 5 + (x = 3);
Біріншіден жақшадағы меншіктеу операциясы орындалып, ол 3 санын қайтарады. Одан кейін, бұл қайтарылған сан қосу операциясында оң жақта қолданылады. Қосу операциясы 8 санын қайтарады. Нәтижесі y-ке меншіктеледі.
Нәтиже тек бүтін сандардан тұрмайды, кей операциялар буль сандарын қайтарады.
Мысалы:
x == 5;
Егер x 5-ке тең болса 1 санын(true-ақиқат), басқа жағдайда 0(false-жалған) нәтижесін қайтарады.
Орын тәртібі кестесі.
Рет
Операция
Анықтама
17
::
Контекст
16
-
класс мүшелеріне түзу емес доступ
16
.
нүкте операциясы
16
[]
массив индексі
16
()
Функция шақыру
15
++ --
инкремент пен декремент
15
~
разрядты ЖОҚ
15
!
логикалық ЖОҚ
15
-
Унарлы минус
15
*
Атын алу операциясы
15
new delete
Жадыға кіретін белгілеу
14
.*
Нұсқауға доступ
13
* %
Көбейту,бөлу,қалдығын алу
12
+ -
Қосу,азайту
11
Разрядты оңсол жаққа жылжыту
10
= =
шартты операциялар
9
== !=
Тең екендігін тексеру
8
&
Разрядты ЖӘНЕ
7
^
разрядты алып тастайтын НЕМЕСЕ
6
разрядты НЕМЕСЕ
5
&&
логикалық ЖӘНЕ
4
логикалық НЕМЕСЕ
3
?:
шартты операция
2
= *= = %= += -=
Меншіктеу операциясы
2
= =
Итеру разрядты операциясы меншіктеумен
2
&= = ^=
разрядты логикалық операция меншіктеумен
1
,
Үтір
I. Унарлы операция
&
операнданың адресін алу операциясы
int i;
int *i_ptr;
i_ptr = &i
*
Адрес бойынша меншіктеу немесе нұсқау, ссылка ашу, болмаса операция атын алып тастайды (операнд көрсеткен объектінің адресіне доступ). Операнд боп адрес болады;
*i_ptr = 10; i = 10
-
унарлы минус - арифметикалық операндтың белгісін өзгертеді;
+
унарлы плюс (унарлы минуспен симметриялы);
~
бүтін санды аргументіне разрядты ішкі екілік кодты енгізу (биттік теріс);
!
логикалық мойындамау (ЖОҚ); скалярлық операндтарда; бүтін санды нәтиже 0 (егер операнд нөлдік емес, яғни ақиқат) немесе 1 (егер операнд нөлдік, яғни жалған).Логикалық нәтиженің орнына С++ тілінде бүтін сандар қолданылады: 0 - жалған и не нуль (!0) - ақиқат. Кез келген нөлдік емес санның мойындамауы 0, ал нөлдік болса, 1 болады. Яғни: !lтең 0; !2 тең 0; !(-5) тең 0; !0 тең 1;
++
Бірге арттыру (инкремент немесе автоарттыру):
префикстік операция - операнданың нәтижесін 1-ге арттыру қолданылмас бұрын;
постфикстік операция - қолданылған кейін.
Операнд константа бола алмайды немесе басқа оң жаққа кіретінін білдіреді. ++5 немесе 84++ жазылуы дұрыс емес. Операнд боп кез келген енгізулер бола алмайды. Мысалы, ++(j+k) дұрыс емес. Унарлы операцияның операнды ++ және -- әрқашан сол жаққа кіреді, мысалы, әртүрлі типтегі айнымалылар);
--
1-ге төмендету (декремент или автотөмендету). Қолданылу ережесі ++ операциясындай
sizeof
Көлемін анықтау операциясы (байт), операнды көрсетілген типтегі объект үшін. Екі түрлі форматта:
Sizeof унарлы_операция
sizeof(тип)
1.1. Адрестік операциялар
Бұл операциялар нұсқау типінде айнымалылармен жұмыс істеуге арналған. * операциясы нұсқау арқылы адрестелген шамаға жанама адрестейді. Операция нәтижесі операнд нұсқалған шама болып табылады. Нәтиже типі нұсқаумен адрестелген шама типі болады. Егер нұсқау мүмкін болмайтын адресте тұрса, нәтиже анықталмайды. Мүмкін болмайтын адрестер:
нөлдік нұсқау;
сілтеген кезде активті емес болған объектінің адресі;
объект типі түзетілмеген;
орындалатын бағдарламада қолданылмайтын.
& операциясы операндтың адресін береді. Операнд кез келген аты берілетін өрнек бола алады. Функция немесе массив аты да операнд бола алады. Бірақ, бұл жағдайда операция белгісі қажеті жоқ, себебі массив пен функция аттары адрес ретінде болады. Операцияның нәтижесі операндқа нұсқау болады. Нұсқаумен адрестлеген тип операнд типі болып табылады. Операция бит өрістері болған құрылым элементтеріне және жад классы register болатын объектіге қолданылмайды.
&
Операндтың адресін алу операциясы
Операнд боп кез келген l-белгі бола алады. Операция операнд сілтеген объектінің адресін немесе функциясын қайтарады. Register спецификаторы бар объект операция орындалмайды, себебі жадыда сақталмаған және анықталған адресі жоқ.
*
Операция адрес бойынша меншіктеу,нұсқау немесе жанама адрестеу
Операнд боп адресі бар белгі бола алады. Операция жанама адрестеудің тағы бір аты операция атау алу, ол объектінің атына қарамай орындалады.
1.2. Белгіні өзгерту операциясы
-
Операция унарлы минус
Операнд боп арифметикалық типі бар кез келген белгі бола алады. Операция оң таңбаны терістейді және керісінше.
+
Операция унарлы плюс
Операнд боп арифметикалық типі бар кез келген белгі бола алады. Операция дәл мағынада ештеңе жасамайды. Кейбір деректерде оның болуы унарлы минусқа симметриялы болсын деп енгізген деп түсіндіреді. Бірақ, симметрияның мағынасы формальді тілде толық түсіндірілген жоқ.
С++ тілінде теріс таңбаға меншіктеу мүмкіндігі бар (біз осындай интуитивтік операцияға назар аударамыз). Ұқыпты программистер бұл фактіні, айнымалыға оң таңба меншіктеуді, ерекше атап кетуге мүмкін. Сонымен, сол қызметке арнап унарлы плюс С++ тіліне енгізілген.
Формальді тілде әр лексемада өзінің аты мен қолданылу облысы бар. Бұда алдымызда айтып кеткен плюс операция болып табылады. Ары қарай унарлы операцияның симметрия түсінігінің мағынасы ашылады. Унарлы минус жұмыс істейді. Ол операндты -1-ге көбейтуге эквивалентті. Унарлы плюс операндты +1-ге көбейтуге эквивалентті. Ол ештеңе жасамайды.
1.3. Биттік операция
~
Операция инверттік(енгізу) немесе биттік терістеу
Операнд боп кез келген интегралды типтегі белгі бола алады. Операцияны екілік кодты биттік инверттік(енгізу).
!
Операция логикалық терістеу(мойындамау)
Операнд боп кез келген арифметикалық типтегі айнымалы бола алады. С++ тілінде логикалық мағынаны беру үшін, бүтін сандар, 0 - жалған, 1 - ақиқат, қолданылады. Және де, логикалық операцияларда нөлдік емес мағынадағы операнд 1 санымен беріледі. Сондықтан, нөлдік мағынаның терістеуі 1, ақиқат, ал нөлдік емес болса, 0, жалған, деп белгіленеді.
1.4. Көлемін анықтау операциясы
sizeof
объектінің, типінің көлемін анықтау операциясы
С++ тілінде бұл операция екі түрде: бірінші жағдайда, кез келген бір мән операнд бола алады, бұл мән операция символының оң жағында жазылады, және бұл мәннің нәтижесі бір нақты объектінің байттағы көлемі болып табылады. Екінші жағдайда, операнд болып, типтің аты болады, бұл енгізу операция символынан соң жақша ішінде жазылады, бұл жағдайда нәтиже мәліметтер типінің байттағы көлемі болады. Бұл операцияның нәтижесі size_t типіндегі константа болады. Бұл туындалған бүтін санды белгісі жоқ тип нақты жүзеге асады.
1.5. Операция арттыру және азайту
++
Инкремент, немесе арттыру операциясы, бірлікке артады
Нақтылап айтсақ, белгілі бір мөлшерге, қысқартылған бірлікке артады, бәрі операнд типіне байланысты. Операция қосымша эффекті - операндтың нәтижесін өзгертеді. Сондықтан, тек сол жақтағы арифметикалық типтегі мән немесе бір типтегі нұсқау операнд бола алады. С++ тілінде префикстік және постфикстік инкремент деп бөлінеді.
Префикстік формада нәтиже табылуына дейін операндтың мәнін арттыруы жүреді. Нәтижесінде, операнд пен берілгендердің нәтижелері тең болады. Постфикстік формада нәтиже тапқаннан кейін операндтың мәнін арттыруы жүреді. Сондықтан, берілгендердің нәтижесі операндтан кіші болады. Префикстік операцияда инкремент белгісі сол жағында, ал постфиктік - оң жағында жазылады.
Инкремент операциясы нұсқауға қатысты операндтың мәнін байттық санын артады. Бұл жерде байттық сан сол типтегі объектінің ұзындығына, яғни, мөлшеріне, бірлікке тең.
--
Декремент, операнд мәнін бірлік мөлшеріне төмендеуазайту операциясы
Бұл операция инкрементке симметриялы. Дәл сондай қосымша эффект, операндқа тиісті шектеулер (сол жақтылық қасиет, арифметикалық тип немесе нұсқау типі, префикстік пен постфикстік формалар, адрестің мәнін өзгеруі).
Префикстік операцияда декремент белгісі операндттың сол жағында, ал постфикстік операцияда - оң жағында жазылады.
1.6. Жадты динамикалық реттеу операциясы
Динамикалық реттеудің екі түрлі операциясы бар: new, delete. Форматы: new тип_аты немесе new тип_аты (инициализатор)
Көлемі тип атымен анықталған мәлеметтер типіне сәйкестелген негізгі жадының ішіндегі бос орнын бөледі және қолжетімді етіп алады. Бөлінген орынға инициализатормен міндетті емес есептейтін мән енгізіледі. Орындалуы сәтті аяқтағанда, new операциясы жадыда бөлінген орнының адресін қайтарады. Егер керек болатын көлем бөлінбесе(жады жоқ), new операциясы нөлдік мән қайтарады. Қолданылу синтаксисі:
нұсқау = new тип_аты(инициализатор)
Мұндағы инициализатор - дөңгелек жақшадағы жадыда бөлген орнын жүктейтін өрнек, жазуға міндетті емес. Алынатын адрестің мәні меншіктелетін нұсқау new операциясында тип аты дәл сол мәліметтер типіне кіруі тиіс.
New-мен бөлінген орнын анық босату үшін delete. Форматы:delete нұсқау;
Мұндағы, нұсқау жадыда босатылатын орнын адрестейді. Массив үшін жадыда бөлінген орнын босату үшін, келесі оператор орындалады:
delete [] нұсқау;
Мұндағы, нұсқау массив жадыда бөлінген орнымен байланысқан.
new
Жадты белгілеу операциясы
Динамикалық жадыда орын бөлу үшін арналған. Операнд ретінде типтің аты мен, мүмкін, инициализатор өрнегі қолданылады. Операция объекттің жадында орналасқан адресті қайтарады.
delete
Жадты босату операциясы
Динамикалық жадыда бұрын орын бөлінген облысты босатады. Операнд ретінде жадыда босату облысының адресі қолданылады.
1.7. Қол жеткізу (доступ) операциясы
::
Доступ операциясы
Аты бар жадтың аясынан тыс орналасқан глобальді облысқа сілтеме жасауды қамтамасыз етеді. Бұл операция аттардың қолдану облысында орналасқан бір ғана аты бар объектімен жұмыс істейді. Егер де объект атының ішкі қолданылу облысында, файлда, бір аты ғана бар объектіні көрсетпесе, онда:
int m; Глобальді айнымалы
:::::
int mmm()
{int m; Локальді айнымалы
m = 100; Локальді айнымалын меншіктеу
::m = 125; Глобальді айнымалын меншіктеу}
Бұл операцияның орындалу мүмкіндігіне онша көп үміт артпаңыз. Операция тек глобальді, алдында берілген объектілерге, қолдану облысында кіретіні қарамастан, қолданылады. Сондықтан, ода транзитивті қасиет жоқ. ::(::(::m)) өрнегі транслятормен қате ретінде беріледі.
II. Бинарлы операция
Бұл операциялар келесі топтарға бөлінеді:
аддитивті;
мультипликативті;
жылжыту;
разрядті;
қатынас операциясы;
логикалық;
меншіктеу;
құрылымдалған объектінің компоненттерін таңдау;
класс компоненттерімен операциялар;
үтір операциясы;
жақша операциясы.
2.1. Аддитивті(қолданбалы) операция
+
Қосу операциясы
Операция арифметикалық типтегі операнд үшін қолданылады. Операндтардың біреуі нұсқау типінде беруі мүмкін. Кез келген жағдайда өрнектің мәні қосынды сумма немесе адрес суммасы мен берілген типінің көлеміне тең бүтін санды мән болады. Бүтін санды нұсқаудың қосынды нәтижесі, сәйкес келетін нұсқауға колданылған ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz