Предисловие
Данное учебное пособие освещает практические приемы программирования на языке С (читается "Си") в среде программирования Microsoft Visual Studio 2010, которая устанавливается в режиме программирования С.
Изначально язык С предназначался для системного программирования при создании операционных систем, системных утилит и встраиваемого программного обеспечения. Он обладает всеми необходимыми для этого свойствами: программы, написанные на нем, очень эффективны, не требуют специальной среды поддержки времени выполнения. Программы на языке С имеют низкие требования к аппаратной части вычислительной системы. Тем не менее в настоящее время язык С часто выбирается из-за стабильности языка и его окружения (стандартные библиотеки, компиляторы и другие инструментальные средства), а также наличия возможности получения программ, выполняющихся с максимальной скоростью на данной аппаратной платформе. Более того, язык С можно использовать и для создания веб-сайтов через технологию CGI (Common Gateway Interface – общий шлюзовый интерфейс).
Немаловажно также то, что компиляторы, библиотеки и инструменты разработки на языке С существуют практически для всех систем. Программы на языке С отличаются переносимостью между платформами на уровне исходного кода.
Язык C оказал большое влияние на индустрию разработки программного обеспечения. С одной стороны, синтаксис многих его инструкций лежит в основе таких языков, как С++, С#, Java, PHP. С другой – он используется в качестве промежуточного в некоторых системах программирования, когда программа сначала транслируется в программу на языке С, и только потом компилируется компилятором языка С для получения окончательного исполняемого модуля.
Язык С называют компьютерным языком "среднего уровня". Но это не означает, что он менее совершенен по сравнению с традиционными языками высокого уровня, такими как Fortran, Pascal, Basic и др. Язык С сочетает элементы языков высокого уровня с функциональностью ассемблера. В нем заложены возможности для разработки конструкций, характерных для языков высокого уровня. В то же время С позволяет манипулировать битами, байтами и адресами, т. е. базовыми элементами, с которыми работает компьютер.
К неоспоримым достоинствам языка С относятся следующие:
- универсальность (используется почти на всех существующих ЭВМ);
- компактность и универсальность кода;
- быстрота выполнения программ;
- гибкость;
- высокая структурированность.
Строительными блоками языка С являются функции, с помощью которых возможно выполнение операций как высокого, так и сравнительно низкого уровня.
Важным аспектом языка С является его структурированность. Специфическая черта структурированного языка – использование блоков. Блок – это набор инструкций, которые логически связаны между собой.
Другая характерная особенность языка С – отсутствие ответственности за действия программиста. Например, в нем не предусматривается контроль выхода за границы массивов (числовых или символьных). Основной принцип данного языка состоит в том, чтобы позволить программисту делать все, что он хочет, но и за последствия отвечает не язык, а программист.
Данное учебное пособие предназначено для начального изучения языка С в течение одного-двух семестров из расчета 51 – 68 академических часов по программе курса "Программирование на языке высокого уровня". Пособие состоит из 21 темы, каждая из которых содержит теоретическую и практическую части. В теоретической даются основные конструкции языка программирования С, которым посвящена та или иная тема. В практической части приведены примеры, задания, представлены их решения, показаны программные коды и результаты выполнения. После изучения программного кода примера предлагаются задания для самостоятельного решения (программирования). После изучения каждой темы необходимо ответить на контрольные вопросы. В завершение приводятся два примера контрольной работы и приложение с описанием типов разрабатываемых проектов. Большинство тем пособия рассчитаны на два академических часа, на изучение некоторых требуется четыре.
Библиографический список после каждой темы позволит желающим самостоятельно дополнить знания по языку программирования С.