Условия в операторе if

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

1 - логические отношения;

2 - логические выражения.

Отношение - два арифметических выражения, связанных знаком отношения. Знаки логических отношений приведены в таблице 3.1.

Таблица 3.1 Знаки логических отношений

Знаки отношений Описание
> больше чем
>= больше или равно
< меньше чем
<= меньше или равно
== равно
!= не равно

Пример 3.6:   if(x1<=x2) t=y*sin(x1)+1.5;

 Логические выражения –два или больше логических отношений объединенных соответствующими операциями:

1. &&- логическое умножение and (и)

2. || - логическое сложение or(или)

3.! – логическое отрицание not (не).

Пример 3.7.

1.Проверить принадлежность числа х отрезку[-2;2]

                                                     

                                                       if(x>=-2 && x<=2)…

 

2.Проверить лежит ли число у за пределами отрезка [0;5] 

                      

                       if(y<0 || y>5)

                          

Логические выражения вычисляются слева направо и, если на каком-то этапе выясняется истинность (ложность) данного выражения, то вычисления прекращаются.

Пример 3.8.

x=2; y=5;

if(x>3&&y<6)…    ложь

 

ложь не выч-ся      

if(x<=4||y>=5)…     истина 

 

истина не выч-ся    

  Вложенные условные операторы.

Внутри каждого условного оператора может быть один или несколько условных операторов.

if (выражение_1) if (выражение_2) оператор_1;

               else оператор_2;

 

В сложных условных операторах else относится к ближайшему if. Если возникает необходимость в изменении такого порядка, то используют фигурные скобки, чтобы указать, к какому if принадлежит else.

if(выражение_1) {if(выражение_2) оператор_1;}

else оператор_2;

Пример 3.9. Задано три числа a, b, c. Найти значение максимального среди них.

Текст программы.

int main ()

{

float a,b,c,max;

printf("задайте значения a,b,c");

scanf("%f%f%f",&a,&b,&c);

if (a>b)max=a; else max=b;

if (c>max) max=c;

printf("\n max=%5.1f",max);

return 0;

}

Пример 3.10 Выполнить вычисления y по одной из формул, в зависимости от введенных значений чисел a, b, x.

sin(a/x),     если x≤a

y =   cos(a+b*x), если  x≥b

a+(b+x)2+√|a|, если a<x<b

Текст программы

#include<stdio.h>

#include<conio.h>

#include<math.h>

int main ()

{

float a,b,x,y;

printf("Задайте значения a,b,x");

scanf("%f%f%f",&a,&b,&x);

if (x<=a) y=sin(a/x);

if (x>=b) y=cos(a+b*x);

if (x>a&&x<b) y=a+(b+x)*(b+x)+sqrt(fabs(a));

printf("\n a=%5.1f b=%5.1f x=%5.1f y=%5.1f",a,b,x,y);

}

Пример 3.11 Выполнить вычисления y по одной из формул при различных значения х, используя оператор перехода и метку.

  √ x -x2, если х>0

y=

     x+√|x|, если х≤0

где х изменяется от –2 до +2 с шагом dx=0,1.

Определить: k-количество положительных у(y>0) и их сумму S.

 

int main()

{

int k=0;

float x=-2, y, s=0;

metka: if (x>0)  y=sqrt(x)-x*x;

           else y= x+sqrt(fabs(x));

printf(“\n %6.2f %6.2f ”, x, y);

if (y>0){

    k++;

    S+=y;

    }

x+=0.1;

if(x<=2) goto metka;

printf (“\n количество Y>0 k=%d\n”,k);

printf(“сумма Y>0 s=%6.2f”,s);

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: