Лекции по C++ для начинающих - страница 7

Шрифт
Интервал




УСЛОВНЫЙ ОПЕРАТОР


Оператор if имеет вид:

if (проверка условия) {

инструкция 1

} else {

инструкция 2;

}


Если условие в скобках принимает истинное значение, выполняется инструкция 1, а если ложное – инструкция 2.


Например:

if (a > b) {

z=a;

} else {

z=b;

}


В операторе if слово else может отсутствовать. В этом случае, если условие в скобках принимает истинное значение, выполняется инструкция 1, а если ложное, то инструкция 1 пропускается и управление передается следующему оператору по тексту программы.


Например:

if (num>10) num = 2 * num;

printf("%d\n", num);

Оператор вывода будет выполняться всегда, а оператор присваивания только в том случае, если условие будет истинным.


Пример (EX1):


#include


int main() {

int a, b;


puts("Введите значения а и b");

scanf("%d %d", &a, &b);


if (a > b) puts("a больше b");

else puts("a меньше или равно b");


if (a == b) puts("a равно b");

}


Если для выполнения программы ввести числа 5 и 3, то на экране появится строка: "а больше b". При введении чисел 5 и 5, на экране появится две строки: "а меньше или равно b" и "а равно b"

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


ПРИМЕР ЗАДАЧИ (EX2). Ввести целое число. Вывести сообщение существуется ли символ ASCII-таблицы под таким номером (от 0 до 31 расположены управляющие коды, затем от 32 до 256 – символы).


#include


int main() {

int i;

char ch;

printf("Введите целое число:\n");

scanf("%d", &i);


if ((i > 31) && (i < 256)) {

printf("Такой символ существует");

} else {

printf("Taкoгo символа нет");

}

}

ПРИМЕР ЗАДАЧИ (EX3). Вычислить функцию


#include

#include


int main() {

float x, y;

printf("Введите исходное значение х\n");

scanf("%f", &x);


if (x > 0) {

y = log(x);

} else {

y = pow(cos(x), 2);

}


printf("y =%7.3f", y);

}


ПРИМЕР ЗАДАЧИ (EX4). Вычислить функцию

#include

#include


int main() {

float x, y, b;

printf("Введите исходные данные х, b \n");

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


if (x < 10) {