Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Мова програмування C, яка поєднує потужність і гнучкість універсальних мов програмування із високою ефективністю виконавчого коду і можливістю безпосереднього доступу до апаратних ресурсів



ПЕРЕДМОВА

Мова програмування C, яка поєднує потужність і гнучкість універсальних мов програмування із високою ефективністю виконавчого коду і можливістю безпосереднього доступу до апаратних ресурсів комп’ютера, є однією з фундаментальних і найбільш уживаних мов проблемно-орієнтованого і системного програмування. Тому глибоке знання і практичне володіння інструментальними засобами мови С є обов’яз­ковим для фахівців в області програмного забезпечення комп’ютерів, комп’ютерних інформаційних технологій, систем автоматизованого керування і проектування, комп’ютерної інженерії, а також для всіх, хто пов’язує свою діяльність з комп’ютером і хоче опанувати науку програмування.

Створення і розвиток мови С.  Мову С розробив на початку 70-х років Деніс Рітчі (Dennis M. Ritchie), співробітник фірми Bell Telephone Laboratories (США). Початково мова створювалась як ефективний і зручний професійний інструментарій, призначений для програмування операційної системи UNIX. Попередниками С були мови BCPL та B. Довший час фактичним стандартом мови С служила її реалізація у 7-й версії UNIX, описана Б. Керніганом (Brian W. Kernigkhan) та Д.Рітчі в першому видані відомої усім програмістам книги "The C Programming Language" (1978 р.). Цю версію мови прийнято позначати K&R.

Властивості мови С настільки захопили програмістів, що незабаром її стали широко використовувати для створення програм у різних практичних сферах. З’явилося багато версій і діалектів мови, які часто були несумісними між собою. Тому в 1983 р. було сформовано комітет із розроблення стандарту мови С. Шість років створювався стандарт С, який був затверджений Американським національним інститутом стандартизації (ANSI – American National Standards Institute) у 1989 р., а в наступному році – Міжнародною організацією стандартизації (ISO – International Standards Organization). Цей стандарт мови С називають ANSI / ISO С, ми будемо позначати його як С-89. Більшість сучасних компі­ляторів мови С повністю підтримують цей стандарт.

З 80-х років мовою С розробляють програми практично для усіх типів комп’ютерів: великих універсальних ЕОМ (мейнфреймів), міні-ЕОМ та персональних комп’ютерів, включаючи IBM-сумісні та комп’ютери Macintosh, а також для різних операційних середовищ: MS DOS, UNIX, Windows, Linux, Mac OS, OS/2 та інших. Створюються систе­ми програмування мовою С, до складу яких входять бібліотеки з широким набором різноманітних функцій та інтегровані середовища розробкника (ICP). ICP призначенні для швидкого і зручного запису та редагування текстів програм, їх компілювання і від­лагодження, компонування великих програмних проектів. Одним із найбільш популярних ICP визнано Borland C/C++ 3.1 фірми Borland International (тепер Inprise), яке дозволяє створювати програми мовами С та С++ для операційних систем MS DOS та Windows.



У 1992 р. затверджено новий стандарт С (його ми будемо називати С-99), який зовсім не змінив базові концепції та конструкції мови, а лише дещо доповнив їх і розширив стандартні бібліотеки С з урахуванням нових апаратних і системних можливостей комп’ютерів. На жаль, компілятори С-99 та відповідні середовища програму­вання ще не дістали належного поширення.

Мова С стала основою створення і розвитку ряду мов об’єктно-орієнтованого про­гра­мування, зокрема: С++, Java, C#. Першою назвою мови С++ була “С з класами”, чим підкреслювалось, що С становить фундамент нової мови, а саму мову С, навіть, оголо­сили підмножиною С++, проте потім їх визнали двома самостійними мовами. Реально, мова С++ є розширенням мови С, оскільки компілятори С++ підтримують усі синтаксич­ні конструкції та властивості мови С. Додатково С++ включає спеціальні засоби та бібліотеки, що реалізують принципи об’єктно-орієнто­ваного програмування.

Загальна характеристика мови С.  С – сучасна універсальна мова програмування, призначена для створення прикладних (ужиткових) програмних продуктів та системних компонентів програмного забезпечення комп’ютерів. Підкреслимо основні риси мови С.

Потужність і гнучкість – два терміни, які вживають найчастіше, характеризуючи С. Мовою С написана більша частина програм універсальної і потужної операційної системи UNIX, створено ряд компіляторів та інтерпретаторів з різних мов програмування (зокрема, Pascal, APL, LISP, Basic тощо), розроблено велику кількість інтерфейсів, різно­манітних інструментальних засобів, в т. ч. текстових і графічних редакторів, систем і спеціалізованих програм для наукових досліджень, комп’ютерних ігор та багато іншого.

