- •Вопрос 1.
- •Вопрос 2.
- •Вопрос 3.
- •Вопрос 4.
- •Вопрос 5.
- •Вопрос 6.
- •Вопрос 7.
- •Вопрос 8.
- •Вопрос 9.
- •Вопрос 10.
- •Вопрос 11.Рекурсия: понятие, пример использования.
- •Вопрос 12. Строки в Delphi. Способы реализации строк. Основные процедуры и функции.
- •Вопрос 13.
- •Вопрос 14.
- •Вопрос 15.
- •Вопрос 16. Программирование с использованием динамической памяти. Структура оперативной памяти. Понятие указателя.
- •Вопрос 17. Указатели. Описание, допустимые операции
- •Вопрос 18. Статические и динамические переменные. Динамические структуры данных
- •19. Линейные списки. Основные операции над линейными списками.
- •21. Стек: понятие, описание в программе, основные операции
- •22. Очередь: понятие, описание в программе, основные операции
- •23. Списки: понятие, описание в программе, основные операции
- •24. Применение динамических структур данных. Проверка математического выражения на правильность расстановки скобок.
- •Вопрос 25.
- •Вопрос 26.
- •Вопрос 27.
- •Вопрос 28.
- •Вопрос 29.
- •Вопрос 30.
- •Вопрос 33.
- •Вопрос 35.
- •Вопрос 36. Операторы инкремента и декремента. Операторы присваивания
- •Вопрос 37. Функции scanf, printf
- •Вопрос 38. Способы задания разветвляющегося алгоритма в с
- •Вопрос 39. Циклические алгоритмы. Виды циклов в с
- •Вопрос 40. Табулирование функции
- •41. Алгоритм вывода всех простых чисел меньших 100 в с.
- •42. Алгоритм разложения числа на простые множители в с
Вопрос 36. Операторы инкремента и декремента. Операторы присваивания
Когда мы со значением переменной производили арифметическое действие и после записывали результат в эту же переменную, то мы это писали так: х=х+10 Язык С позволяет эту же операцию записать и по-другому: х+=10. Что меняется от такого написания? Во-первых, вам не нужно второй раз набирать имя той же переменной. Кроме того, компилятор вторые варианты написания обрабатывает немного быстрее. Такие операции называются сокращенными или составными присваиваниями. К другим арифметическим операторам мы тоже можем применить сокращенное написание.
вместо х=х-2 х-=2 вместо х=х*2 х*=2 вместо х=х/2 х/=2 вместо х=х%2 х%=2. Существуют операции присваивания с ОДНИМ оператором. Такие операции называются унарными именно потому, что имеют один операнд. От латинского слова Uno, что значит "один". Это операции инкремента и декремента (или увеличения и уменьшения). Операторы этих операций выглядят соответственно так: ++ и -- . Что же они делают? При операции увеличения значение операнда увеличивается на 1, а при операции уменьшения - уменьшается на 1. Допустим, есть переменная х. Мы хотим применить к ней операцию инкремента. Возможно, учитывая наши прошлые знания и полученные сегодня в начале урока, мы бы написали так: х=х+1 или х+=1. Но если вы точно уверены, что переменная ваша будет изменяться в большую или меньшую сторону только на 1, лучше будет использовать инкремент или декремент соответственно. И выглядеть это будет так: х++ или х-- Операнд может быть целого или плавающего типа. В любом случае он будет увеличиваться (уменьшаться) на единицу. Тип результата соответствует типу операнда. Cуществует две формы рассматриваемых операций: префиксная и постфиксная. Если операторы ++ или -- записаны после переменной (так, как написано выше) - это постфиксная форма. При этом последовательно происходят следующие действия:
старое значение переменной сохраняется для использования в дальнейшем выражении, в котором встретилась эта переменная;
и только ПОСЛЕ этого ее значение СРАЗУ ЖЕ изменяется на 1. Если эти операторы записаны перед переменной, вот так: ++х или --х, то это префиксная форма. При этом последовательность действий такая:
СНАЧАЛА переменная изменяется на 1;
и только после этого используется в выражении. На примере будет понятнее. Рассмотрим его: int t=1, z; z=(t++)*5; В начале происходит умножение t*5, а затем увеличение t. В результате получится z=5, t=2. int s=2, f; f=(++s)/3; В начале значение s увеличивается, а затем используется в операции деления. В результате получим s=3, f=1. Обратите внимание!
Когда инкремент или декремент выполняются как совершенно отдельный от других выражений оператор, то префиксная и постфиксная форма приводят к одинаковому результату, то есть, при таком использовании нет никакой разницы, где мы пишем оператор.
Нельзя использовать в операции инкремента или декремента сложный операнд, представляющий собой выражение. Можно только простую переменную. Написать ++(у-1) будет ошибкой.