If(условие) выражение_1 else выражение_2




Если условие истинно, выполняется выражение_1, если – ложь, то выражение_2.

Например, определение максимума из двух величин х и y:

if (x>y) a=x;

else a=y;

Условие может иметь арифметический тип или тип указателя. Если выражение равно нулю, то условие считается ложью. Любое другое значение выражения считается истиной. Выражение_1, выражение_2 могут быть составными операторами.

Пример. Нахождение максимума и минимума из двух величин х и y:

if(x>y){max=a; min=y; puts("x больше y"); }

else {max=y; min=x; puts("x меньше y"); }

Допустима сокращенная форма условного оператора, в котором отсутствует конструкция else выражение_3. В этом случае при равенстве нулю проверяемого условия никаких действий не выполняется. Блок-схемы работы полного и неполного условного оператора представлены на рис.

Пример. Переменной abs присвоить абсолютное значение числа х

if(x<0) x=–x;

abs=x; // всегда выполняется

Выражение_2 и выражение_3 могут также быть условными. В этом случае получаем вложенные условные операторы. Причем, каждый оператор else соответствует ближайшему оператору if.

Пример. Три числа типа int вводятся с клавиатуры, и находится наибольшее из этих чисел.

#include <stdio.h>

Void main()

{int x, y, z, max;

puts("Введите три числа");

scanf("%d %d %d",&x,&y,&z);

if(x>y&&x>z) max=x;

else if(y>z) max=y;

else max=z;

printf(“max=%d\n”,max);}

4.2.2 Оператор- переключатель

Переключатель применяется для выбора одного из нескольких вариантов вычислений (обычно больше трех). Синтаксис переключателя такой:

Switch(переключающее_выражение)

{case константное_выражение_1: операторы_1;

case константное_выражение_2: операторы_2;

...

default: операторы_n+1;}

Оператор switch() передает управление тому оператору, кон­стантное_выражение которого совпадает со значениями переклю­чающего_выражения. затем выполняются все операторы, начиная с той метки, на которую передано управление. Любой из операторов, помеченный меткой, может быть составным оператором или блоком. Переключающее выра­жение должно быть целочисленным. Все константные выражения должны быть разными, но одного целого типа. Любой из операторов в операторе switch() может быть помечен одной или несколькими метками через пробел, после каждой метки стоит двоеточие.

Если значение переключающего выражения не совпадает ни с одним из константных выражений, то выполняется переход к операто­ру c меткой default:. В каждом переключателе должна быть только одна метка default. Но эта метка может отсутствовать. В этом случае не выполняется ни один из операторов.

Блок-схемы работы оператора switch() без оператора break и с оператором break представлены на рисунке.

Пример.

char a; printf("Введите a,v,s\n");

scanf("%c",&a);

Switch(a)

{case 'a': printf("абрикос");

case 'v': printf("вишня");

case 's': printf("слива");

default: printf("такой фрукты нет"); }

Метки не изменяют последовательности выполнения операторов. В этом примере, если a='v', напечатается: вишня слива такой фрукты нет.

Для выхода из оператора switch() предусмотрен оператор break. Если поместить оператор break после каждой группы опера­торов, то выполниться только та группа, константное выражение которого совпало с переключающим.

Пример. По введенному числу определяется время начала пар:

int n;

printf("Введите номер пары и узнаете время\n");

scanf("%d",&n);

Switch(oper)

{ case 1: puts("1 пара 8.30-9.55); break;

case 2: puts("2 пара 10.05-11.25); break;

case 3: puts("3 пара 11.55-13.15); break;

case 4: puts("4 пара 13.35-14.55); break;

default: puts("пора домой\n"); }

4.3 Операторы циклов

Операторы цикла задают многократное выполнение операторов тела цикла. Определены три разных оператора цикла:

· цикл с предусловием:

While (условие)

Тело_цикла

· цикл с постусловием:

Do тело_цикла

while (условие);

· итерационный цикл:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-04-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: