🗊Презентация Операторы в языке Си. (Лекция 5)

Нажмите для полного просмотра!
Операторы в языке Си. (Лекция 5), слайд №1Операторы в языке Си. (Лекция 5), слайд №2Операторы в языке Си. (Лекция 5), слайд №3Операторы в языке Си. (Лекция 5), слайд №4Операторы в языке Си. (Лекция 5), слайд №5Операторы в языке Си. (Лекция 5), слайд №6Операторы в языке Си. (Лекция 5), слайд №7Операторы в языке Си. (Лекция 5), слайд №8Операторы в языке Си. (Лекция 5), слайд №9Операторы в языке Си. (Лекция 5), слайд №10Операторы в языке Си. (Лекция 5), слайд №11Операторы в языке Си. (Лекция 5), слайд №12Операторы в языке Си. (Лекция 5), слайд №13Операторы в языке Си. (Лекция 5), слайд №14Операторы в языке Си. (Лекция 5), слайд №15Операторы в языке Си. (Лекция 5), слайд №16Операторы в языке Си. (Лекция 5), слайд №17Операторы в языке Си. (Лекция 5), слайд №18Операторы в языке Си. (Лекция 5), слайд №19Операторы в языке Си. (Лекция 5), слайд №20Операторы в языке Си. (Лекция 5), слайд №21Операторы в языке Си. (Лекция 5), слайд №22Операторы в языке Си. (Лекция 5), слайд №23Операторы в языке Си. (Лекция 5), слайд №24Операторы в языке Си. (Лекция 5), слайд №25Операторы в языке Си. (Лекция 5), слайд №26Операторы в языке Си. (Лекция 5), слайд №27Операторы в языке Си. (Лекция 5), слайд №28Операторы в языке Си. (Лекция 5), слайд №29Операторы в языке Си. (Лекция 5), слайд №30Операторы в языке Си. (Лекция 5), слайд №31Операторы в языке Си. (Лекция 5), слайд №32Операторы в языке Си. (Лекция 5), слайд №33Операторы в языке Си. (Лекция 5), слайд №34

Содержание

Вы можете ознакомиться и скачать презентацию на тему Операторы в языке Си. (Лекция 5). Доклад-сообщение содержит 34 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Операторы
Описание слайда:
Операторы

Слайд 2





Оператор «выражение»
Выражения формируют основные строительные блоки для операторов и определяют, каким образом программа управляет данными и изменяет их. Операторы определяют каким образом управление передается из одной части программы другой.
В языке Си любое выражение можно «превратить» в оператор, добавив к этому выражению точку с запятой:

++i;

В языке Си точка с запятой является элементом оператора и его завершающей частью, а не разделителем операторов.
Описание слайда:
Оператор «выражение» Выражения формируют основные строительные блоки для операторов и определяют, каким образом программа управляет данными и изменяет их. Операторы определяют каким образом управление передается из одной части программы другой. В языке Си любое выражение можно «превратить» в оператор, добавив к этому выражению точку с запятой: ++i; В языке Си точка с запятой является элементом оператора и его завершающей частью, а не разделителем операторов.

Слайд 3





Оператор «выражение» (примеры)
i = 1;

1 сохраняется в переменной i, затем значение операции (новое значение переменной i) вычисляется, но не используется.
i––;

В качестве значения операции возвращается значение переменной i, оно не используется, но после этого значение переменной i уменьшается на 1.
i * j – 1;	// warning: statement with no effect

Поскольку переменные i и j не изменяются, этот оператор не имеет никакого эффекта и бесполезен.
Описание слайда:
Оператор «выражение» (примеры) i = 1; 1 сохраняется в переменной i, затем значение операции (новое значение переменной i) вычисляется, но не используется. i––; В качестве значения операции возвращается значение переменной i, оно не используется, но после этого значение переменной i уменьшается на 1. i * j – 1; // warning: statement with no effect Поскольку переменные i и j не изменяются, этот оператор не имеет никакого эффекта и бесполезен.

Слайд 4





Условный оператор if-else
Условный оператор позволяет сделать выбор между двумя альтернативами, проверив значение выражения. 
if (выражение)
    оператор_1
else
    оператор_2

Скобки вокруг выражения обязательны, они являются частью самого условного оператора. Часть else не является обязательной.
Описание слайда:
Условный оператор if-else Условный оператор позволяет сделать выбор между двумя альтернативами, проверив значение выражения. if (выражение) оператор_1 else оператор_2 Скобки вокруг выражения обязательны, они являются частью самого условного оператора. Часть else не является обязательной.

