Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_пяву_4.doc
Скачиваний:
101
Добавлен:
15.03.2015
Размер:
1.29 Mб
Скачать

Санкт-Петербургский

государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича

С. В. Козин, Н. А. Матиясевич

Программирование на языке высокого уровня

САНКТ-ПЕТЕРБУРГ

2012

Введение

Язык программирования Си разработан в начале 70-х годов Денисом Ритчи. Реализация языка относится к 1972г.

Язык Си традиционно используется для системного программирования. В частности, большая часть операционной системы UNIXбыла написана на этом языке. Однако язык Си находит широкое применение и в прикладном программировании.

Популярность языка Си обусловлена рядом факторов. Это эффективный, мощный язык программирования. Имеются два стандарта языка Си (С89 и С99). Оба стандарта содержат как определение языка, так и определение стандартной библиотеки. Для обеспечения переносимости программы следует использовать те его библиотечные функции, которые поддерживаются стандартом языка.

В основу создания языка были положены следующие принципы:

● Доверять программисту.

● Не мешать использовать программисту те средства, которые ему нужны.

● Сохранять язык простым и компактным.

● Обеспечить только один способ выполнения любой операции.

● Быстродействию следует отдать предпочтение по отношению к переносимости.

Некоторые авторы относят Си к языкам среднего уровня. В этом языке можно обнаружить как черты языка высокого, так и низкого уровня. С языками высокого уровня Си сближает наличие всех стандартных управляющих структур, которые характерны для структурного программирования. В языке Си используется развитый механизм подпрограмм. Используемые в языке подпрограммы называются функциями.

С языками низкого уровня Си сближает возможность работы с битами, байтами и адресами. Для языка Си характерна сравнительно низкая типизация, присущая языкам низкого уровня. В связи с этим на начальном этапе развития язык Си справедливо называли ассемблером высокого уровня. Одним из факторов исходного языка Си, определяющих низкий уровень типизации, являлось отсутствие контроля соответствия между параметрами определения функции и аргументами ее вызова. Это было обусловлено особенностями организации функций (старый стиль). В настоящее время в основном используется стиль организации функций, который называют новым. Последний заимствован Си из языка С++. Этот стиль основан на использовании так называемых прототипов. Прототип функции позволяет обеспечить корректную компиляцию вызова функции. Тем не менее, стандарт языка С89 допускал компиляцию вызова функции и при отсутствии прототипа. В этом случае компилятор создавал так называемое неявное объявление функции. Стандарт С99 неявное объявление не поддерживает.

Оценивая в целом язык Си, следует отметить его широкое применение, как для системного, так и для прикладного программирования. Следует учитывать и наличие значительного количество языков, которые заимствовали базовый механизм организации типов, операторов и управляющих конструкций языка Си. К таким языкам относятся языки С++, С# и Java.

К недостаткам языка обычно относят сравнительно низкую типизацию и сложный синтаксис некоторых его конструкций.

Прежде чем переходить к последовательному изложению материала сделаем следующее замечание. Существуют различные варианты перевода на русский язык некоторых английских терминов, используемых в языке Си. В этом вопросе будем придерживаться принятым в [1] правилам перевода английских терминов на русский язык. Например, английский термин operatorбудем переводить как оператор, а терминstatement будет переводиться как инструкция.