
If ( выражение ) оператор1;
где оператор1 – простой или составной оператор.
Условный оператор if выполняет следующие действия. Если выражение в круглых скобках вырабатывает ненулевое значение (истина), то выполняется оператор1, в противном случае выполняется следующий за оператором if оператор.
Блок – схема оператора if приведена на рисунке 1.3.5.
Рис. 1.3.5. Схема работы оператора if .
Кроме условного оператора if в языке Си определен еще один условный оператор if else
if ( выражение ) оператор1; else оператор2;
где оператор1 и оператор2 – простые или составные операторы.
Условный оператор if else выполняет следующие действия. Сначала вычисляется выражение в круглых скобках, и если получено ненулевое значение (истина), то выполняется оператор1, в противном случае выполняется оператор2.
Блок – схема оператора if else приведена на рисунке 1.3.6.
Рис. 1.3.6. Схема работы оператора if else.
Пример.
Найти максимальное из трех целых чисел x, y, z.
int x, y, z, max;
scanf (%d %d %d, &x, &y, &z);
if (x > y) max x; else max y;
if (z > max) max z;
printf (max %d, max);
Пример.
Вычислить значение функции:
1, если x 0
y(x) =
0, если x=
0
-1, если x< 0
Возможны два пути решения:
1) if ( x > 0) y 1;
if (x = = 0) y 0;
if ( x < 0) y - 1;
2) if (x > 0) y 1; else
{ if (x < 0) y - 1; else y 0; }
1.4. Пример программы
Пусть y(x) = sin2(x) cos2(x), x[0;π].
Для вычисления значения функции y(x) в точке x заданного отрезка считаем со стандартного устройства ввода с помощью функции ввода scanf() значение аргумента x.
Используя условный оператор if, логические операции и операции отношения, проверим принадлежность введенного значения отрезку [a;b]. В случае попадания х в заданный отрезок, вычислим значение y(x) и выведем его на печать с помощью стандартной функции вывода printf(), в противном случае выведем на экран сообщение об ошибке и завершим выполнение программы.
/*Лабораторная работа 1*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
float x, y, a = 0, b = 3.14;
printf(”\nInput x”);
scanf(”%f”, &x);
if(x<a || x>b) {
printf(”\nError”);
system(“PAUSE”);
return 0;
}
y = pow(sin(x),2.) pow(cos(x),2.);
printf(”\ny(%f) = %f”, x, y);
system(“PAUSE”);
return 1;
}
1.5. Варианты заданий
№ варианта |
Отрезок [a;b] |
f(x) |
1 |
[0.1,0.8] |
|
2 |
|
|
3 |
[0.2,1] |
|
4 |
[0.1,1] |
|
5 |
|
|
6 |
[0.1,1] |
|
7 |
[0.1,0.8] |
|
8 |
[0.1,1] |
|
9 |
[0.1,1] |
|
10 |
[0.1,0.5] |
|
11 |
[0.1,1] |
|
12 |
[-2,-0.1] |
|