Си тiлiнiң негiзгi түсiнiктерi



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 13 бет
Таңдаулыға:   
КIРIСПЕ

С++ т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
және олармен байланысқан операцияларды анықтап алу керек.
Бұл курстық жұмыс бойынша маған берiлген есеп:
№ 506. Жолаушы жүгi жүк санымен және жүктердiң жалпы салмағымен
сипатталған. Бiрнеше жолаушылардың жүктерi туралы ақпаратты қамтитын
f файлы берiлген.
б) Жүк саны екiге тең және жүктiң жалпы салмағы барлық жүктердiң жалпы
салмақтарының орташа шамасынан асатын жолаушыларды тап;
Осы есептi шығару барысында мен алдымен жүк туралы мәлiметтерi бар файл
құрдым. fopen() функциясы арқылы және “w” параметрi арқылы файлды ашып,
онда мәлiметтердi енгiздiм. Файлды қайта оқу үшiн ашу кезiнде, мен, fopen()
функциясын және “r” параметрiн қолдандым. Есептегi берiлген шарттарды
қанағаттандыратын мәлiметтердi алып, fclose() функциясы арқылы құрған
файлымды жауып тастадым.

Си++ тiлiнiң негiзгi түсiнiктерi

Си++ тiлiн 1972 жылы Денис Ритчи ашты. 1982 жылы осы тiлдiң стандарты
пайда болды. Си++ Си тiлiнiң кеңейтiлген түрi. Сондықтан да Си-де жазылған
бағдарламалар Си++ тiлiнiң компиляторы арқылы өңделуiне болады. Компилятор
дегенiмiз – 3 процессордан тұратын, әрқайсысы жеке-жеке тәуелсiз
бағдарламалар:
1. Препроцессор
2. Си++ компиляторының алдыңғы жобасы
3. Объектi кодтың генераторы
Си++ - тегi кез-келген бағдарлама 3 жағдайда болады.
1. Бастапқы файл
*.c;
*.cpp;
*.c++;
Бұл файлды оқуға, қағаз бетiне түсiруге, өңдеуге болады.
2. Компиляциядан өткен бағдарлама объектi файл болады.
*.obj;
*.o;
3. Орындалу файлы. Компоновщик қосылғаннан кейiн орындалатын
файл болады.
*.ехе;
Бұл файлды компьютерде орындауға болады.
Библиотекалық файлдар *.lib. Кейбiр библиотекалық файлдардың
компиляциядан өткен кодтары болады. ол екiлiк жүйеде жазылған. Сондықтан
оның сұлбасын былай көрсетуге болады:
MYP.CPP – MYP.OBJ – MYP.EXE
Бағдарламаға қажеттi функциялар компилятормен бiрге келедi. Олар мына
тақырыптар файлында (header file) болады:
*.h;
Си алгоритмдiк тiлдiң компиляторлары интеграцияланған ортада – IDE
немесе UCP-де жұмыс жасайды. ол дегенiмiз бiр бағдарламаны өңдеу үшiн
редакторға, компиляторға, компоновщикке және басқа көмекшi құралдарға
менюдiң керектi пунктерi арқылы жетуге болады.

Си++ тiлiнiң ерекшелiктерi

Бүтiн тұрақтылар ондық жүйеде сегiздiк жүйеде және он алтылық жүйеде
болуы мүмкiн. Бұл тiлде модификатор деген түсiнiк бар. Бүтiн тұрақтыларға
қолданылатын екi модификатор бар:
Unsigned (таңбасыз);
Signed (таңбамен);
С++ өте ықшамды. Басқа да маңызды ерекшелiктерi бар:
1. С++ енгiзу шығаруды қамтамасыз ету үшiн сыртқы стандарттық
библиотекаға қарайды. Бұл библиотеканы қолдану үшiн қажеттi
программа iostream.h файлында орналасқан.
2. include сияқты дерективалар жиынын өңдеу үшiн С++ препроцессордi
қолданады. Ол программаны алдыңғы формадан таза С++ синтаксисi
формасына айналдыру үшiн қажет. Бұл дерективалар # символынан
басталады.
3. С++ программасы әртүрлi файлдарда орналасқан хабарламалардан
тұрады. Әрбiр файл сыртқы немесе ауқымды деңгейде орналасқан және
енгiзiлген әдiс түрiнде хабарлануы мүмкiн емес. Файлдар модульдер
сияқты қызмет атқарады және жеке компиляциядан өтуi мүмкiн.

Комментариялар

Си тiлiнде комментариялар * * түрiнде жазылады. Кейбiр жаңа Си
компиляторлары бұл комментариялар жазылуын тани алады.

Препроцессор дерективалары