Ефективність. Програми мовою С є достатньо швидкодіючими і економними за обсягами оперативної пам’яті, оскільки вони базуються на реальних можливостях комп’ютера. Це пов’язане з тим, що С, хоча і є універсальною мовою програмування, але не відноситься до мов високого рівня, як, наприклад, Pascal, Ada, Modula-2 чи Basic. С – мова середнього рівня, яка може оперувати безпосередньо з даними та їх елементами: байтами, бітами, словами, адресами. Цим С-програми є подібними до програм, написаних мовою асемблера, їх можна налаштовувати або на максимальну швидкодію, або на оптимальне використання оперативної пам’яті.

Структурованість.  С належить до мов, що реалізують принципи структурного підходу, зокрема, проектування програм “згори-вниз”, модульність, локалізацію області дії імен, автономність підпрограм, відокремлення коду програми від даних та інші. Структурованість С-програм є близькою до структурованості програм, написаних мовами Pascal чи Modula-2. Але С використовує єдиний вид підпрограм – функції. Крім цього, С підтримує практично всі керуючі конструкції, а також типи і структури даних, які визнані сучасною теорією і практикою програмування як найбільш ефективні.

Орієнтація на професіоналізм програміста. Однією з базових концепцій С є високий рівень довіри до програміста. Створена для потреб програмістів-професоналів, мова С надає користувачеві гранично широку свободу у виборі даних і засобів програму­вання. Водночас, потрібно пам’ятати, що відсутність контролю може призвести до тяжких помилок у роботі програми, тому на програміста лягає значно вища, ніж в інших мовах, відповідальність за правиль­ність результатів виконання програми.

Лаконізм. Ще однією рисою С, яка приваблює програмістів, є лаконізм записів операторів та інших конструктивних елементів С-програм, пов’язаний передусім з невеликою кількістю ключових слів і потужним набором операцій. Програми мовою С можуть бути винятково компактними і короткими. Проте часами надмірне прагнення лаконізму робить програмний код малозрозумілим і сприятливим для помилок, які важко виявити. Саме тому для С-програм традиційно проводиться конкурс на найбільш заплутану програму.

Мобільність. Важливою рисою сучасних мов програмування є їх мобільність, яка дозволяє переносити програму, написану в одній системі програмування (тобто, на певній операційній платформі) в інше операційне середовище. Мова С належить до мов, що характеризується доброю мобільністю – перенесення програми вимагає мінімальних змін або доповнень. Звичайно, ті програми чи програмні компоненти, що використовують не стандартні засоби, а орієнтуються на конкретне апаратне забезпечення (наприклад, на певний вид відеосистеми або особливості механізму звертання до файлів), залишаються немобільними.

Підсумовуючи сказане, зробимо загальний висновок: С – універсальна мова програмування середнього рівня, яка підтримує більшість сучасних концепцій про­гра­мування, характеризується достатньою потужністю, доброю структурованістю, високою ефективністю, можливістю безпосереднього доступу до даних, компактністю та мобільністю програм. Основним недоліком мови є низька надійність через широку свободу і неконтрольованість дій програміста.

Слово до читача.  Щоб навчитись програмувати, недостатньо ознайомитись з мовою, чи переглянути певну кількість програм. Необхідно самостійно складати програми, перевіряючи їх працездатність, експериментувати, шукати оптимальні програмні рішення, вдосконалюючи зміст і стиль запису програм. Потужна за своїми можливостями і, водночас, не надто складна, лаконічна, цікава й елегантна мова С, яка відповідає більшості сучасних вимог до мов практичного програмування, є найкращим засобом для опановування мистецтвом програмування. "... чим більше працюєш із мовою С, тим зручнішою вона стає," – зазначали у передмові до своєї книги Б.Керніган і Д.Рітчі. Цю тезу можуть підтвердити тисячі програмістів у всьому світі.

У запропонованому читачам навчальному посібнику не тільки зроблено достатньо повний формальний опис мови С, розглянуто синтаксис і семантику її конструктивних елементів, але й наведено велику кількість практичних прикладів з використання описаних конструкцій для програмування різноманітних задач опрацювання числової і текстової інформації. Викладений матеріал базується на стандарті ANSI / ISO мови С (С-89), разом з тим, у відповідних місцях відзначено зміни й доповнення, внесені стандартом С-99. Оскільки переважна більшість читачів, напевно, буде працювати із однією з систем програмування Borland C/C++ та відповідним інтегрованим середовищем, то крім засобів, що належать до стандарту мови С, у процесі викладення матеріалу додатково описані можливості й особливості, властиві компілятору та бібліотекам Borland C.

Автор сподівається, що дана книга допоможе читачеві увійти в захоплюючий світ програмування мовою С і стане основою для подальшого розвитку й вдосконалення його програмістської майстерності.

 

 


Дата добавления: 2015-10-21; просмотров: 45 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
В середині ХІІІ ст., в час великих випробувань для багатьох європейських країн і народів, що зазнали тоді на собі нападів полчищ монголо-татарських ханів, сталася подія, яка cтала знаковою у | 

mybiblioteka.su - 2015-2024 год. (0.009 сек.)