Файл: Кіріспе С программмалау тіліні пайда болу тарихы 1972 жылдан бастау алды.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 52
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Кіріспе
С++ программмалау тілінің пайда болу тарихы 1972 жылдан бастау алды. Жоғарғы және төменгі деңгейдегі тілдер кездесетiн бұл программаны Деннис Дитчи және Брайн Керниген деген ғалымдар жасап шығaрған. Бұл тілді кейінірек Американың Ұлттық стандарттау орталығы растады.(ANSI) 1980 жылы Бьярна Страуструптың қабілетіне байланысты ANSI – дің өкілі – С++ тілі пайда болды. Онда басқа да тілдердің жақсы жақтары көрініс тапты. С++ тілі С тіліне қарағанда программистке дәстүрлі құрылымдық және объектілік бағытталған программаларды жасауға мүмкіндік береді. С++ тілін қолданып жасалған программалық қамсыздандыру идентификаторлар, кілттік сөздер, функциялар, тұрақтылар, препроцессорлар, құрылымдар, массивтер және т.б элементтерден тұрады. С++ тілі – тасмалданатын тіл. Бұл ортада жазылған қолданбалы программалар бір компьютерден екінші компьютерге оңай тасмалданады. Сонымен қатар тіл - оңай компиляцияланатын тіл болып табылады. Ол жүйелік программаларда пайдаланылады. Программалауды объектілік тұрғыда жүргізу ХХ ғасырдың 80-шы жылдарының ортасынан бастап 90-шы жылдардың соңына дейінгі уақытты қамтиды. Объектіге бейімделген программалау программаны объектілер жиынтығы түрінде көрсетуге негізделген күрделі программалық қамсыздандыруды жасаудың технологиясы ретінде анықталады. Мұнда әрбір объект белгілі бір тип, яғни класс данасы болып табылады. Ал, кластар қасиеттердің мұрагерлікке байланысты иерархиялықты құрайды. Мұндай жүйедегі программалық объектілердің өзара әрекеті хабарлама жіберу көмегімен орындалады. Программаның объектілік құрылымы ең алғаш күрделі жүйелерді иметациялық модульдеудің simula (ХХ ғасыр 60-шы жылдар) қолданған болатын. Объектілік тұрғыда программалаудың Delphi, C++ Builden Visual C++ құралдары кеңінен таралған
С++ (дауысталуы си плас плас") 1983 жылы Bell Labs зертханасында Бьёрн Страустрап дамытқан бағдарламалау тілі. 2019 жылға қарай әлемдегі таралуы бойынша үшінші бағдарламалау тілі болып келеді. C++ өзінің ұзақ тарихында көптеген өзгерістерден өтіп, бүгінгі күнге өте жылдам, компиляцияланатын, көптеген кітапханаларға ие тілге айналды. C++ жоғарғы және төменгі деңгейдегі программалау тілдерінің қасиеттеріне ие.
Жалпы бөлім. С++ туралы жалпы түсінік
1.1 С++ тілінің шыққан тарихы
С++ тiлi BCPL және B тiлдердiң негiзiнде құралған және С тiлiнен дамы-ған. BCPL тiлi компилятордан жазуға және операциялық жүйенi бағдарламамен қамтамасыз етуге арналған. Бұл тiлдi 1967 жылы Мартин Ричард ойлап тапқан. Кен Томпсон В тiлiнiң көптеген мүмкiндiктерiн BCPL дубликатында және В тiлiн UNIX операциялық жүйелерiнiң алғашқы версияларын құру үшiн 1970 жылы Bell Laboratories-те DEC PDP-7 компьютерiнде қолданылды. BCPL және В тiлдерi қолдануға тиiмсiз болды. Онда мәлiметтiң әрбiр элементi жадыда бiр сөздiң орнын алады және мәлiмет элементтерiн өңдеуде бағдарламашыларға ауыртпалығын тигiздi.
С тiлi В тiлiнiң негiзiнде дамыды. С тiлiн Bell Laboratories-те 1972 жылы Деннис Ритчи DEC PDP-11 компьютерiнде жасады. С BCPL және В тiлдерiнiң көптеген маңызды концепцияларын және мәлiмет типтерiн және басқа да қасиеттерiн қолданды. С тiлi UNIX операциялық жүйесiн өңдеудегi тiл ретiнде кеңiнен танымал болды. Қазiргi таңда барлық операциялық жүйелер С және С++ тiлдерiнде жазылған. Соңғы он жылдықта С тiлi көптеген компьютерлерде қолайлы болды.
С++ - С тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. С++ тiлi С тiлiнiң бiрқатар қасиеттерiн реттеудi қамтамасыз етедi және ең маңыздысы объектi-бағдарланған бағдарламалық мүмкiндiгiн қамтамасыз етедi. Бұл бағдарламамен қамтамасыздандыру әлемiндегi революциялық идея болып табылады.
Басқада бағдарламалық тiлдер көптеген қажеттi эффект бере алмағандықтан, С++ алғашқыда ең жоғарғы деңгейдегi нақтылы оқиғалар үлгiлерiн өңдеу мақсаты үшiн құрылған тiл болды.
С++ тiлiн құруда С тiлiнiң сәйкестiгiн сақтап қалуға ерекше көңiл бөлiндi. С++ тiлiнiң көмегiмен кең көлемдi бағдарламалық проектiлер құруға болады. С++ тiлiнiң арқасында берiлген мәлiметтер типтерiне бақылауды күшейтуге және көптеген қосымша эффектiлердi жеңе алатын болдық. С++ тiлiнiң ең маңызды табысы объектi-бағдарланған бағдарламалау болып табылады. С++-тiң барлық жеңiлдiктерiн пайдалану үшiн негiзгi объектiлердi және олармен байланысқан операцияларды анықтап алу керек.
1.2 С++ тілінің ерекшеліктері
Көлемінің шағындығы
Тілдің командалар жиыны
Microsoft С/С++ нұсқасында С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз,оның компиляторын 256 Кб жады көлемі арқылы-ақ жазып шығуға болады.Мұндағы операциялық әрекеттер,олардың комбинациясы жетерлік, бірақ қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды, кейіннен ANSI C стандартында тағы бірнеше сөз қосылды, яғни тағы 19 командалар мен түйінді сөздер қосылды, соның нәтижесінде олар 66 болды. Командалар жыл сайын жанартулармен қосылуда.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ, мысалы, енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
Жылдам істейтіндігі
С++ компиляторлары жасаған программа кодтары шағын,әрі жылдам істейді,оның үстіне тілдің аппараттық құралдарға жақындығы ассемблер тіліменен қатар жылдамдықпен жұмыс істеуге мүмкіндік береді.
Типтері де күрделі емес
Паскальға қарағанда,мәліметтерді типтендіру мұнда төменгі деңгейде ,ол типтерді бір-біріне жеңіл ауыстырады.Мұндай қасиет В тілінен келді.Мысалы,программаның бір жерінде айнымалы символдық болса,ал басқа жерде оны символдың
ASCI –коды (одан 32-ні алып) ретінде қарастыруға болады.
Құрылымды тіл болғандығы
С++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар. 1971 жылдың өзінде-ақ жаңа ғана жасалған С++ тілі алғашқы құрылымдық программалау тілі ретінде танылған еді.Мұнда;for – цикл операторы, if және if-else конструкциясы, таңдау операторы (switch) және while циклы да бар.
Модульдік программалауды сүйемелдеуі
С++ тілінде жеке компиляциялау мен біріктіруден құралатын модульдік программалау концепциясы пайданылады.Мұнда тек программаның өзгертілген бөліктерін жеке компиляциялау мүмкіндігі бар.
Екілік разрядтағы өңдеуі
Жүйелік программалауда екілік разрядтарды өңдеу ісі жиі кездеседі.Әрине, UNIX операциялық системасымен тығыз байланыста пайда болған С++ тілінің екілік сандармен жұмыс істеу мүмкіндіктері өте зор.
Нұсқаушы айнымалылар
Операциялық жүйе тіліне қойылатын тағы бір талап — ол жады аймақтарын адрестеу мүмкіндігінің болуы. Мұндй мүмкіндік программа орындалуын жылдамдатады. С++ тілінде мұндай істі нұсқаушылар (указатели) атқарады және олармен арифметикалық амалдарды орындауға болады.
Құрылымы икемді тіл
С++ тіліндегі барлық массивтер — бір өлшемді. Көп өлшемді массивтер осы бір өлшемді массивтерден құрылады. Массивтер мен құрылымдар (жазбалар) бір – бірімен керекті түрде байланысып, мәліметтер базасын құрайды.
1.3 С++ тілінің алфавиті
1.4 С++ бағдарламалау тілінің типтері
2 Арнайы бөлім
2.1 С/С++ бағдарламалау тілінің негізгі операторлары
Арифметикалық операциялар символдар арқылы жазылады. С/C++ тілінде мынадай операциялар бар: *(көбейту), / (бөлу), % (модуль бойынша бөлу), + (қосу), - (азайту).
Модуль бойынша бөлу бүтін санды бүтін санға бөлген кедергі қалдықты анықтайды. Мысалы 20%3=2.
Меншіктеу операторы символдар арқылы жазылады. Кез келген ; таңбасымен аяқталатын өрнек меншіктеу операторы болып табылады. Өрнектің бір түріне бос оператор жатады,
С/C++ тілінде меншіктеу операторының бірнеше түрі бар. Жалпы меншіктеу операторының бірнеше түрі бар. Жалпы меншіктеу операторының жазылу форматы мынандай болады: <айнымалы> = <айнымалы> <операция> <өрнек>; Мұны С/C++ тілінде қысқаша былай жазуға болады: <айнымалы> <операция> = <өрнек>;
Төменде бірнеше мысал келтірілген.
a=a+b; à a+=b;
a=a*b; à a*=b;
a=a-b; à a-=b;
a=a/b; à a/=b;
Арттыру немесе кеміту (инкремент және декремент) операциялары ++ және - - түрінде жазылады. Бұлар кез келген операндтың мәндерін бірге арттыруға немесе кемітуге мүмкіндік береді.
Инкремент, яғни арттыру операциясы (++) және декремент (--) кеміту операциясы айнымалы мәнін бірге арттырады немесе кемітеді. Олар айнымалы мәнін өзгертеді, яғни жасырын түрдегі меншіктеу амалы болып табылады. Кейде олар жеке оператор түрінде жазылады: i++; ++i;
Бұл екеуі де мынадай амалмен бірдей болып саналады i=i+1;
Бұл екеуін өрнектерде жиі қолданылады. Мысалы: sum=sum+x* --i;
Оператор - компьютерге берілетін нұсқаудың машиналық тілде жазылуы. Оператор жәй және құрама оператор болып екіге бөлінеді.
Жәй оператор бір ғана нұсқауды орындайды және бір ғана жәй оператордан тұрады.
Құрама оператор бірнеше операторды жүйелік жақшаға алып біріктіру үшін қолданылады. Ол шартты және циклдік операторларда жиі қолданылады. Мысалы:
#include
#include
main()
{
int a=5, b=6, c=7, d;
clrscr();
d=(a++ - (--b)) + (c – a--);
printf(“d=%i a=%d”, d,a);
getch();
}
Программа жұмысын басқару операторлары программаның басқарушы конструкциясы деп аталады. Олар:
-
құрама операторлар;
-
таңдау операторлары;
-
цикл операторлары;
-
көшу операторлары.
Құрама операторларға жай құрама операторлар және блоктар жатады. Екеуі де жүйелі жақшаға алынып жазылады. Блокта жай құрама операторларға қарағанда, айнымалыларды сипаттау жолдары болады. Мысалы:
{ n++;
summa+=n;
}
{
int n=0;
n++;
summa+=n;
}
Қатынас операциялары. Қатынас операциялары екі мәнді салыстыру үшін қолданылады. С/C++ тіліндегі қатынас операциясының тізбегі мынадай: = =, !=, <, <=, >, >=.
Егер қарастырылатын қатынас нәтижесі ақиқат болса, шарттық өрнектің мәні 0-ге тең болады. Қатынас операциясының приоритеті арифметикалық операцияларға қарағанда, төмен және меншіктеу операторымен салыстырғанда жоғары болады. Ал қатынас операцияларын приоритеттеріне сәйкес етіп екі топқа бөлуге болады. Мұнда соңғы 4 операцияның приоритеті 1-ші және 2-ші операциялар приоритетімен салыстырғанда жоғары болады.
Логикалық операторлар. Екі немесе бірнеше шарттық өрнектерді біріктіру үшін логикалық операторлар қолданылады. С/C++ тілінде келесі логикалық операторлар бар:
-
және (&&) операциясы;
-
немесе (||) операциясы;
-
терістеу !(not) oперациясы.
Таңдау операторлары – бұлар шартты оператор және ауыстырғыш. Шартты оператор. Шартты операторлардың орындалу схемасы мен жалпы жазылуы:
іf (шарт)
1-оператор;
еlse
2-оператор;
Мұнда жақшадағы шарт түріндегі өрнек ақиқат болса, 1-оператор орындалады, әйтпесе 2-оператор атқарылады. Операторлар қарапайым немесе құрама болып жазылады. Оператордың қысқаша жазылу түрі
іf (шарт)
1-оператор;
Кейде қабаттасқан шартты операторлар кездеседі, мысалы:
іf (шарт)
1-оператор;
еlse
2-оператор;
еlse
3-оператор;
Мұнда егер 1-ші шарт ақиқат болса, 1-оператор орындалады, егер 1-шарт жалған болып, 2-ші шарт ақиқат болса, 2-оператор орындалады, ал 1-ші шарт және 2-шарт жалған болса, 3-оператор атқарылады.
Бос оператор мен құрама оператор
С/C++ тілінің барлық операторлары шартты түрде келесі категорияларға бөлінуі мүмкін:
-
шартты операторлары;
-
цикл операторлары;
-
өту операторлары;
-
басқа да операторлар.
Бос оператор ; таңбасынан тұрады. Бұл оператор орындалған кезде ешқандай әрекет орындалмайды. Ол негізінен келесі жағдайларда қолданылады: do, for, while, if операторларында және фигуралық жақшаны белгілеген кезде
Мысал:
int main ( )
{
:
{ if (...) goto a;
{ ...
}
a:; }
return 0;
}
Құрама оператор фигуралық жақшаға алынған бірнеше оператор мен хабарламадана тұрады.
int main ()
{
int q,b;
double t,d;
:
if (...)
{
int e,g;
double f,q;
:
}
:
return (0);
}
Switch көп нұсқалы таңдау операторы. Программада кездесетін бірнеше нұсқаның бірін таңдап алу керек болған жағдайда, switch ауыстырғыш операторы қолданылады.
Switch <бүтін типті өрнек>;
{
сase белгі 1: операторлар;
сase белгі 2: операторлар;
………………….
[Default: операторлар]
}
Мұнда switch сөзінен кейінгі өрнек мәні есептеледі, ол бүтін санды типте болуы тиіс. Сол мән case сөздерінен кейін жазылған константалар мәнімен салыстырылады. Егер олардың біріне тең болса, сол жақ орындалады, жол соңында көшу операторы болмаса, келесі жолдар толық орындалады. Ал бір жолды орындап болған соң, switch операторынан шығу үшін break операторы қолданылады. Егер switch сөзінен кейінгі өрнек мәні ешбір константамен сәйкес келмесе, онда default сөзінен кейінгі операторлар атқарылады. Кейде default сөзі болмауы да мүмкін.
1- мысал:
int i=2;
switch (i)
{
case 1: i += 2;
case 2: i *= 3;
case 0: i /= 2;
case 4: i -= 5;
default:
2- мысал:
char ZNAC;
int x,y,z;
switch (ZNAC)
{
case '+': x = y + z; break;
case '-': x = y - z; break;
case '*': x = y * z; break;
case '/': x = u / z; break;
default : ;
}
Бағдарламалау тілдерінде арифметикалық өрнектер бір жолға жазылады, сондықтан олардың операциялардың орындалу ретін білу керек. Алдымен орындалатындар
жақшаның ішіндегі операциялар, кейінгілер...
функцияны шақыру , кейінгілер...
көбейту, бөлу және бөліндінің қалдығы, солдан оңға қарай, кейінгілер...
қосу және азайту, солдан оңға қарай.
Арифметикалық операторлар
Оператордың аты
Синтаксис
C ++ жүйесінде шамадан тыс жүктеме болуы мүмкін
Қосылған
жылы C
C ++ прототипінің мысалдары
Қ. Мүшесі ретінде
Сынып анықтамаларынан тыс
Негізгі тағайындау
а = б
Иә
Иә
R& Қ::оператор =(S б);
Жоқ
Қосу
а + б
Иә
Иә
R Қ::оператор +(S б);
R оператор + (Қ а, S б);
Азайту
а - б
Иә
Иә
R Қ::оператор -(S б);
R оператор -(Қ а, S б);
Унари
плюс (бүтін санмен жылжыту )
+а
Иә
Иә
R Қ::оператор +();
R оператор +м(Қ а);
Унари
минус (аддитивті кері )
-а
Иә
Иә
R Қ::оператор -();
R оператор -(Қ а);
Көбейту
а * б
Иә
Иә
R Қ::оператор *(S б);
R оператор * (Қ а, S б);
Бөлім
а / б
Иә
Иә
R Қ::оператор /(S б);
R оператор / (Қ а, S б);
Модуло (бүтін қалдық)[a]
а % б
Иә
Иә
R Қ::оператор %(S б);
R оператор % (Қ а, S б);
Префикс__++'>Префикс
++а
Иә
Иә
R& Қ::оператор ++();
R& оператор ++(Қ& а);
а++
Иә
Иә
R Қ::оператор ++(int);
R оператор ++(Қ& а, int);
Ескерту: C ++ атаусыз думми-параметрді қолданады префикс пен постфиксті ұлғайту операторларын ажырату.int
Префикс
--а
Иә
Иә
R& Қ::оператор --();
R& оператор --(Қ& а);
а--
Иә
Иә
R Қ::оператор --(int);
R оператор --(Қ& а, int);
Ескерту: C ++ атаусыз думми-параметрді қолданады префикс пен постфиксті азайту операторларын ажырату.int
C ++ анықтайды[15] бірқатар операторлар үшін бүркеншік ат ретінде қызмет ететін белгілі бір кілт сөздер:
Оператор
және
&&
және_қосымша
&=
битанд
&
битор
|
шағымданды
емес
!
тең емес
!=
немесе
||
немесе_қосымша
|=
xor
^
xor_eq
^=
Оларды ауыстыратын тыныс белгілері сияқты дәл осылай қолдануға болады, өйткені олар басқа атпен бірдей оператор емес, қарапайым белгілерді ауыстыру аты (символдар жолы) сәйкес оператордың. Бұл өрнектер дегенді білдіреді және бірдей мағынаға ие. Бұл сондай-ақ, мысалы, кілт сөзін ғана емес ауыстыру үшін пайдалануға болады биттік-және оператор, сонымен қатар мекен-жайы оператор, және оны сілтеме түрлерін көрсету үшін де пайдалануға болады (мысалы, ). ISO C спецификациясы тақырыптық файлдағы препроцессорлық макростар ретінде осы кілттерге рұқсат береді iso646.h. C-мен үйлесімділік үшін C ++ тақырыбын ұсынады ciso646, оны қосу ешқандай әсер етпейді.(а> 0 және жалауша емес)(a> 0 &&! жалаушасы)битандint bitand ref = n
2.2 Арифметикалық өрнек
Арифметикалық өрнек меншіктеу операторының оң жағы болып саналады, оның мазмұны бойынша төмендегілерден тұрады
бүтін және нақты сандардан (нақты типтерде бүтін бөлшек бөлігімен нүкте арқылы ажыратылады)
арифметикалық амалдардың әрекетінен + - қосу, азайту * / көбейту, бөлу % бөліндінің қалдығы
стандартты функцияларды шақыру abs(i) i бүтін санының модулі fabs(x) x нақты санының модулі sqrt(x) x нақты санының квадраттық түбірі pow(x,y) x –тің y-дәрежесін есептейді
Бағдарлама құрудың екі жолы.
Барлық бағдарламалау тілдері секілді Си бағдарламалау тілі де екі бөліктен құрылады:
1) жіберу (трансляция) – бағдарлама мәтінін машина кодына айналдыру;
2) жинақтау (компоновка) – бағдарлама бөліктерін құрастыру және стандартты функцияларды қосу. жақшалар іс-әректтердің өзгеру ретін анықтап отырады
Бұл бірнеше қадамдарды неге бір қадам қылуға болмайды?
Жай қарапайым программаларға болады, ал күрделі программалар үшін ол екі қадам ыңғайлы және тезірек орындалады.
күрделі бағдарламалар бірнеше қарапайым бөліктерге (модульдерге) бөлінеді, оны кезкелген адамдар өз деңгейінде әртүрлі құруы мүмкін және ол бөліктер жеке-жеке қаралады; сондықтан соңында осы бөліктерді (модульдерді) біріктіріп, толық бір бағдарлама құру керек;
бір бөліктегі (модульдегі) қатені түзету кезінде қайтадан барлығын трансляциялау(машиналық тілге аудару) қажет емес (ол он мың жолдан тұруы мүмкін);
компоновка кезінде көптеген жүйелерде басқа тілде жазылған бөліктеді (модульдарды) қосуға болады, мысалы: Ассамблер тілінде (машиналық тілде). Си тілінің трансляторларын компилятор деп атайды: олар барлық бағдарламаны машиналық кодқа лезде аударады (транслируют), бұл жағдай да сол әрбір жолды жеке аударып отырмайды. Ал жеке жолдарды аударып отыруды интерпретатор орындайды. Компилятор жасау бағдарламаның жұмыс істеуін жақсартады (арттырады) және бағдарлама орындалатын компьютерге интерпретаторды қою қажет емес. Си тіліндегі негізгі файлдың кеңейтілімі *.c немесе *.cpp болып келеді (*.cpp кеңейтілімі С++ бадарламасында да қолдануға болатындығын көрсетеді). Ол кезкелген мәтіндік редакторда жазылған қарапайым мәтіндік файл.
Қорытынды
Пайдаланылған әдебиеттер тізімі
Қосымша
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main()
{
int Man[5]={3,4,7,2,10};
for(auto Man:Man)
{
cout<
}
return 0;
}
main()
{
int a=5, b=6, c=7, d;
clrscr();
d=(a++ - (--b)) + (c – a--);
printf(“d=%i a=%d”, d,a);
getch();
}
Программа жұмысын басқару операторлары программаның басқарушы конструкциясы деп аталады. Олар:
-
құрама операторлар; -
таңдау операторлары; -
цикл операторлары; -
көшу операторлары.
Құрама операторларға жай құрама операторлар және блоктар жатады. Екеуі де жүйелі жақшаға алынып жазылады. Блокта жай құрама операторларға қарағанда, айнымалыларды сипаттау жолдары болады. Мысалы:
{ n++;
summa+=n;
}
{
int n=0;
n++;
summa+=n;
}
Қатынас операциялары. Қатынас операциялары екі мәнді салыстыру үшін қолданылады. С/C++ тіліндегі қатынас операциясының тізбегі мынадай: = =, !=, <, <=, >, >=.
Егер қарастырылатын қатынас нәтижесі ақиқат болса, шарттық өрнектің мәні 0-ге тең болады. Қатынас операциясының приоритеті арифметикалық операцияларға қарағанда, төмен және меншіктеу операторымен салыстырғанда жоғары болады. Ал қатынас операцияларын приоритеттеріне сәйкес етіп екі топқа бөлуге болады. Мұнда соңғы 4 операцияның приоритеті 1-ші және 2-ші операциялар приоритетімен салыстырғанда жоғары болады.
Логикалық операторлар. Екі немесе бірнеше шарттық өрнектерді біріктіру үшін логикалық операторлар қолданылады. С/C++ тілінде келесі логикалық операторлар бар:
-
және (&&) операциясы; -
немесе (||) операциясы; -
терістеу !(not) oперациясы.
Таңдау операторлары – бұлар шартты оператор және ауыстырғыш. Шартты оператор. Шартты операторлардың орындалу схемасы мен жалпы жазылуы:
іf (шарт)
1-оператор;
еlse
2-оператор;
Мұнда жақшадағы шарт түріндегі өрнек ақиқат болса, 1-оператор орындалады, әйтпесе 2-оператор атқарылады. Операторлар қарапайым немесе құрама болып жазылады. Оператордың қысқаша жазылу түрі
іf (шарт)
1-оператор;
Кейде қабаттасқан шартты операторлар кездеседі, мысалы:
іf (шарт)
1-оператор;
еlse
2-оператор;
еlse
3-оператор;
Мұнда егер 1-ші шарт ақиқат болса, 1-оператор орындалады, егер 1-шарт жалған болып, 2-ші шарт ақиқат болса, 2-оператор орындалады, ал 1-ші шарт және 2-шарт жалған болса, 3-оператор атқарылады.
Бос оператор мен құрама оператор
С/C++ тілінің барлық операторлары шартты түрде келесі категорияларға бөлінуі мүмкін:
-
шартты операторлары; -
цикл операторлары; -
өту операторлары; -
басқа да операторлар.
Бос оператор ; таңбасынан тұрады. Бұл оператор орындалған кезде ешқандай әрекет орындалмайды. Ол негізінен келесі жағдайларда қолданылады: do, for, while, if операторларында және фигуралық жақшаны белгілеген кезде
Мысал:
int main ( )
{
:
{ if (...) goto a;
{ ...
}
a:; }
return 0;
}
Құрама оператор фигуралық жақшаға алынған бірнеше оператор мен хабарламадана тұрады.
int main ()
{
int q,b;
double t,d;
:
if (...)
{
int e,g;
double f,q;
:
}
:
return (0);
}
Switch көп нұсқалы таңдау операторы. Программада кездесетін бірнеше нұсқаның бірін таңдап алу керек болған жағдайда, switch ауыстырғыш операторы қолданылады.
Switch <бүтін типті өрнек>;
{
сase белгі 1: операторлар;
сase белгі 2: операторлар;
………………….
[Default: операторлар]
}
Мұнда switch сөзінен кейінгі өрнек мәні есептеледі, ол бүтін санды типте болуы тиіс. Сол мән case сөздерінен кейін жазылған константалар мәнімен салыстырылады. Егер олардың біріне тең болса, сол жақ орындалады, жол соңында көшу операторы болмаса, келесі жолдар толық орындалады. Ал бір жолды орындап болған соң, switch операторынан шығу үшін break операторы қолданылады. Егер switch сөзінен кейінгі өрнек мәні ешбір константамен сәйкес келмесе, онда default сөзінен кейінгі операторлар атқарылады. Кейде default сөзі болмауы да мүмкін.
1- мысал:
int i=2;
switch (i)
{
case 1: i += 2;
case 2: i *= 3;
case 0: i /= 2;
case 4: i -= 5;
default:
2- мысал:
char ZNAC;
int x,y,z;
switch (ZNAC)
{
case '+': x = y + z; break;
case '-': x = y - z; break;
case '*': x = y * z; break;
case '/': x = u / z; break;
default : ;
}
Бағдарламалау тілдерінде арифметикалық өрнектер бір жолға жазылады, сондықтан олардың операциялардың орындалу ретін білу керек. Алдымен орындалатындар
жақшаның ішіндегі операциялар, кейінгілер...
функцияны шақыру , кейінгілер...
көбейту, бөлу және бөліндінің қалдығы, солдан оңға қарай, кейінгілер...
қосу және азайту, солдан оңға қарай.
Арифметикалық операторлар
Оператордың аты | Синтаксис | C ++ жүйесінде шамадан тыс жүктеме болуы мүмкін | Қосылған жылы C | C ++ прототипінің мысалдары | | |||||||||||||||||||||||||||||
Қ. Мүшесі ретінде | Сынып анықтамаларынан тыс | | ||||||||||||||||||||||||||||||||
Негізгі тағайындау | а = б | Иә | Иә | R& Қ::оператор =(S б); | Жоқ | | ||||||||||||||||||||||||||||
Қосу | а + б | Иә | Иә | R Қ::оператор +(S б); | R оператор + (Қ а, S б); | | ||||||||||||||||||||||||||||
Азайту | а - б | Иә | Иә | R Қ::оператор -(S б); | R оператор -(Қ а, S б); | | ||||||||||||||||||||||||||||
Унари плюс (бүтін санмен жылжыту ) | +а | Иә | Иә | R Қ::оператор +(); | R оператор +м(Қ а); | | ||||||||||||||||||||||||||||
Унари минус (аддитивті кері ) | -а | Иә | Иә | R Қ::оператор -(); | R оператор -(Қ а); | | ||||||||||||||||||||||||||||
Көбейту | а * б | Иә | Иә | R Қ::оператор *(S б); | R оператор * (Қ а, S б); | | ||||||||||||||||||||||||||||
Бөлім | а / б | Иә | Иә | R Қ::оператор /(S б); | R оператор / (Қ а, S б); | | ||||||||||||||||||||||||||||
Модуло (бүтін қалдық)[a] | а % б | Иә | Иә | R Қ::оператор %(S б); | R оператор % (Қ а, S б); | | ||||||||||||||||||||||||||||
Префикс__++'>Префикс | ++а | Иә | Иә | R& Қ::оператор ++(); | R& оператор ++(Қ& а); | |||||||||||||||||||||||||||||
а++ | Иә | Иә | R Қ::оператор ++(int); | R оператор ++(Қ& а, int); | | | | | ||||||||||||||||||||||||||
| | | Ескерту: C ++ атаусыз думми-параметрді қолданады префикс пен постфиксті ұлғайту операторларын ажырату.int | | | | ||||||||||||||||||||||||||||
Префикс | --а | Иә | Иә | R& Қ::оператор --(); | R& оператор --(Қ& а); | | | |||||||||||||||||||||||||||
а-- | Иә | Иә | R Қ::оператор --(int); | R оператор --(Қ& а, int); | | | | | | | ||||||||||||||||||||||||
| | | Ескерту: C ++ атаусыз думми-параметрді қолданады префикс пен постфиксті азайту операторларын ажырату.int | | | | | |
C ++ анықтайды[15] бірқатар операторлар үшін бүркеншік ат ретінде қызмет ететін белгілі бір кілт сөздер:
| Оператор |
және | && |
және_қосымша | &= |
битанд | & |
битор | | |
шағымданды | |
емес | ! |
тең емес | != |
немесе | || |
немесе_қосымша | |= |
xor | ^ |
xor_eq | ^= |
Оларды ауыстыратын тыныс белгілері сияқты дәл осылай қолдануға болады, өйткені олар басқа атпен бірдей оператор емес, қарапайым белгілерді ауыстыру аты (символдар жолы) сәйкес оператордың. Бұл өрнектер дегенді білдіреді және бірдей мағынаға ие. Бұл сондай-ақ, мысалы, кілт сөзін ғана емес ауыстыру үшін пайдалануға болады биттік-және оператор, сонымен қатар мекен-жайы оператор, және оны сілтеме түрлерін көрсету үшін де пайдалануға болады (мысалы, ). ISO C спецификациясы тақырыптық файлдағы препроцессорлық макростар ретінде осы кілттерге рұқсат береді iso646.h. C-мен үйлесімділік үшін C ++ тақырыбын ұсынады ciso646, оны қосу ешқандай әсер етпейді.(а> 0 және жалауша емес)(a> 0 &&! жалаушасы)битандint bitand ref = n
2.2 Арифметикалық өрнек
Арифметикалық өрнек меншіктеу операторының оң жағы болып саналады, оның мазмұны бойынша төмендегілерден тұрады
бүтін және нақты сандардан (нақты типтерде бүтін бөлшек бөлігімен нүкте арқылы ажыратылады)
арифметикалық амалдардың әрекетінен + - қосу, азайту * / көбейту, бөлу % бөліндінің қалдығы
стандартты функцияларды шақыру abs(i) i бүтін санының модулі fabs(x) x нақты санының модулі sqrt(x) x нақты санының квадраттық түбірі pow(x,y) x –тің y-дәрежесін есептейді
Бағдарлама құрудың екі жолы.
Барлық бағдарламалау тілдері секілді Си бағдарламалау тілі де екі бөліктен құрылады:
1) жіберу (трансляция) – бағдарлама мәтінін машина кодына айналдыру;
2) жинақтау (компоновка) – бағдарлама бөліктерін құрастыру және стандартты функцияларды қосу. жақшалар іс-әректтердің өзгеру ретін анықтап отырады
Бұл бірнеше қадамдарды неге бір қадам қылуға болмайды?
Жай қарапайым программаларға болады, ал күрделі программалар үшін ол екі қадам ыңғайлы және тезірек орындалады.
күрделі бағдарламалар бірнеше қарапайым бөліктерге (модульдерге) бөлінеді, оны кезкелген адамдар өз деңгейінде әртүрлі құруы мүмкін және ол бөліктер жеке-жеке қаралады; сондықтан соңында осы бөліктерді (модульдерді) біріктіріп, толық бір бағдарлама құру керек;
бір бөліктегі (модульдегі) қатені түзету кезінде қайтадан барлығын трансляциялау(машиналық тілге аудару) қажет емес (ол он мың жолдан тұруы мүмкін);
компоновка кезінде көптеген жүйелерде басқа тілде жазылған бөліктеді (модульдарды) қосуға болады, мысалы: Ассамблер тілінде (машиналық тілде). Си тілінің трансляторларын компилятор деп атайды: олар барлық бағдарламаны машиналық кодқа лезде аударады (транслируют), бұл жағдай да сол әрбір жолды жеке аударып отырмайды. Ал жеке жолдарды аударып отыруды интерпретатор орындайды. Компилятор жасау бағдарламаның жұмыс істеуін жақсартады (арттырады) және бағдарлама орындалатын компьютерге интерпретаторды қою қажет емес. Си тіліндегі негізгі файлдың кеңейтілімі *.c немесе *.cpp болып келеді (*.cpp кеңейтілімі С++ бадарламасында да қолдануға болатындығын көрсетеді). Ол кезкелген мәтіндік редакторда жазылған қарапайым мәтіндік файл.
Қорытынды
Пайдаланылған әдебиеттер тізімі
Қосымша
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main()
{
int Man[5]={3,4,7,2,10};
for(auto Man:Man)
{
cout<
}
return 0;
}