Условный оператор
Синтаксис оператора:
if (выражение S) оператор1; else оператор2;
или сокращенная форма:
if (выражение S) оператор1;
Условный оператор
В качестве выражения S могут быть:
Арифметическое выражение
Логическое выражение
В случае истинности выражения S выполняется оператор1(истинным
считается любое ненулевое значение)
Оператор2 в случае, если выражение S
-ложно
Условный оператор
Примеры:
if (a<0) b=1;
if (a<b && a>d) b++; else {b*=a;a=0};
if (a<b)
{if (a<c) m=a; else m=c;} else m=b;
if(a++) b++;
Условный оператор
Логические операции:
Конъюнкция - &&Дизъюнкция - ||
|
Отрицание - |
! |
|
|
Замечание: |
|
Например: |
|
|
|
Не путать = (присваивание) |
|
(x>0 && x<2) |
|
|
|
И == (сравнение равно/не равно) |
|
(x<=-1 || x>=1) |
|
|
|
при a=1 и b=2 |
|
(x==0) |
|
|
(x!=0) |
|
Выражение (a=b) имеет значение – |
|
|
|
TRUE (т.к. a=2 >0) |
Переключатель SWITCH
Синтаксис оператора:
switch (выражение)
{
case const_1:оператор_1; break; case const_2: оператор_2; break;
……………….
case const_n: оператор_n; break; default: оператор_n;
};
Переключатель SWITCH
Пример: простейший калькулятор
#include <stdio.h> void main()
{
int a,b,res,fl=1; char op;
printf(“введите a и b”); scanf(“%f %f \n”,&a,&b); printf(“введите op”); scanf(“%s \n”,op);
//выполняем действия, в зависимости от введенной операции switch (op)
{
case ‘+’:res=a+b; break; case ‘-’: res=a-b; break; case ‘*’: res=a*b; break;
default: printf(“неизвестная операция \n”);fl=0;
};
if (fl) printf(“%f %s %f\n”,a,op,b);
}