
- •Базовые понятия информатики. Понятие «Информатика» и «Информация»
- •Информация
- •Информационные технологии
- •Понятие алгоритма. Свойства и классы алгоритмов. Формы представления алгоритмов
- •Понятие алгоритма. Базовые алгоритмические структуры
- •Представление данных в памяти персонального компьютера.
- •Принципы обработки программных кодов
- •Компиляторы
- •Интерпретатор
- •Язык с. История развития. Основные свойства языка
- •Отличительные особенности языкаC
- •Элементы языка c
- •Константы
- •Базовые типы данных
- •Директива #include
- •Использование void
- •Инструкция return
- •Описание переменных
- •Обработка данных. Операторы
- •Арифметические операторы
- •Приоритет операторов и порядок вычислений
- •Используемые алгоритмы обработки данных
- •Аккумуляторы
- •Преобразования типов данных
- •Декларации и дефиниции функций
- •Формальные и фактические параметры. Вызов функций
- •Возврат функцией значений
- •Переменные в функциях
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Передача параметров по значению
- •Передача параметров по ссылке
- •Значения параметров по умолчанию
- •Перегрузка функций
- •Рекурсия
- •Встроенные функции
- •Обработка символьных данных
- •Функция puts()
- •Функция putchar()
- •Функция printf()
- •Выбор правильных средств вывода информации
- •Функция gets()
- •Функция getchar()
- •Функция scanf()
- •Выбор соответствующих средств ввода данных
- •Управляющие структуры Структуры выбора (if / else)
- •Структуры выбора (switch/case/default)
- •Структуры повторения (циклы)
- •Использование цикла for
- •Использование цикла do...While (постусловие)
- •Использование цикла while (предусловие)
- •Операторы передачи управления Оператор безусловного перехода goto
- •Оператор break
- •Оператор continue
- •Препроцессор языка Си
- •Массивы Объявление переменной массива
- •Использование индексной переменной
- •Инициализация массива при объявлении
- •Передача массивов в функции
- •Использование констант при объявлении массивов
- •Символьные строки
- •Массивы строк
- •Алгоритмы сортировки массива
- •Поиск заданного элемента в массиве
- •Указатели
- •Объявление указателя
- •Указатели на массивы
- •Операции над указателями
- •Указатели на строку
- •Указатели на функцию
- •Функции, возвращающие указатель
- •Указатели на многомерные массивы
- •Массивы указателей
- •Динамическое распределение памяти
- •Структуры данных
- •Реализация одних структур на базе других
- •Очередь
- •Операции над очередями
- •Операции над стеками
- •Ссылочные реализации структур данных
- •Операции над списками
Компиляторы
Компилятор переводит сразу весь текст программы и сохраняет результат на диске, так что программу можно запустить в любое время.
В сущности, компилятор— это компьютерная программа, которая (с помощью другой программы, называемой компоновщиком) преобразует все ваши инструкции в двоичные коды таким образом, чтобы программа могла быть выполнена компьютером.
Прежде всего компилятор убеждается, что программа написана в соответствии с правилами языка программирования, затем создает промежуточную форму программы— объектный файл. Если во время работы компилятор встретит непонятную ему инструкцию, он сообщит об этом, и вам придется решить возникшую проблему и повторить компиляцию. Компоновщик программ преобразует объектные коды в исполняемую программу (это не означает, что программа сразу же и выполняется).
При работе с компилятором программа существует как бы в трех состояниях. Сначала создается исходный файл, который содержит текст программы, написанный на Си. Его можно распечатывать и читать так же, как любой текстовый файл, созданный при помощи текстового процессора. Этот файл можно редактировать, тем самым изменяя программу. Программа, прошедшая компиляцию, содержится в объектном файле, а окончательный результат представляет собой исполняемый файл, который можно запустить на выполнение.
Си, Си++, Паскаль, Кобол и Фортран— это примеры компилирующих языков.
Интерпретатор
Интерпретатор переводит компьютеру все инструкции непосредственно в момент их выполнения.
Программа, обрабатываемая интерпретатором, существует только в виде исходного текстового файла. Язык BASIC, который поставляется с операционной системой MS-DOS, является примером интерпретирующего языка.
Почему имеет смысл использовать интерпретаторы? Например, когда вы еще только учитесь программировать, интерпретатор позволяет без труда писать и сразу же тестировать программу строка за строкой. Компилятору же, чтобы приступить к переводу, необходимо иметь полностью завершенный текст всей программы, или, как минимум, отдельной исполняемой ее части.
Почему же в таком случае пользуются компилятором? В силу того, что интерпретатор делает процесс создания программы очень легким, у пользователя появляется искушение пренебречь стадией предварительного планирования и проектирования, необходимой для того, чтобы создать работающую программу. Он уверенно приступает к делу, пытаясь писать программу с налету, а затем проводить долгие бесполезные часы, внося изменения методом проб и ошибок. Это не лучший способ работы, и поскольку вы только приступаете к изучению программирования, вам лучше учиться работать грамотно с самого начала.
Кроме того, интерпретируемые языки работают медленнее. Необходимо загрузить интерпретатор в память компьютера, затем переводить и выполнять каждую отдельную строку программы. Компилятор преобразует весь текст программы сразу, а после этого откомпилированная запускаемая программа существует в виде двоичных кодов, адресованных непосредственно компьютеру.
Язык с. История развития. Основные свойства языка
Язык Си (C) был создан в начале 70-х годов Дэннисом Ритчи, который работал в компании Bell Telephone Laboratories. Родословная языка Си (C) берет свое начало от языка Алгол и включает в себя Паскаль и ПЛ/I.
В 1978 году Ричи и Керниган опубликовали первую редакцию книги «Язык программирования Си». Эта книга, известная среди программистов как «K&R», служила многие годы неформальной спецификацией языка.
В конце 1970-х годов Си начал вытеснять Бейсик с позиции ведущего языка для программирования микрокомпьютеров. В 1980-х годах он был адаптирован для использования в IBM PC, что привело к резкому росту его популярности. В то же время Бьярне Страуструп и другие в лабораториях Bell Labs начали работу по добавлению в Си возможностей объектно-ориентированного программирования. Язык, который они в итоге сделали, C++, в настоящее время является самым распространённым языком программирования для платформы Microsoft Windows. Си остаётся более популярным в UNIX-подобных системах.
В 1983 году Американский Национальный Институт Стандартизации (ANSI) сформировал комитет для разработки стандартной спецификации Си. По окончании этого долгого и сложного процесса в 1989 году он был наконец утверждён как «Язык программирования Си» ANSI X3.159-1989. Эту версию языка принято называть ANSI C.
ANSI C сейчас поддерживают почти все существующие компиляторы. Почти весь код Си, написанный в последнее время, соответствует ANSI C.
Язык программирования, известный как Си++— это надмножество языка Си. Реально он не является новым языком, так как включает все операторы и средства языка Си, добавив только некоторые новые. Изучая Си, вы по большей части одновременно изучаете и язык Си++. Преимущество Си++ в том, что он позволяет с большей легкостью разрабатывать большие сложные программы за счет более модульного подхода и некоторых других усовершенствований. Кроме того, Си++ является языком объектно-ориентированного программирования.