Препроцессор дерективасы басталатын # белгiсiнiң алдында бос орын
кездесуi мүмкiн. Ол дерективаны қалған программалық кодтан ажыратуға
көмектеседi. Кейбiр алғашқы компиляторларда препроцессор дерективаларын тек
бiрiншi жол позициясынан бастауды қажет етедi.
#includestdio.h Cи тiлi үшiн анықталған препроцессор дерективасы
деп аталады. Препроцессор дерективасы – бұл өз кезегiнде компилятор
командалары. Берiлген жағдайда компилятор stdio.h библиотекалық файлында
сақталатын программалық кодты осы орында орналастыру бұйрығын алады. H
кеңейтiлуi бар файлдар тақырыптар файлы деп аталады және әртүрлi
константалар мен идентификаторлар туралы хабарларды қамтиды. Сонымен қатар
жай типтердi де. Бұл түрдегi информацияны жеке файлда сақтау әртүрлi
программалардан қатынас құруды жеңiлдетедi және программаның құрылымын
жақсартады. Препроцессор дерективасынан кейiн функцияны баяндау блогы
орналасқан.

#define препроцессор дерективасы
#define препроцессор дерективасы: символдық тұрақтыларды құрады,
идентификаторлармен белгiленген, символдық қатарлармен белгiленген
операциялар – макростарды құрады. #define препроцессор дерективасының
жазылу форматы келесiдегiдей:
#define идентификатор “список всех книг...”

Массивтер

Массив деген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лген:
int array[12]; * 12 бүтiн саннан тұратын массив *
char carray[20]; * 20 символдан тұратын массив *
Қарапайым айнымалыларды сипаттағандай массивтердi баяндау, оның
мәлiметтер типiн көрсету арқылы орындалады. Одан кейiн массив аты және екi
тiк жақша қою керек. Олар массив размерiн анықтайды. Тiк жақшалар iшiнде
тек тұрақтылар тұруы мүмкiн. Компилятор массивке қанша көлем жадыдан бөлу
керектiгiн дәл бiлуi қажет. Сондықтан массив размерi алдын ала берiледi
және программаның орындалу уақытында өзгертiлуi мүмкiн емес.

Массивтердi инициалдау
Массивтердi инициалдауды 3 тәс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р түрге жатты.
Айнымалылардың 2 классын қарастырамыз. Структура және көрсеткiштер.
Структура дегенiмiз - әртүрлi түрлерден тұратын айнымалылар
жиыны.
Структураның жазылу форматы:
struct
{
char autor[25],nazvanie[25];
int god,t;
} book[n];
Шын мән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. & - адрестi алу операциясы.
2. * - операнда. Бұл бiр орынды операция көрсеткiшi.

Структураның қайтылуы
Белгiлi бiр функция арқылы мәндерiн енгiзiп, содан кейiн main()
функциясына return операторы арқылы қайтылуы.
books() функцияны осылай белгiлейiк
...
return (d); осылай қайтады.
Ескерту: егер структура мәндерi main() функциясына қайтатын болса,
онда берiлген функция осы түрде сипатталынады. Функцияның алдына сол түрдi
қоямыз.

Таңдау инструкциялары

Си және С++ тiлдерiнде 4 базалық таңдау инструкциялары бар:
if , if else, switchcase және ?: операторы.
Бұлардың әрқайсысына жеке тоқталу алдында, шартты өрнектердi құрудың
жалпы принциптерiн еске салайық. Таңдау инструкциясы бiр немесе бiрнеше
қатардан құралған программада анықталған болктарының таңдаулы орындалуы
үшiн қолданылады.

if инструкциясы
if жалғыз инструкциясы берiлген шарт шын немесе жалған екендiгiн
тексеретiн коммандаларды немесе коммандалар блогын орындауға арналған.
Төменде if инструкциясының қарапайым түрi көрсетiлген:
if (шарт)
өрнек;
Назар аударыңыз, мұнда шарт жақшаға алынған. Егер шартты тексерi
нәтижесiнде true мәнi қайтарылса, онда өрнек орындалады, сонан кейiн
басқару программаның келесi жолына берiледi. Егер шарт нәтижесi false
болса, онда өрнектен аттап өтедi.

if else инструкциясы
if else инструкциясы шартқа тәуелдi екi әрекеттiң бiреуiн таңдаулы
орындауға мүмкiндiк бередi. Төменде берiлген инструкцияның синтаксисi
көрсетiлген:
if (шарт)
өрнек1;
else
өрнек2;
Егер шартты тексеру нәтижесi true болса, онда өрнек1 орындалады,
қарсы жағдайда - өрнек2.

?: шарттық операторы
?: шарттық операторы ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Си тілінің сипаттамалары
C++ программалау тілі
STRUCT операторын қолдана отырып тестілеуші программа құру
ағдарламалау тілдері теориясы және орындалуы
Полиморфизм - бір иерархиядағы объектілер үшін бір атаумен берілген әдістерді қолдану мүмкіндігі
Тәг атрибуттары
Орхон-Енисей, Талас ескерткіштері тіліндегі Тәңірлік идеясы
Программаны құрудың техникалық тапсырмасы. Программаларды техникалық жобалау кезеңдерін сипаттау. Алгоритмдердің құрылымдық схемесын дайындау
Программалау тілдерімен танысу
Мәліметтер базасының теориясы
Пәндер