Тема: Условный оператор IF.Операторы сравнения и логические функции. Оператор SWITCH
Операторы IF -условный оператор и SWITCH - оператор выбора варианта служат для организации разветвляющихся алгоритмов. Они позволяют выбрать для выполнения один из простых или составных операторов или не выбрать ни одного в зависимости от условия разветвления.
Условный оператор IF имеет следующую форму:
IF(B) S1; ELSE S;
Где B - логическое выражение (условие разветвления);
S1 - операторы, выполняемые в случае, если логическое выражение верно
S2 - операторы, выполняемые в случае, если логическое выражение неверно
Таким образом, с помощью оператора IF можно выбрать один из двух альтернативных вариантов процесса вычислений. Условные операторы могут быть вложенными, т.е. после ELSE может стоять другой IF.
В логических выражениях используют следующие операторы сравнения:
== (два знака равенства) - равно;
!= - не равно. Остальные операции стандартны: >,>=, <,<=
Если условий несколько, то можно применять логические операции: &&(И), ||(ИЛИ),!(НЕ). Например:
|
|
IF (A>B && B>0) - т.е. если одновременно выполняются два условия (А>B и B>0)
! - это операция логического отрицания.
Например:
IF! (A==B)... - если А не равно В
Задача 2а
Вычислите значение функции в зависимости от заданного условия.
#include <stdio.h>
#include <conio>
#include <math.h>main ()
{a,b,y;("a="); scanf("%f",&a);("b="); scanf("%f",&b);(a>b) y=a/b+2; else if (a==b) y=-71; else y=(a-5)/a;
printf("%5.3f",y);();
}
№ вар | Задание | № вар | Задание |
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26. | |||
27. | |||
28 | |||
29 | |||
30 |
Оператор SWITCH используют для разветвления программы по нескольким направлениям. Он имеет следующую структуру:
switch(e)
{
case c1:s1; break;
case c2:s2; break;ck:sk; break;:s;
}
Где: е- значение целочисленной переменной;
с1, с2,сk - значения, которые она принимает;
s1,s2,sk - операторы, которые выполняются, если переменная е принимает соответствующее значение. Если операторов несколько, они заключаются в операторные скобки {}
Если значение переменной e не равно ни одному из указанных, выполняются операторы, которые идут после default.
Задача 2б
Составить программу, которая запрашивает порядковый номер месяца и выводит его название на экран.
#include <stdio.h>
#include <conio.h> main()
{
printf("Введите номер месяца -");
int mes; scanf("%d",&mes);(mes)
{1,2,12:printf("зима"); break;3,4,5:printf("весна"); break;6,7,8:printf("лето"); break;9,10,11:printf("осень"); break;:printf("некорректный ввод!!!");
|
|
}
getch();
}
Задание выбирается по последней цифре номера варианта
№ вар | Задание | № вар | Задание |
1 | Составить программу, которая запрашивает порядковый номер дня недели и выводит его название на экран. | 6 | Составить программу, которая выводит название цветов радуги, запрашивая порядковый номер цвета. |
2 | Составить программу, которая возвращает прописью введенное число в диапазоне от 0 до 10 | 7 | Составить программу, которая переводит арабские числа в римские в диапазоне от 1 до 10. |
3 | Составить программу, которая запрашивает порядковый номер месяца и выводит его название на экран. | 8 | Составить программу, которая переводит числа из десятичной системы в шестнадцатеричную в диапазоне от 1 до 16. |
4 | Составить программу, которая будет дописывать слово «рубль» в правильной форме после введенного числа в диапазоне (1..20) | 9 | Составить программу, которая будет дописывать слово «часов» в правильной форме после введенного значения в диапазоне (1..24) |
5 | Составить программу, которая запрашивает порядковый номер знака зодиака (начиная с Рыбы) и выводит его название на экран. | 10 | Составить программу, которая запрашивает год (в диапазоне от 1976 до 2008) и выводит название года по китайскому календарю (год Дракона и т.д). |