С C программалау тілдерынын мумкіндіктері мен ерекшеліктеріне шолу


C (бағдарламалау тілі)Қ. Жұбанов атындағы Ақтөбе өңірлік университеті
2021ж.
МӘНЖАЗБА
Тақырып: C/C++ программалау тылдерынын мумкындыктеры мен ерекшелыктерыне шолу
Орындаған:Булатов Манат
Топ:ИПКО-101
C Есептеу техникасында бағдарламалау тілі . 1969 - 1973 жылдар аралығы Bell Labs лабороториясында пайда болды. Си (ағылш. C) - 1969-1973 жылдары Bell Labs қызметкері Деннис Ритчи Би тілінің дамуы ретінде әзірлеген жалпы мақсаттағы бағдарламалаудың құрастырылатын статикалық терілген тілі. Бастапқыда UNIX операциялық жүйесін іске асыру үшін жасалған, бірақ кейіннен көптеген басқа платформаларға ауыстырылды. Тілдің дизайнына сәйкес, оның дизайны машинаның әдеттегі нұсқауларымен тығыз байланысты, сондықтан ол ассемблер тілі тән жобаларда, соның ішінде операциялық жүйелерде де, көптеген құрылғыларға арналған әртүрлі қолданбалы бағдарламалық жасақтамада - суперкомпьютерлерден бастап ендірілген жүйелерге дейін қолдануды тапты. С бағдарламалау тілі бағдарламалық жасақтама индустриясының дамуына айтарлықтай әсер етті және оның синтаксисі C++, C#, Java және Objective-C сияқты бағдарламалау тілдерінің негізіне айналды.
Си негізгі ерекшеліктері:
математикалық функциялар немесе файлдармен жұмыс істеу функциялары сияқты көптеген маңызды мүмкіндіктер стандартты кітапханаға енгізілген қарапайым тілдік база;
процедуралық бағдарламалауға бағдарлау;
мағынасыз операциялардан қорғайтын типтік жүйе;
бір типті операцияларды абстракциялау үшін препроцессорды қолдану;
көрсеткіштерді пайдалану арқылы жадқа қол жеткізу;
кілт сөздердің аз саны;
параметрлерді функцияға сілтеме бойынша емес, мән бойынша беру (сілтеме бойынша беру сілтемелердің көмегімен эмуляцияланады) ;
функциялар мен статикалық айнымалыларға сілтегіштердің болуы;
атаулардың көріну аймағы;
құрылымдар мен бірлестіктер - бір бүтін ретінде басқаруға болатын пайдаланушы анықтайтын деректердің ұжымдық түрлері.
Сонымен қатар, C-де жоқ:
кірістірілген функциялар;
функциялардан бірнеше мәндерді тікелей қайтару;
сопрограммалар;
жадты автоматты басқару құралдары;
объектіге бағытталған кіріктірілген құралдар
C++коды бөлімдерін оңтайландыру Нысанға бағытталған c++ мүмкіндіктері көбінесе "таза C" - ге қарағанда қымбатқа түседі, өйткені олар көп ресурстарды (атап айтқанда жедел жадты) пайдаланады. Сондықтан кейде C стиліндегі код тиімдірек болуы мүмкін. Егер сізге алгоритмді тезірек жасау керек болса-процедуралық стильді қолданыңыз және полиморфизм сияқты OOП үшін кірістірілген c++ құралдарын тастаңыз.Ендірілген жүйелерді бағдарламалау үшін көбінесе C және C++қолданылады. Бірақ C артықшылығы бар, өйткені ол шектеулі ресурстармен кіріктірілген бағдарламалық жасақтаманы жасауға мүмкіндік береді - мысалы, микроконтроллерде ОЗУ өте аз болған кезде. Си-ден басқа, кодты одан әрі оңтайландыру және процессордың нақты нұсқауларына қол жеткізу үшін ассемблер кірістірулерін жазу үшін ассемблер туралы білім (опция ретінде ARM-ассемблер) пайдалы болуы мүмкін.
C меңгеру үшін 4 негізгі себеп бар:
ОЖ, жүйелік бағдарламалық жасақтама, Nginx, PostgreSQL, Redis және т. б. сияқты танымал бағдарламалық өнімдердің қалай жұмыс істейтіні туралы түсінік алу.
FFI механизмдерін қолдана отырып, C-де жазылған кітапханалармен өзара әрекеттесу.
Ымырасыз жылдамдығы бар бағдарламаларды жазу үшін.
Әр түрлі құрылғыларды төмен деңгейлі бағдарламалау үшін, мысалы, Arduino, басқа тілдерде қуаты жоқ.
Мүмкін, C-тің басты артықшылығы - "машинаға жақын болу". Бұл белгілі бір бизнес логикасы мен пәндік аймақтың мәнін білдіру үшін жеткілікті жоғары деңгейлі тіл, бірақ сонымен бірге бұл логика мен нысандарды процессор қалай өңдейтінін түпкілікті бақылау үшін жеткілікті төмен деңгей.
C қашан және не үшін қолданылады?
1. Операциялық жүйелер
C тілі бастапқыда Жүйелік бағдарламалау үшін жасалған, сондықтан операциялық жүйелер мен бағдарламалық жасақтаманы құруда соншалықты белсенді қолданылатыны таңқаларлық емес.
Жылдам және энергияны үнемдейтін, ол төмен деңгейлі кодпен жұмыс істеуге мүмкіндік беретін аппараттық қабатқа жақын.
Сондықтан ол операциялық жүйелерді дамыту үшін өте қолайлы.
Кез-келген операциялық жүйе ең алдымен тез іске қосылып, жүйелік ресурстарды тиімді басқаруы керек. Мысалы, Linux, Microsoft Windows, Mac OS толығымен C тілінде, ал Android Және iOS ішінара жазылған.
C тіліндегі әзірлеуші операциялық жүйенің ең кішкентай бөлшектерін дәл баптай отырып, барлық деректер құрылымын өздігінен жүзеге асыра алады. Мұндай жоғары икемділік-бұл тілдің пайдасына маңызды дәлел.
Басқа бағдарламалау тілдерінен айырмашылығы, с тілінде орындау уақытына тәуелділік жоқ. Бұл бағдарламаны құрылғы күшімен орындауға болатындығын білдіреді
C++C++ (дауысталуы "си плас плас") 1983 жылы Bell Labs зертханасында Бьёрн Страустрап дамытқан бағдарламалау тілі. 2019 жылға қарай элемдегі таралуы бойынша үшінші бағдарламалау тілі болып келеді. C++ өзінің ұзақ тарихында көптеген өзгерістерден өтіп, бүгінгі күні өте жылдам, компиляцияланатын, көптеген кітапханаларға ие тілге айналды. C++ жоғарғы және төменгі деңгейдегі программалау тілдерінің қасиеттеріне ие.
ТарихыС++ т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 және олармен байланысқан операцияларды анықтап алу керек.
С++ тілінің ерекшеліктері Көлемінің шағындығыС++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз, оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады. Мұндағы операциялық әрекеттер, олардың комбинациясы жетерлік, бірақ қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды, кейіннен ANSI C стандартында тағы бірнеше сөз қосылды. С++ тілінің синтаксистік ережелері басқа тілдерге қарағанда аз, оның компиляторын 256 Кб көлем арқылы-ақ жазып шығуға болады. Мұндағы операциялық әрекеттер, олардың комбинациясы жетерлік, бірақ қордағы түйінді сөздер саны да көп емес, Дэннис Ритчи жасаған алғашқы С++ тілінде тек 27 түйінді сөз болды, кейіннен ANSI C стандартында тағы бірнеше сөз қосылды.
Тілдің командалар жиыныMicrosoft С/С++ нұсқасында тағы 19 командалар мен түйінді сөздер қосылды, соның нәтижесінде олар 66 болды.
Басқа программалау тілдердегі функциялар С++ тілінде жоқ, мысалы, енгізу-шығару операторлары да кездеспейді, оның есесіне кітапханалық әр түрлі функциялар саны жеткілікті.
Жылдам істейтіндігіС++ компиляторлары жасаған программа кодтары шағын, әрі жылдам істейді, оның үстіне тілдің аппараттық құралдарға жақындығы ассемблер тіліменен қатар жылдамдықпен жұмыс істеуге мүмкіндік береді.
Типтері де күрделі емесПаскальға қарағанда, мәліметтерді типтендіру мұнда төменгі деңгейде, ол типтерді бір-біріне жеңіл ауыстырады. Мұндай қасиет В тілінен келді. Мысалы, программаның бір жерінде айнымалы символдық болса, ал басқа жерде оны символдың
ASCI -коды (одан 32-ні алып) ретінде қарастыруға болады.
Құрылымды тіл болғандығыС++ тілінде қазіргі тілдерде болатын барлық басқару операторлары бар. 1971 жылдың өзінде-ақ жаңа ғана жасалған С++ тілі алғашқы құрылымдық программалау тілі ретінде танылған еді. Мұнда; for - цикл операторы, if және if-else конструкциясы, таңдау операторы (switch) және while циклы да бар.
Модульдік программалауды сүйемелдеуіС++ тілінде жеке компиляциялау мен біріктіруден құралатын модульдік программалау концепциясы пайданылады. Мұнда тек программаның өзгертілген бөліктерін жеке компиляциялау мүмкіндігі бар.
Екілік разрядтағы өңдеуіЖүйелік программалауда екілік разрядтарды өңдеу ісі жиі кездеседі. Әрине, UNIX операциялық системасымен тығыз байланыста пайда болған С++ тілінің екілік сандармен жұмыс істеу мүмкіндіктері өте зор.
Нұсқаушы айнымалылар
Операциялық жүйе тіліне қойылатын тағы бір талап - ол жады аймақтарын адрестеу мүмкіндігінің болуы. Мұндй мүмкіндік программа орындалуын жылдамдатады. С++ тілінде мұндай істі нұсқаушылар (указатели) атқарады және олармен арифметикалық амалдарды орындауға болады.
Құрылымы икемді тілС++ тіліндегі барлық массивтер - бір өлшемді. Көп өлшемді массивтер осы бір өлшемді массивтерден құрылады. Массивтер мен құрылымдар (жазбалар) бір - бірімен керекті түрде байланысып, мәліметтер базасын құрайды.
C++қолданудың негізгі бағыттары
ойындар мен ойын қозғалтқыштарын дамыту(Unreal Engine, Unity) ;
GPU-есептеу (cryptocurrency, терең оқыту) ;
жоғары жүктелген және жоғары өнімді қосымшаларды әзірлеу.
C++ - бұл өнімді тіл, ол GPS - тегі жол карталарына оңтайлы маршруттарды құруға және құруға, сүйікті ойындарға - артта қалмауға және графикалық параметрлермен максималды сапаны беруге, банк қызметтеріне тәулік бойы жұмыс істеуге, ал аудармаларға - жедел болуға көмектеседі.
Өнімділік-кез-келген компьютерлік ойынның маңызды сипаттамасы. Counter-Strike, StarCraft: Brood War, Diablo I, World of Warcraft - олардың барлығы бұрыннан пайда болды және C++ тілінде жазылды, сонымен қатар Xbox және PlayStation консольдерінің операциялық жүйелері, танымал Unreal Engine немесе Unity ойын қозғалтқыштарының ядролары, олардың негізінде көптеген 3D ойындары, тренажерлер, мергендер мен стратегиялар жасалды.
Себебі с++ тілінде объектіге бағытталған бағдарламалауды қолдануға болады, ал қажет болған кезде - белгілі бір платформалар үшін ойынды жақсы оңтайландыруға және графика үшін есептеулер жүргізуге мүмкіндік беретін төмен деңгейлі тілдік мүмкіндіктерге жүгінуге болады. Дәл сол себепті с++ графикалық редакторларда (Adobe Photoshop) қолданылады.
C++ жоғары жүктелген қосымшалар үшін өте қажет, ол іздеу қозғалтқыштарын, сауда алмасу роботтарын, дерекқорды басқару жүйелерін және желілік трафикті бағыттау үшін қолданылады.
С++ көмегімен Mozilla Corporation OpenSource-Firefox браузерін әзірледі, Amadeus - авиабилеттерді, Қонақ үйлерді, круиздік турларды және автомобильдерді жалға беруді электрондық брондау жүйесі құрылды (ол арқылы секундына 5000 транзакция өтеді, күн сайын миллиардтан астам транзакция өтеді), С++ арқасында Яндекс жұмыс істейді. Google іздеу және іздеу қозғалтқышы.
C++ тек бағдарламашыларға ғана емес, сонымен қатар қажет:
техникалық суретшілер: ойын жобасындағы қарапайым суретшілер мен 3D-модельдер мен ойын қозғалтқышын жасаушылар арасындағы байланыс (c++ өте танымал) мәселелерді шешу үшін тілді түсініп, бәрі қалай бағдарламаланғанын түсіну керек;
математиктерге: алгебралық теңдеулер жүйесін шешу, функцияларды саралау және біріктіру, оңтайландыру, интерполяция, экстраполяция және жуықтау сияқты есептеу математикасының типтік есептері с++тілінде сандық әдістерді енгізу арқылы шешіледі;
физиктер мен химиктер: с++ тілінде қоршаған орта мен физикалық процестер модельденеді;
музыканттар: иә, тіпті олар! Бұл акустикалық эффектілерді зерттеу, шығармашылық процесті рәсімдеуге тырысу немесе тіпті музыка жасау болуы мүмкін: "алгоритмдерде" адамдар DJ бағдарламашысы сахнада өмір сүретін Алгоритмдер жасаған тректердің астына түседі-бұл нағыз киберпанк.
жоғары энергиялық физиканың эксперименттік деректерін өңдеуге арналған ROOT бағдарламалары мен кітапханаларын әзірлейді;
NASA роверлері Марстың бетіне өздігінен жүреді және Хаббл телескопы ұшады;
Microsoft барлық дерлік жасайды (Windows OS, Office пакеті, Internet Explorer, Visual Studio) ;
суретшілер өнер (генеративті) жасайды: кескіндеме мен мүсін нысандарын құру үшін алгоритмдер жазады.
Артықшылықтары:
С тілімен жоғары үйлесімділік
Есептеу өнімділігі
Бағдарламалаудың әртүрлі стильдерін қолдау: құрылымдық, объектіге бағытталған, жалпыланған бағдарламалау, метапрограмма тудыратын функционалды бағдарламалау.
Нысан деструкторларын автоматты түрде шақыру (конструкторларды кері шақыру тәртібімен) жад пен басқа ресурстарды (ашық файлдар, Желілік қосылыстар және т. б. ) басқарудың сенімділігін жеңілдетеді және арттырады.
Операторларды қайта жүктеу
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz