- •1. Понятие и состав языка программирования. Машинные и символьные языки.
- •2. Понятие и состав системы программирования.
- •3. Описание алгоритмических языков. Формулы бнф.
- •4. Описание алгоритмических языков. Синтаксические диаграммы.
- •5.Типы ошибок в программах. Понятие отладки и отладчиков.
- •6.Алфавит си
- •7.Константы. Их типы синтаксис записи.
- •8. Структура программы на языке си
- •9. Стандартные скалярные типы данных. Описание переменных.
- •10 Операции отношения и Арифметические операции
- •11 Логические операции
- •12 Операция запятая
- •13. Операцию присваивания
- •14 Оператор while формально записывается в таком виде:
- •15 Оператор do-while формально записывается следующим образом:
- •16 Операторы цикла for
- •19 Указатели и операции с ними
- •20 Массивы
- •21 Структуры
- •22 Объединения
- •23 Перечислимый тип данных
- •24 Функции
- •25 Классы переменных
- •28 Форматированный ввод данных
- •29 Форматированный вывод данных
- •30 Стандартные включаемые файлы
- •31 Функции работы со строками c
- •32 Динамическое распределение памяти. Функции malloc( ) и free( )
- •33 Основной задачей программирования является обработка информации,
- •34 Потоковый ввод/вывод
- •35 Работа с файлами
- •36 Блочный Ввод-Вывод
13. Операцию присваивания
Охарактеризуем основные операции языка Си. Сначала рассмотрим одну из них - операцию присваивания (=). Выражение вида
х = у;
присваивает переменной х значение переменной у. Операцию "=" разрешается использовать многократно в одном выражении, например:
x = y = z = 100;
Рассмотрим стандартный оператор присваивания в си (операции присваивания в языке программирования C ни чем не отливаются от операторов присваивания в таких языках, как php или паскаль)
i = i + 5 (пример 1)
Это выражение в буквальном смысле означает: «Извлечь переменную i, прибавить к переменной i число 5, и записать получившийся результат в переменную i».
Подобная запись логична и понятна для пользователя, который читает программу на C, однако в некоторых случая она может быть чересчур громоздка. Рассмотрим такое выражение:
abs[xwt[32+y]-xwt[285*x]-ads[32-z]] = abs[xwt[32+y]-xwt[285*x]-ads[32-z]] + 5 (пример 2)
Согласитесь, что запись выглядит менее читабельно, чем в первом примере.
В качестве оператора присваивания в языке си предпочтительнее использовать такую запись: i + = 5,
Которая эквивалентна записи i = i + 5.
Наш нечитабельный пример, в левой части которого стояло математическое выражение, теперь можно переписать в сокращенном виде: abs[xwt[32+y]-xwt[285*x]-ads[32-z]] + = 5
В этой конструкции знак «+=» — это оператор присваивания в языке си.
В операциях, где присутствуют 2 аргумента по обе стороны от знака «=» (в левой и правой частях), возможны также и другие операторы присваивания. Вот они: +—*/%>><<&/\|
Выражения с этими знаками записываются так же, как и операция присваивания со сложением. Рассмотрим эти операторы присваивания подробнее:
a += b эквивалентно присваиванию со сложением: a = a + b
a -= b эквивалентно присваиванию с вычитанием: a = a — b
a *= b эквивалентно присваиванию с умножением: a = a * b
a /= b эквивалентно присваиванию с делением: a = a / b
a %= b эквивалентно присваиванию с остатком от деления: a = a % b
a >>= b эквивалентно присваиванию со сдвигом вправо: a = a >> b
a <<= b эквивалентно присваиванию со сдвигом влево: a = a << b
a &= b эквивалентно присваиванию с поразрядным И: a = a & b
a /\ = b эквивалентно присваиванию с поразрядным исключающим ИЛИ: a = a /\ b
a |= b эквивалентно присваиванию с поразрядным включающим ИЛИ: a = a | b
14 Оператор while формально записывается в таком виде:
while (выражение) тело_цикла
Выражение в скобках может принимать ненулевое (истинное) или нулевое (ложное) значение. Если оно истинно, то выполняется тело цикла и выражение вычисляется снова. Если выражение ложно, то цикл while заканчивается.
15 Оператор do-while формально записывается следующим образом:
do {тело_цикла} while (выражение);
Основным отличием между циклами while и do - while является то, что тело в цикле do - while выполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз.
Допускается вложенность одних циклов в другие, т.е. в теле любого цикла могут появляться операторы for, while и do - while.
В теле цикла могут использоваться новые операторы break и continue. Оператор break обеспечивает немедленный выход из цикла, оператор continue вызывает прекращение очередной и начало следующей итерации.