Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYaVU_otvyty.docx
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
100.42 Кб
Скачать

Билет 15. Операторы. Приоритет и ассоциативность операторов.

Инструкция или оператор (англ. statement) — наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.Операторы можно условно разделить на несколько категорий:

Унарные – это операторы, которые предназначены для работы только с одним операндом. Например «x++» или «x--» или «–x».

Бинарные – операторы, которые предназначены для работы с двумя операндами. Например «a+b», «a*b».

Тернарные – Операторы, которые предназначены для работы с тремя операндами. Ярким примером является оператор условия «(a>b)?a:b».

Все операторы языка СИ могут быть условно разделены на следующие категории:

условные операторы,ловия if и оператор выбора switch;

операторыцикла («for», «while», «do while»);

операторыперехода («break», «continue», «return», «goto»);

другие операторы (оператор "выражение", пустой оператор).

Приоритеты операторов.----на таблице-->>

Билет 16. Арифметические операторы.

Арифметические операторы можно разделить на унарные и бинарные. К унарным относятся оператор «++», «--», «%»(вычисление целой части числа). К Бинарным можно отнести операторы «+», «-», «*», «/».

В унарных арифметических операторах нужно разделять префиксную и постфиксную форму записи. Например «x++» - постфиксная, а «++x» - префиксная.

Приведем 2 примера:

Первый пример:

int n=5;

printf("++n=%d\n",++n);

printf("n=%d\n",n);

В этом случае на экране мы увидим:

++n=6

n=6

Второй пример:

int n=5;

printf("n++=%d\n",n++);

printf("n=%d\n",n);

В этом случае на экране мы увидим:

n++=5

n=6

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

В языке Си организованы операторы отношения и сравнивания чисел.

Операции Матем. Знач. Си Пример

Меньше << a<b

Меньше или равно ? <= a<=b

Больше>> a>b

Больше или равно ? >= a>=b

Равно = = a=b

Не равно ? != a!=b

ВАЖНО!!!

В Языке Си нету стандартного типа boolean. Для использования типа boolean организована специальная библиотека bool.h. Устроена она тоже очень интересно. Нету такого понятия как true и false. Есть понятие =0 (false) и !=0(true).

Билет 18: Логические выражения. Порядок вычисления логических выражений

Логическое выражение в программировании - конструкция языка программирования, результатом вычисления которой является «истина» или «ложь».

В большинстве HYPERLINK "http://ru.wikipedia.org/wiki/Язык_программирования"языков программирования среднего и высокого уровня определён набор встроенных HYPERLINK "http://ru.wikipedia.org/wiki/Операция_(программирование)"операций сравнения позволяющих строить «простые» логические выражения. Самыми распространёнными являются: равенство (==), не равно (!=), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=) и другие.

Например, логическое выражение «5 > 3» истинно, а «6 != 6» ложно.

В свою очередь, над логическими выражениями возможны операции результатом которых так же являются «истина» и «ложь. Логические выражения построенные при помощи этих операций и содержащие несколько операций сравнения называются «сложными». Некоторые такие операции: или (||), и (&&), отрицание (!)

Примеры сложных логических выражений: !А && (B || V), A>3&&B<6

Порядок вычисления выражений в языке «С», как правило, не определён.

Язык ”C” определяет порядок группировки операторов и операндов.

Порядок вычисления выражения A*B+C определяется с помощью приоритетов и ассоциативности.

Наивысший приоритет имеет оператор:

() и []

Низшие A+B, 2*A, 7-B

Пример:

For ( s=0; i=1; i<=n; i++)

Cos(x)*sqrt(x)+exp(x)

Ассоциативность – определяет порядок группировки операторов и операндов в том случае, когда операторы и операнды имеют одинаковый приоритет.

Левая ассоциативность Правая ассоциативность

(Бинарные) (Унарные)

* и / - имеют одинаковый приоритет.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]