Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
14.11.2017
Размер:
352.59 Кб
Скачать

Список основных операций

(продолжение)

Укороченная форма оператора присваивания

=

Простое присваивание

*=

Сложное присваивание

/=

- " -

%=

- " -

+=

- " -

-=

- " -

<<=

- " -

>>=

- " -

&=

- " -

^=

- " -

|=

- " -

x = y, a = b = c = d = 0

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

x <<= y,

x = x<<y

x >>= y,

x = x>>y

x &= y,

x = x & y

x ^= y,

x = x ^ y

x |= y,

x = x | y

11

Технология и языки программрования

Список основных операций

(продолжение)

Условная операция

Результат = выражение1 ? выражение2 : выражение3 Если выражение1 истинно, то выполняется выражение2,

иначе выполняется выражение3.

Пример – вывод на экран значения минимальной по величине одной из двух переменных:

int a=19, b=12, c; c = (a < b)? a : b;

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

или

int a=5, b=7;

printf("MIN = %d\n", (a < b)? a : b);

12

Технология и языки программрования

Управляющие операторы

Основные алгоритмические конструкции: следование,

выбор (ветвление, альтернатива), повторение (цикл)

Управляющие операторы: условный оператор,

операторы цикла, оператор безусловного перехода

Условный оператор if (условие) оператор1 else оператор2; Если условие истинно, то выполняется оператор1,

иначе выполняется оператор2 Пример – вывод на экран значения минимальной по величине одной из двух переменных:

int a=10, b=127, c;

if (a < b) c = a; else c = b; printf("MIN = %d\n", c);

13

Технология и языки программрования

Управляющие операторы

(продолжение)

Пример – ввод чисел и нахождение частного от деления одного числа на другое с проверкой деления на ноль

Блок-схема алгоритма

начало

ввод a, b

 

НЕТ

 

 

b = 0 ?

 

ДА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c = a/b

 

 

 

 

 

сообщение

 

 

 

 

 

 

 

об ошибке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вывод c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конец

14

Технология и языки программрования

Управляющие операторы

(продолжение)

Пример – ввод чисел и нахождение частного от деления одного числа на другое с проверкой деления на ноль

int main(void)

{

int a=0, b=1; double c;

printf("Enter Dividend and Divisor -> "); scanf("%d%d",&a,&b);

if (b==0) printf("\nDivision by zero! Skip...\n\n"); else

{

c = (float) a/b;

printf("\nQuotient= %10.3f\n\n", c);

}

return 0;

}

15

Технология и языки программрования

Управляющие операторы

(продолжение)

Оператор цикла с постусловием

do

{

тело цикла;

}

while (условие возврата в цикл);

Вхождение в цикл безусловное, проверка выполняется в конце. Если результат проверки оказывается истинным, т.е. условие выполняется, то осуществляется переход назад – к началу цикла. Если условие не выполняется, то осуществляется переход вперед – к оператору, следующему за циклом.

16

Технология и языки программрования

Управляющие операторы

(продолжение)

начало

Пример

Деление двух целых чисел с проверкой наличия ошибки деления на ноль.

Если она есть, то выдается сообщение об ошибке и выполняется возврат к вводу чисел.

 

ввод a и b

ДА

НЕТ

 

b=0?

сообщение об ошибке

c = a/b

вывод с

конец

17

Технология и языки программрования

Управляющие операторы

(продолжение)

Текст программы деления. Цикл с постусловием

#include <stdio.h> int main(void)

{

int a,b; double c; do

{

printf("Enter two integer numbers: "); scanf("%d%d", &a, &b);

if (b==0)printf("\nError: division by zero. Try again\n\n");

}

while(b == 0); c = (float) a/b;

printf("\nThe result = %10.3f\n\n", c); return 0;

}

18

Технология и языки программрования

Управляющие операторы

(продолжение)

Оператор цикла с предусловием

while (условие вхождения в цикл);

{

тело цикла;

}

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

Если условие не выполняется, то осуществляется переход вперед – к оператору, следующему за циклом.

19

Технология и языки программрования

Управляющие операторы

(продолжение)

Два варианта алгоритма решения задачи деления. Цикл с предусловием

 

начало

инициализация

a - любое, b=0

ДА

НЕТ

 

b=0?

ввод a и b

c = a/b

ДА

НЕТ

b=0?

вывод с

сообщение

 

об ошибке

 

 

конец

 

вариант 1

 

начало

 

ввод a и b

ДА

НЕТ

 

b=0?

сообщение

c = a/b

об ошибке

 

ввод a и b

вывод с

 

конец

 

вариант 2

20

Технология и языки программрования

Соседние файлы в папке Бочаров презентации 1 семестр