6.Модульная обработка программ.
В языке Си компиляция и компоновка производятся раздельно. Это позволяет программисту перекомпилировать лишь часть программы, измененную в процессе разработки. Это свойство очень полезно при написании больших программ, состоящих из модулей.
7. Связь с языком Ассемблером.
Допускается вставка кода на языке Ассемблер в код программы на Си. Возможно написание двух программ: одной на Си, другой на Ассемблере, с последующим объединением их на этапе компоновки. Это требует наличие двух языков, раздельного редактирования, компиляции, а также раздельной отладки. Следует также отметить, что функции Си на большинстве систем легко встроить в программы на языке Ассемблере.
8. Работа с отдельными битами.
Возможность Си по манипуляции битами, байтами и словами является стандартной, переносимой частью компилятора. Хотя некоторые компиляторы Паскаля (Borland Pascal) разрешают манипулировать с битами, эти конструкции языка не являются стандартными и, следовательно, не являются переносимыми.
9. Поддержка арифметики над указателями.
Хотя указатели реализованы и в других языках, СИ выделяется из них поддержкой арифметики над указателями.
10. Структуры данных, определяемые пользователем.
Си не ограничивает ни тип , ни размер единичного элемента массива, что позволяет программе сочетать массивы, записи и структуры в любых комбинациях.
11. Экономия пространства.
Программы на Си не только быстры, но и очень эффективно используют память.
12. Многоплатформная разработка.
Программы, написанные на Си, являются одними из наиболее переносимых в современном компьютерном мире. Можно создать программу, которая будет работать на различных архитектурах и ОС, т.е. на различных платформах.
Недостатки языка Си.
1.Слабая типизация.
Тот факт, что Си слабо типизирован, является одновременно одной из сильных сторон и одним из основных недостатков.
С технической стороны типизация-это мера того, насколько строго язык контролирует типы переменных. Си скомпилирует любой оператор, присваивающий целое значение символьной переменной и наоборот. Это означает, что программисты должны сами заботиться о правильности использования своих переменных. У опытного программиста это не вызывает затруднений. Начинающим программистам на Си следует помнить, что слабая типизация языка дает большую гибкость манипулирования данными и могут возникнуть побочные эффекты.
Побочным эффектом в языке является незапланированное изменение переменной или других данных.
2.Отсутствие проверки во время выполнения.
Отсутствие проверки во время выполнения в Си может приводить к трудно устранимым проблемам. Например, система поддержки выполнения не предупредит, если в программе происходит нарушение границ массива.
Отсутствие проверки во время выполнения - это цена за скорость и эффективность программы.
В начале 80-ч годов в той же Bell Laboratories Бьярном Страуструпом был разработан на основе языка Си – язык Си++. Язык Си++ является расширением языка Си, поэтому программы, написанные на Си, могут обрабатываться компилятором языка Си++. Сегодня разработано несколько версий этого языка(1.хх, 2.хх, 3.хх, 4.хх). С начала 90-х годов появились компиляторы языка Си++ для ПК, например, Turbo C++ и Borland C++ компании Borland и Visual C++ фирмы Microsoft.
Для изучения Си мы будем использовать систему 1.0, которая замечательна тем, что требует всего 6 М байт жесткого диска, 640 Кбайт ОП (оперативной памяти).
п. 1. Элементы языка Си.
Элементы языка Си – это базовые константы, которые используются для написания программы:
-алфавит;
-константы;
-идентификаторы;
-ключевые слова;
-комментарии.
п.1.1.Алфавит.
а) Буквы латинского алфавита и арабские цифры.
Компилятор Си рассматривает прописную и строчную букву, как разные символы.
б) Пробельные символы: пробел, возврат каретки, новая строка, новая страница.
в) Разделители: . ; , () и т. д. для различных целей.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.