Слайд 5





Условный оператор if-else
Не путайте операцию сравнения «==» и операцию присвоения «=» .

	if (i == 0) НЕ эквивалентно if (i = 0)

Чтобы проверить, что i[0; n)

	if (0 <= i && i < n) ...

Чтобы проверить противоположное условие i[0; n)

	if (i < 0 || i >= n) ...

Поскольку в выражении условного оператора анализируется числовое значение этого выражения, отдельные конструкции можно упростить. 

	if (выражение != 0)        if (выражение)
Описание слайда:
Условный оператор if-else Не путайте операцию сравнения «==» и операцию присвоения «=» . if (i == 0) НЕ эквивалентно if (i = 0) Чтобы проверить, что i[0; n) if (0 <= i && i < n) ... Чтобы проверить противоположное условие i[0; n) if (i < 0 || i >= n) ... Поскольку в выражении условного оператора анализируется числовое значение этого выражения, отдельные конструкции можно упростить. if (выражение != 0)  if (выражение)

Слайд 6





Составной оператор
В нашем «шаблоне» условного оператора указан только один оператор. Что делать, если нужно управлять несколькими операторами? Необходимо использовать составной оператор.

{
    операторы
}

Заключая несколько операторов в фигурные скобки, мы заставляем компилятор интерпретировать их как один оператор.

if (d > 0.0)
{
    x_1 = (–b – sqrt(d)) / (2.0 * a);
    x_2 = (–b + sqrt(d)) / (2.0 * a);
}
Описание слайда:
Составной оператор В нашем «шаблоне» условного оператора указан только один оператор. Что делать, если нужно управлять несколькими операторами? Необходимо использовать составной оператор. { операторы } Заключая несколько операторов в фигурные скобки, мы заставляем компилятор интерпретировать их как один оператор. if (d > 0.0) { x_1 = (–b – sqrt(d)) / (2.0 * a); x_2 = (–b + sqrt(d)) / (2.0 * a); }

Слайд 7





Вложенный условный оператор
Описание слайда:
Вложенный условный оператор

Слайд 8





Вложенный условный оператор
Поскольку часть else условного оператора может отсутствовать, в случае вложенных условных операторов это может приводить к путанице. 

if (y != 0)
    if (x != 0)
        result = x / y;
else
   printf(“y is equal to 0\n”);
В языке Си else всегда связывается с ближайшим предыдущим оператором if без else. 

if (y != 0)
    if (x != 0)
        result = x / y;
    else
        printf(“y is equal to 0\n”);
Описание слайда:
Вложенный условный оператор Поскольку часть else условного оператора может отсутствовать, в случае вложенных условных операторов это может приводить к путанице. if (y != 0) if (x != 0) result = x / y; else printf(“y is equal to 0\n”); В языке Си else всегда связывается с ближайшим предыдущим оператором if без else. if (y != 0) if (x != 0) result = x / y; else printf(“y is equal to 0\n”);

Слайд 9





Каскадный условный оператор
Описание слайда:
Каскадный условный оператор

Слайд 10





Условная операция
Условная операция состоит из двух символов «?» и «:», которые используются вместе следующим образом
expr_1 ? expr_2 : expr_3

Сначала вычисляется выражение expr_1. Если оно отлично от нуля, то вычисляется выражение expr_2, и его значение становится значением условной операции. Если значение выражение expr_1 равно нулю, то значением условной операции становится значение выражения expr_3.
Описание слайда:
Условная операция Условная операция состоит из двух символов «?» и «:», которые используются вместе следующим образом expr_1 ? expr_2 : expr_3 Сначала вычисляется выражение expr_1. Если оно отлично от нуля, то вычисляется выражение expr_2, и его значение становится значением условной операции. Если значение выражение expr_1 равно нулю, то значением условной операции становится значение выражения expr_3.

Слайд 11





Условная операция
#include <stdio.h>

int main(void)
{
  int x = 5, y = 10, max = x > y ? x : y;

  printf("Max of %d and %d is: %d\n", x, y, max);

  // Можно обойтись без переменной max
  printf("Max of %d and %d is: %d\n", x, y, x > y ? x : y);

  return 0;
}
Описание слайда:
Условная операция #include <stdio.h> int main(void) { int x = 5, y = 10, max = x > y ? x : y; printf("Max of %d and %d is: %d\n", x, y, max); // Можно обойтись без переменной max printf("Max of %d and %d is: %d\n", x, y, x > y ? x : y); return 0; }

