|
Язык c (произносится "си") 1,2
Введение
Язык C (произносится “си”) [1,2] – это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык C не является ни языком “очень высокого уровня”, ни “большим” языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные.
Язык C, первоначально предназначавшийся для написания операционной системы UNIX на ЭВМ DEC PDP-11, был разработан и реализован на этой системе Деннисом Ричи в 1972 году. Операционная система, компилятор с языка C и по существу все прикладные программы системы UNIX (включая почти все программное обеспечение) переписаны на C (в 1973 году). Окончательная версия языка была сформирована в 1977 году. Коммерческие компиляторы с языка C существуют также на практически всех других ЭВМ. Язык C, однако, не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей C-компилятор. В 1978 и 1988 годах разработчики языка Керниган и Ричи выпустили книги по языку С, а в 1990 и 1999 годах были приняты международные стандарты языка, что является несомненным его достоинством в отличие, например, от языка Pascal, для которого не существует международных стандартов.
Так как C относительно мал, он не требует много места для своего описания и может быть быстро выучен, программы на C оказываются достаточно эффективными, так что не возникает побуждения писать вместо этого программы на языке ассемблера.
Хотя C соответствует возможностям многих ЭВМ, он не зависит от какой-либо конкретной архитектуры машины и в силу этого без особых усилий позволяет писать “переносимые” программы, т.е. программы, которые можно пропускать без изменений на различных аппаратных средствах. В языке C объектами основных типов данных являются символы, целые числа нескольких размеров и числа с плавающей точкой. Кроме того, имеется иерархия производных типов данных, создаваемых указателями, массивами, структурами, объединениями и функциями.
Язык C включает основные конструкции потока управления, требуемые для хорошо структурированных программ: группирование операторов, принятие решений (if), циклы с проверкой завершения в начале (while, for) или в конце (do...while) и выбор одного из множества возможных вариантов (switch).
В языке C имеются указатели и возможность адресной арифметики. Аргументы передаются функциям посредством копирования значения аргумента, и вызванная функция не может изменить фактический аргумент в вызывающей программе. Если желательно добиться “вызова по ссылке”, можно неявно передать указатель, и функция сможет изменить объект, на который этот указатель указывает. Имена массивов передаются указанием начала массивов, так что аргументы типа массивов эффективно вызываются по ссылке.
К любой функции можно обращаться рекурсивно, и ее локальные переменные обычно “автоматические”, т.е. cоздаются заново при каждом обращении. Описание одной функции не может содержаться внутри другой, но переменные могут описываться в соответствии с обычной блочной структурой. Функции в C-программе могут транслироваться отдельно. Переменные по отношению к функции могут быть внутренними, внешними, но известными только в пределах одного исходного файла, или полностью глобальными. Внутренние переменные могут быть автоматическими или статическими. Встроенных функций (например, ввода-вывода) С не имеет.
Операторы, составляющие функцию, заключаются в фигурные скобки {}. Обращение к функции осуществляется указанием ее имени, за которым следует заключенный в круглые скобки список аргументов. Круглые скобки должны присутствовать и в том случае, когда функция не имеет аргументов. Начинается выполнение задачи с функции, которая имеет имя main. Вызов функции main недопустим.
Все вышенаписанное говорит о том, что данный язык должен быть популярным. В настоящее время язык программирования C является наиболее распостраненным при проектировании приложений, написания системных программ и игр. Широко распостранены компиляторы с языка С фирм Borland Int., Microsoft и Watcom. Существуют стандарты на язык C. Дальнейшее развитие этот язык получил при появлении объектно-ориентированной его модификации C++ [3]. На базе этого языка создаются пакеты проектирования такие, как, например, C++Builder [4]. Здесь будет рассмотрена модификация языка С Turbo-C фирмы Borland Int. Данное учебное пособие ни в коем случае не претендует на полное и подробное описание конструкций языка С, но в нем даны практически все ключевые слова и приведен ряд оригинальных примеров, в которых объяснено действие большинства операторов С. Также дано описание части библиотечных функций С [5], достаточных для начала самостоятельной работы. Приведены также варианты задач на практические занятия.
Данное учебное пособие предназначено для студентов специальностей и направлений 553000 “Системный анализ и управление”, 220200 “Автоматизированные системы обработки информации и управления”, а также других специальностей при изучении курса “Информатика” и “Алгоритмические языки и программирование”. Это учебное пособие будет полезно всем, изучающим язык программирования C, а также программирующим на этом языке как справочное руководство.
|
|
|