Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект по информатике.doc
Скачиваний:
5
Добавлен:
15.09.2019
Размер:
98.3 Кб
Скачать

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

2) входной системой данных для каждого правила является либо исходная система, либо выходная система предыдущего правила.

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

4) Исходная система данных может выбираться из некоторого потенциально бесконечного множества данных.

Алгоритмический набор- символов, так называемый алфавит языка, система правил образований и этих символов конструкций, с помощью которых представляются определённые компоненты алгоритма (синтаксис языка), и правил использования этих конструкций (семантика).

Обработка программ на компьютере обычно состоит из трёх этапов:

  1. Этап кампиляции. Программа переводится на язык машинных кодов, кампилятор проверяет синтаксис и выдаёт сообщение о синтаксических ошибках, при этом указывается тип ошибки и место.

  2. Этап загрузки/сборки/трансляции. Во ремя загрузки в программу помещаются необходимые программные модули. Большинство сообщений об ошибках загрузки возникают из-за неправильного указания имени подпрограммы, или имени встроенной функции.

  3. Этап выполнения. Ошибки возникающие на этом этапе связаны с попыткой обработки недопустимых данных.

03.10.2011

По завершении процессор препроцессирования программа представляется в виде последовательных лексем (единица текста программы, которая имеет определённый смысл для кампилятора и не может быть разбита в дальнейшем). Существует 6 классов лексем. Это: идентификаторы, ключевые слова, константы, стринговые литералы, операторы и прочие разделители. Границы лексем определяются пробельными литерами и другими лексемами.

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

Буквы верхнего и нижнего регистра различаются. Идентификаторы могут иметь любую длину. Для внутренних идентификаторов в большинстве компиляторов значимым является 31 символ, для внешних-6.

Константа - это данные, которые появляются в программе в явном виде и не могут быть изменены в дальнейшем.

Ключевые слова - это предопределённые идентификаторы, которые имеют специальные для компиляторов значения.

Стринговые литералы - это группа литер, заключенных в одинарные или двойные кавычки.

Операторы - это также предопределённые идентификаторы, которые выполняют в программе специальные действия.

Пробел - горизонтально/вертикальная табуляция, новая строка, перевод страницы и комментарии имеют общие названия-прочие разделители (пробельные литеры) и рассматриваются компилятором только как разделитель лексем.

Типы и размеры данных

В С имеется несколько основных операторов объявления типа величин используемых в программе.

Char. Используется для хранения одного символа из внутреннего набора. Занимает 1 байт.

Int. Целые числа. По умолчания занимает 2-4 байта.

Float. Действительные числа. Занимает 4 байта.

Double. Действительные числа с двойной точностью. Занимает 8 байт.

Void. Для данных, значение которых не определено.

Квалификаторы

short-2 bytes?, long-4 bytes, unsigned-4 bytes, signed-4

Квалификатор long можно использовать с действительными числами. Обычно он используется там в качестве суфикса. По умолчанию все константы имеют тип double.

Числа начинающиеся с символа 0 воспринимаются как восьмеричные. Числа, начинающиеся с символов 0x, воспринимаются как 16-ричные.

11.10.2011

Символьные, строковые константы

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

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

\n-переход на новую строку

\t-horisont tabulation

\v-vertical tabulation

\r-go to the end of stroka

\a-zvonok

\b

Арифметические операторы

В С имеются следующие ариф. операторы:

+,- - унарные

+,-,*,/,% - бинарные

Операторы отношения и логические операторы

>

>=

<

<=

==

!=

Уровень старшинства операторов отношения меньше, чем у арифметических. Также в С применяются логические связки: &&, ||

Паритет операций

  1. (), []

  2. ++, --,&,*

  3. *,/,%

  4. +-

  5. <<,>>

  6. <,<=,>,>=

  7. ==, !=

  8. &&

  9. ||

Инкриментно-дикриментные операторы

В С предусмотрены две операции для увеличения и уменьшения значения переменных на 1-цу. Операция ++ - инкриментная, операция -- - дикриментная. Эти операции можно использовать как в префиксе, так и в суфиксе. Эффект-изменение значения на единицу.

Операторы присваивания, условные выражения

x=y+2;

Условные выражения имеют вид: е1?е2:е3

Условные операторы

Операторы иф-элс используются при необходимости выбора одной конструкции или блока. Работает следующим образом: если выражение отлично от нуля – вычисляется конструкция 1, если равно нулю – вычисляется конструкция 2.

Массивы

Упорядоченная совокупность элементов одного и того же типа, отдельные величины которого идентифицируются индексами называются массивом. Каждая отдельная величина называется элементом массива. Общее для всех элементов обозначение называется именем массива. Использование массива в программе позволяет обращаться к различным ячейкам памяти использую одно и то же имя. Для доступа к компонентам массива требуется дополнительная информация. Такая информация заключена в индексном выражении. Список деклараторов располагается после спецификаторов типа и указателей классов памяти. Главный элемент любого декларатора это идентификатор. Спецификаторы класса памяти относятся непосредственно к идентификатору. Тип деклараторов следует воспринимать как утверждение. Если в выражении идентификатор встречается в том же контексте, что и в деклараторе, то он обозначает объект специфицированного типа. Декларатор имеет вид константного выражения. Если присутствует константное выражение, то оно должно быть целочисленное и больше нуля. Если оно отсутствует, то массив имеет незавершённый тип. Незавершённый тип массива получает завершение либо в другой декларации, либо при его инициализации. Все элементы массива нумеруются начиная с нулевого. По определению двумерный массив является одномерным массивом, каждый элемент которого является массивом.

25.10.2011

Многомерные массивы

Объявляются путём задания списка константных выражений, в квадратных скобках следующих за описателем массива. Каждое константное выражение определяет число элементов в данном измерении массива. Память под массив равна памяти для размещения всех его элементов. Между элементами массива разрыв памяти отсутствует. Двумерные массивы запоминаются построчно, то есть последний индекс изменяется быстрее. Массив инициализируется с помощью списка начальных значений.

Операторы цикла

  1. Оператор while. Общая форма: while (bmp) инстр. ; При работе этого оператора вычисляется выражение. Если оно истинно - выполняется инструкция и выражение вычисляется снова. Процесс продолжается до тех пор, пока выражение не станет ложным или равным нулю.

  2. Оператор for. Общая форма: for (выр. 1, выр. 2, выр. 3) инстр. ; Выражение 1-начальное значение. Выражение 2 выполняется перед каждой операцией. Выражение 3-приращение или инициализация. Чаще всего выражение 1 и 3-присваивание или обращение к функции, выражение 2-условное выражение. Любая из трёх частей может отсутствовать, но точка с запятой обязательна.

Выбор типа оператора цикла зависит от конкретного случая. Цикл for предпочтительней там, где имеется простая инициализация. Границы цикла могут быть измененены внутри цикла, а управляющая переменная сохраняет своё значение независимо от того, какая была причина выхода из цикла. Поскольку компонентами for могут быть произвольные выражения, они не ограничиваются только арифметическими прогрессиями.

  1. Оператор do while. В данном цикле проверка окончания цикла осуществляется в конце, а не в начале, как в других циклах, что иногда может повлиять на результат цикла. В данном цикле инструкция выполняется по крайней мере один раз.

01.11.2011