Слайд 12





Оператор switch
Описание слайда:
Оператор switch

Слайд 13





Оператор switch
В общей форме оператор switch может быть записан следующим образом
switch (выражение)
{
    case констнатное_выражение : операторы
    ...
    case констнатное_выражение : операторы
    default : операторы
}
Описание слайда:
Оператор switch В общей форме оператор switch может быть записан следующим образом switch (выражение) { case констнатное_выражение : операторы ... case констнатное_выражение : операторы default : операторы }

Слайд 14





Оператор switch
Константное выражение – это обычное выражение, но оно не может содержать переменных и вызовов функций.
5			константное выражение
5 + 10	константное выражение
n + 10	НЕ константное выражение
После каждого блока case может располагаться любое число операторов. Никакие скобки не требуются. Последним оператором в группе таких операторов обычно бывает оператор break.
Описание слайда:
Оператор switch Константное выражение – это обычное выражение, но оно не может содержать переменных и вызовов функций. 5 константное выражение 5 + 10 константное выражение n + 10 НЕ константное выражение После каждого блока case может располагаться любое число операторов. Никакие скобки не требуются. Последним оператором в группе таких операторов обычно бывает оператор break.

Слайд 15





Оператор switch
Только одно константное выражение может располагаться в case-метке. Но несколько case-меток могут предшествовать одной и той же группе операторов.
Описание слайда:
Оператор switch Только одно константное выражение может располагаться в case-метке. Но несколько case-меток могут предшествовать одной и той же группе операторов.

Слайд 16





Оператор switch
case-метки не могут быть одинаковыми.
Порядок саse-меток (даже метки default) не важен.
case-метка default не является обязательной.
Описание слайда:
Оператор switch case-метки не могут быть одинаковыми. Порядок саse-меток (даже метки default) не важен. case-метка default не является обязательной.

Слайд 17





Роль оператора  break в switch
Выполнение оператора break «внутри» оператора switch передает управление за оператор switch. Если бы оператор break отсутствовал, то стали бы выполняться операторы расположенные в следующих case-метках.
Описание слайда:
Роль оператора break в switch Выполнение оператора break «внутри» оператора switch передает управление за оператор switch. Если бы оператор break отсутствовал, то стали бы выполняться операторы расположенные в следующих case-метках.

Слайд 18





Оператор while
В языке Си цикл с предусловием реализуется с помощью оператора while.
В общей форме этот оператор записывается следующим образом
while (выражение) оператор

Выполнение оператора while начинается с вычисления значение выражения. Если оно отлично от нуля, выполняется тело цикла, после чего значение выражения вычисляется еще раз. Процесс продолжается в подобной манере до тех пор, пока значение выражения не станет равным 0.
Описание слайда:
Оператор while В языке Си цикл с предусловием реализуется с помощью оператора while. В общей форме этот оператор записывается следующим образом while (выражение) оператор Выполнение оператора while начинается с вычисления значение выражения. Если оно отлично от нуля, выполняется тело цикла, после чего значение выражения вычисляется еще раз. Процесс продолжается в подобной манере до тех пор, пока значение выражения не станет равным 0.

Слайд 19





Оператор while
#include <stdio.h>

int main(void)
{
    int sum, i, n = 5;

    // Сумма первых n натуральных чисел
    i = 1;
    sum = 0;
    while (i <= n)
    {
        sum += i;
        i++;

        // Можно обойтись одним оператором: sum += i++;
    }

    printf("Total of the first %d numbers is %d\n", n, sum);

    return 0;
}
Описание слайда:
Оператор while #include <stdio.h> int main(void) { int sum, i, n = 5; // Сумма первых n натуральных чисел i = 1; sum = 0; while (i <= n) { sum += i; i++; // Можно обойтись одним оператором: sum += i++; } printf("Total of the first %d numbers is %d\n", n, sum); return 0; }

Слайд 20





Оператор do-while
В языке Си цикл с постусловием реализуется с помощью оператора do-while. 
В общей форме этот оператор записывается следующим образом
do оператор while (выражение);

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

Слайд 21





Оператор do-while
#include <stdio.h>

