Условный оператор
Условный оператор
302.50K
Категория: ПрограммированиеПрограммирование

Условный оператор

1. Условный оператор

Синтаксис неполной формы условного оператора :
if (условие)
/* оператор */ ;
В случае нескольких операторов, операторы, которые должны
выполняться в случае истинности условия заключаются в
операторные скобки { }
if (условие)
{
/*группа операторов */ ;
}

2. Условный оператор

В языке Си существует две формы условного оператора:
•неполная форма
if ( условие ) действие;

3.

2)полная форма
if ( условие ) действие1; else действие2

4.

В следующей программе для введенного числа проверяется его четность. В
случае если число чётное выводится соответствующее сообщение. В
противном случае на экран ничего выведено не будет.
#include <stdio.h>
void main() {
setlocale(LC_ALL, "Russian");
int value;
printf("Введите число: ");
scanf("%d",&value);
if (value % 2 == 0)
printf(" Число четное! ");
}

5.

Дано целое
положительное число n (n≤1000). Составить программу,
которая, если число чётное, выводит последнюю цифру этого числа.
#include <stdio.h>
void main() {
setlocale(LC_ALL, "Russian");
int value;
printf("Введите число: ");
scanf("%d",&value);
if (value % 2 == 0)
printf(" Последняя цифра числа равна %d",
value % 10 );
}

6.

Синтаксис полной формы условного оператора:
if (условие)
{
/* оператор */ ;
}
else
{
/* оператор */ ;
}
или, в случае нескольких операторов
if (условие)
{
/*группа операторов */ ;
}
else
{
/* группа операторов */ ;
}

7.

В следующей программе для введенного числа проверяется его
положительность.
В
случае
если
число
положительно
выводится
соответствующее сообщение, если отрицательно — выводится соответствующее
ему положительное число.
#include <stdio.h>
void main() {
setlocale(LC_ALL, "Russian");
int value;
printf("Введите число: ");
scanf("%d",&value);
if (value > 0)
printf("Число %d положительное", value);
else
printf(" %d ", -value);
}

8.

Вложенные условные операторы
if (условие) {
/*группа операторов */ ;
if (условие) {
/*группа операторов */ ;
}
else {
/*группа операторов */ ;
}
}
else {
/*группа операторов */ ;
if (условие) {
/*группа операторов */ ;
}
else {
/*группа операторов */ ;
}
}

9.

Дано действительное число x. Составить программу, которая находит
значение функции
| x 3 |, если x 3,
f ( x) x 6 , если x 6,
1
x 10 , если 3 x 6.
#include <stdio.h>
#include <math.h>
void main() {
setlocale(LC_ALL, "Russian");
float x;
printf("Введите число: ");
scanf("%f",&x);
if (x<-3)
printf("%f",abs(x+3));
else
if (x>=6)
printf("%f", sqrt(x-6));
else
printf("%f", 1/(x-10));
}

10.

Тернарная операция
Оператор ? : позволяет создавать простые однострочные условные
выражения, в которых выполняется одно из двух действий в зависимости от
значения условия.
Синтаксис :
Условие ?
выражение1 : выражение2
Если условие истинно, то выполняется выражение 1, если ложно, то
выражение 2.
Примеры
Использование оператора
if/else
If (a>0) a++ else a-- ;
Использование оператора ? :
If (a>0) cout<< a;
else cout<< -a;
cout << (a>0 ? a : -a);
a>0 ? a++ : a-- ;

11.

Оператор множественного выбора switch
Синтаксис оператора switch
switch (/* переменная или выражение */)
{
case /* константное выражение1 */:
{
/* группа операторов */;
break;
}
case /* константное выражение2 */:
{
/* группа операторов */;
break;
}
// . . .
default:
{
/*группа операторов*/;
}
}

12.

Оператор множественного выбора switch
Написать программу, которая запрашивает у пользователя номер дня недели и выводит
одно из сообщений: «Увы – рабочий день!», «Ура! Суббота!», «Ура! Воскресенье!».
#include <stdio.h>
void main ( ) {
int number;
printf ("vvedite nomer dnya nedeli");
scanf ("%d",&number);
switch(number)
{
case 1: printf ("workday\n");break;
case 2: printf ("workday\n");break;
case 3: printf ("workday\n");break;
case 4: printf ("workday\n");break;
case 5: printf ("workday\n");break;
case 6: printf ("saturday\n");break;
case 7: printf ("sunday\n");break;
default:
printf("oshibochka vishla! net takogo dnya nedeli!");
}
}

13.

Операции отношений
Оператор
<
>
<=
>=
==
!=
Значение
Меньше — возвращает true, если первый операнд
меньше второго.
Больше — возвращает true, если первый операнд
больше второго.
Меньше или равно.
Больше или равно.
Равенство. Возвращает true, если два операнда равны.
Неравенство. Возвращает true, если два операнда
неравны.

14.

Логические операции
Логический
оператор
Смысловое
обозначение
&&
И
||
ИЛИ
!
НЕ
Описание
Пример
составного
условия
Составное условие истинно, x==2 && y>3
если истинны оба простых
условия
Составное условие истинно, x==2 || y>3
если истинно, хотя бы одно
из простых условий
Условие истинно, если
!(x==2)
условие, стоящие после
символа ! ложно.

15.

В языке программирования С операции с высшими приоритетами вычисляются
первыми. Наивысшим приоритетом является приоритет равный 1. Операции с
одинаковым приоритетом выполняются слева направо в порядке следования.
Сводная таблица операторов с учетом их приоритетов.
Приоритет
1
2
Оператор
++
-()
[]
->
.
!
~
+
(type)
*
&
sizeof
Описание
Префиксный инкремент
Префиксный декремент
Вызов функции или подвыражение
Выделение элемента массива
Указатель структуры
Член структуры
Логическое отрицание
Поразрядное логическое НЕ (двоичная инверсия)
Унарный минус (изменение знака)
Унарный плюс
Преобразование к типу
Разыменование указателя
Определение адреса переменной
Определение размера в байтах

16.

Сводная таблица операторов с учетом их приоритетов.
Приоритет
3
4
5
6
7
8
9
10
Оператор
*
/
%
+
>>
<<
<
>
<=
>=
==
!=
&
^
|
Описание
Умножение
Деление
Остаток от деления
Сложение
Вычитание
Поразрядный сдвиг вправо
Поразрядный сдвиг влево
Меньше
Больше
Меньше или равно
Больше или равно
Равно
Не равно
Поразрядное логическое И
Поразрядное исключающее ИЛИ
Поразрядное логическое ИЛИ

17.

Сводная таблица операторов с учетом их приоритетов.
Приоритет
11
12
13
14
15
Оператор
&&
||
?:
=
+=
-=
*=
/=
%=
>>=
<<=
&=
^=
|=
,
++
--
Описание
Логическое И
Логическое ИЛИ
Оператор условия
Присваивание
Составное сложение
Составное вычитание
Составное умножение
Составное деление
Составное определение остатка от деления
Составной поразрядный сдвиг вправо
Составной поразрядный сдвиг влево
Составное поразрядное логическое И
Составное поразрядное исключающее ИЛИ
Составное поразрядное логическое ИЛИ
Операция "запятая"
Постфиксный инкремент
Постфиксный декремент
English     Русский Правила