Мова програмування Сі

Мови програмування Асемблер, Фортран, Бейсік і Рефал

Програма на СІ

# Include <stdio.h>

# Include <conio.h>

main ()

(

float a [100], s; int i, n;

clrscr (); printf ( "n =");

scanf ( "% i", &amp; n);

for (i = 1; i &lt;= n;i + +) (

printf ( "a [% i] =", i);

scanf ( "% f", &amp; a [i]);)

s = 0;

for (i = 1; i &lt;= n; i + +)

s = s + a [i];

printf ( "s =% f \ n", s);

return 0;

}

END.

Мова Асемблера - це символічне подання машинної мови. Він полегшує процес програмування в порівнянні з програмуванням в машинних кодах. Деякі завдання, наприклад, обмін з нестандартними пристроями обробки даних складних структур, неможливо вирішити за допомогою мов програмування високого рівня. Це під силу Асемблер.

В принципі, мова Асемблер є машинним мовою. І програміст, який реалізує будь-яку задачу на мовах високого рівня, за допомогою Асемблера може визначити, осмислено чи рішення даного завдання з точки зору використання ЕОМ.

Одним з перших і найбільш вдалих компіляторів стала мова Фортран, розроблений фірмою IBM. Дослівно назва мови FORmulae TRANslation - перетворення формул.

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

 

Бейсік був створений в 1964 р. як мову навчання програмуванню. Бейсік є загальноприйнятим скороченням від «Beginner's All-purpose Symbolic Instruc-tion Code» (BASIC), що означає «багатоцільовий символічний навчальний код для початківців».

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

У мові Сі відсутні операції, що мають справу безпосередньо зі складовими об'єктами, такими як рядки символів, множини, списки, або з масивами, які розглядаються як ціле. Мова не надає ніяких інших можливостей розподілу пам'яті, окрім статичного визначення і механізму стеків, що забезпечується локальними змінних функцій. Крім того, сам по собі Сі не забезпечує ніяких можливостей вводу-виводу: тут немає операторів READ або WRITE і ніяких вбудованих методів доступу до файлів. Всі ці механізми високого рівня повинні забезпечуватися явно викликаються функціями.

Сі + + - це універсальна мова програмування, задуманий так, щоб зробити програмування більш приємним для серйозного програміста. За винятком другорядних деталей Сі + + є розширенням мови програмування Сі. Крім можливостей, які дає Сі, Сі + + надає гнучкі та ефективні засоби визначення нових типів. Використовуючи визначення нових типів, точно відповідають концепціям програми, програміст може розділяти розроблювану програму на легко піддаються контролю частини. Такий метод побудови програм часто називають абстракцією даних. Інформація про типи міститься у деяких об'єктах типів, визначених користувачем. Такі об'єкти прості і надійні у використанні в тих ситуаціях, коли їх тип не можна встановити на стадії компіляції. Програмування з застосуванням таких об'єктів часто називають об'єктно-орієнтованим. При правильному використанні цей метод дає коротші, що розуміються простіше і легше контрольовані програми.

Як базовий для мови Сі + + був обраний Сі, тому що він:

+ багатоцільовий, лаконічний і відносно низького рівня;

+ відповідає більшості завдань системного програмування;

+ працює скрізь і на всьому;

+ придатний в середовищі програмування UNIX.

Базова мова Сі, підмножина Сі + +, спроектований так, що є дуже близьке відповідність між його типами, операціями та операторами і комп'ютерними об'єктами, з якими безпосередньо доводиться мати справу: числами, символами і адресами. За винятком операцій вільної пам'яті new та delete, окремі вирази і оператори Сі + + зазвичай не мають потреби в прихованій підтримці під час виконання або підпрограма.

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

Істотним критерієм при розробці мови C + + була простота. Там, де виникав вибір між спрощенням керівництва з мови та іншої документації і спрощенням компілятора, вибиралося першим. Величезне значення також надавалося сумісності з Сі, це завадило видалити синтаксис Сі.

У Сі + + немає типів даних високого рівня та первинних операцій високого рівня. У ньому немає, наприклад, матричного типу з операцією поводження чи типу рядок з операцією конкатенації. Якщо користувачу знадобляться подібні типи, їх можна визначити в самій мові. По суті справи, основне, чим займається програмування на Сі + + - це визначення універсальних та спеціально-прикладних типів. Добре розроблений тип, який визначається користувачем, відрізняється від вбудованого типу лише способом визначення, але не способом використання.

Сі + + проектувався для використання в досить традиційної середовищі компіляції та виконання, середовищі програмування на Сі в системі UNIX. Засоби обробки особливих ситуацій та паралельного програмування, що вимагають нетривіальною завантаження і підтримки в процесі виконання, не були включені в Сі + +. Внаслідок цього реалізація Сі + + дуже легко переносимо.