int main(void)
{
    int digits = 0, n = 157;

    do
    {
        digits++;
        n /= 10;
    }
    while (n != 0);

    printf("The number has %d digit(s).\n", digits);

    return 0;
}
Описание слайда:
Оператор do-while #include <stdio.h> int main(void) { int digits = 0, n = 157; do { digits++; n /= 10; } while (n != 0); printf("The number has %d digit(s).\n", digits); return 0; }

Слайд 22





Оператор for
Оператор for обычно используют для реализации цикла со счетчиком.
В общей форме этот оператор записывается следующим образом
for (expr_1; expr_2; expre_3) оператор

Оператор цикла for может быть заменен (за исключением редких случаев) оператором while
Описание слайда:
Оператор for Оператор for обычно используют для реализации цикла со счетчиком. В общей форме этот оператор записывается следующим образом for (expr_1; expr_2; expre_3) оператор Оператор цикла for может быть заменен (за исключением редких случаев) оператором while

Слайд 23





Оператор for
Описание слайда:
Оператор for

Слайд 24





Оператор for
Любое из трех выражений expr_1, expr_2, expr_3 можно опустить, но точки с запятой должны остаться на своих местах.
Если опустить expr_1 или expr_3, то соответствующие действия выполняться не будут.

	i = 1;
	for ( ; i <= n; )
		sum += i++;

Если же опустить проверку условия expr_2, то по умолчанию считается, что условие продолжения цикла всегда истинно.

	for ( ; ; )
		printf(“Infinity loop\n”);
Описание слайда:
Оператор for Любое из трех выражений expr_1, expr_2, expr_3 можно опустить, но точки с запятой должны остаться на своих местах. Если опустить expr_1 или expr_3, то соответствующие действия выполняться не будут. i = 1; for ( ; i <= n; ) sum += i++; Если же опустить проверку условия expr_2, то по умолчанию считается, что условие продолжения цикла всегда истинно. for ( ; ; ) printf(“Infinity loop\n”);

Слайд 25





Оператор for: идиомы
// Считать в прямом направлении от 0 до n-1
for (i = 0; i < n; i++) ...

// Считать в прямом направлении от 1 до n
for (i = 1; i <= n; i++) ...

// Считать в обратном направлении от n-1 до 0
for (i = n-1; i >= 0; i--) ...

// Считать в обратном направлении от n до 1
for (i = n; i > 0; i--) ...
Описание слайда:
Оператор for: идиомы // Считать в прямом направлении от 0 до n-1 for (i = 0; i < n; i++) ... // Считать в прямом направлении от 1 до n for (i = 1; i <= n; i++) ... // Считать в обратном направлении от n-1 до 0 for (i = n-1; i >= 0; i--) ... // Считать в обратном направлении от n до 1 for (i = n; i > 0; i--) ...

Слайд 26





Оператор for и стандарт C99
В С99 первое выражение expr_1 в цикле for может быть заменено определением. Эта особенность позволяет определять переменные для использования в цикле

for (int i = 0; i < n; i++)
Переменную i не нужно объявлять до оператора for. 
for (int i = 0; i < n; i++)
{
    ...
    printf(“%d”, i);			// OK
    ...
}
printf(“%d”, i);			// ОШИБКА
Описание слайда:
Оператор for и стандарт C99 В С99 первое выражение expr_1 в цикле for может быть заменено определением. Эта особенность позволяет определять переменные для использования в цикле for (int i = 0; i < n; i++) Переменную i не нужно объявлять до оператора for. for (int i = 0; i < n; i++) { ... printf(“%d”, i); // OK ... } printf(“%d”, i); // ОШИБКА

Слайд 27





Операция запятая
Иногда бывает необходимо написать оператор for с двумя или более выражениями инициализации или изменить несколько переменных в конце цикла. Это можно сделать с помощью операции запятая.
выражение_1, выражение_2

Эта операция выполняется следующим образом: сначала вычисляется выражение_1 и его значение отбрасывается, затем вычисляется выражение_2. Значение этого выражения является результатом операции всей операции.
выражение_1 всегда должно содержать побочный эффект. В противном случае от этого выражения не будет никакого толка.
Описание слайда:
Операция запятая Иногда бывает необходимо написать оператор for с двумя или более выражениями инициализации или изменить несколько переменных в конце цикла. Это можно сделать с помощью операции запятая. выражение_1, выражение_2 Эта операция выполняется следующим образом: сначала вычисляется выражение_1 и его значение отбрасывается, затем вычисляется выражение_2. Значение этого выражения является результатом операции всей операции. выражение_1 всегда должно содержать побочный эффект. В противном случае от этого выражения не будет никакого толка.

Слайд 28





Операция запятая
for (sum = 0, i = 1, n = 5; i <= n; i++, sum += i)
    ;	// пустой оператор
Описание слайда:
Операция запятая for (sum = 0, i = 1, n = 5; i <= n; i++, sum += i) ; // пустой оператор

Слайд 29





Оператор break
Оператор break может использоваться для принудительного выхода из циклов while, do-while и for. Выход выполняется из ближайшего цикла или оператора switch.
for (d = 2; d < n; d++)
    if (n % d == 0)
        break;

if (d < n)
    printf(“%d is divisible by %d\n”, n, d);
else
    printf(“%d is prime\n”, n);
Описание слайда:
Оператор break Оператор break может использоваться для принудительного выхода из циклов while, do-while и for. Выход выполняется из ближайшего цикла или оператора switch. for (d = 2; d < n; d++) if (n % d == 0) break; if (d < n) printf(“%d is divisible by %d\n”, n, d); else printf(“%d is prime\n”, n);

Слайд 30





Оператор continue
Оператор continue передает управление в конец цикла.
В циклах while и do-while это означает переход к проверке управляющего выражения, а в цикле for – выполнение expr_3 и последующую проверку expr_2.
Оператор continue может использоваться только внутри циклов.
sum = 0;
i = 0;
while (i < 10)
{
    scanf(“%d”, &num);
    if (num < 0)
        continue;
    sum += num;
    i++;
}
Описание слайда:
Оператор continue Оператор continue передает управление в конец цикла. В циклах while и do-while это означает переход к проверке управляющего выражения, а в цикле for – выполнение expr_3 и последующую проверку expr_2. Оператор continue может использоваться только внутри циклов. sum = 0; i = 0; while (i < 10) { scanf(“%d”, &num); if (num < 0) continue; sum += num; i++; }

Слайд 31





Оператор goto
Оператор goto способен передать управление на любой оператор (в отличие от операторов break и continue) функции, помеченный меткой.
Метка – это идентификатор, расположенный вначале оператора:
идентификатор : оператор
Оператор может иметь более одной метки. Сам оператор goto записывается в форме
goto индетификатор;
Описание слайда:
Оператор goto Оператор goto способен передать управление на любой оператор (в отличие от операторов break и continue) функции, помеченный меткой. Метка – это идентификатор, расположенный вначале оператора: идентификатор : оператор Оператор может иметь более одной метки. Сам оператор goto записывается в форме goto индетификатор;

Слайд 32





Оператор goto
#include <stdio.h>

// Определение "простоты" числа
int main(void)
{
    int d, n = 17;

    for (d = 2; d < n; d++)
        if (n % d == 0)
            goto done;

  done:

    if (d < n)
        printf("%d is divisible by %d\n", n, d);
    else
        printf("%d is prime\n", n);

    return 0;
}
Описание слайда:
Оператор goto #include <stdio.h> // Определение "простоты" числа int main(void) { int d, n = 17; for (d = 2; d < n; d++) if (n % d == 0) goto done; done: if (d < n) printf("%d is divisible by %d\n", n, d); else printf("%d is prime\n", n); return 0; }

Слайд 33





Оператор goto
Считается, что оператор goto источник потенциальных неприятностей. Этот оператор на практике практически никогда не бывает необходим и почти всегда легче обходится без него.
Есть несколько ситуаций, в которых без goto удобно использовать. Например, когда необходимо сразу выйти из двух и более вложенных циклов.
Описание слайда:
Оператор goto Считается, что оператор goto источник потенциальных неприятностей. Этот оператор на практике практически никогда не бывает необходим и почти всегда легче обходится без него. Есть несколько ситуаций, в которых без goto удобно использовать. Например, когда необходимо сразу выйти из двух и более вложенных циклов.

Слайд 34





Пустой оператор
Пустой оператор состоит только из символа «;». Основная «специализация» пустого оператора – реализация циклов с пустым телом:
Описание слайда:
Пустой оператор Пустой оператор состоит только из символа «;». Основная «специализация» пустого оператора – реализация циклов с пустым телом:



Похожие презентации
Mypresentation.ru
Загрузить презентацию