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



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) {

y = 1 + b * pow(x, 2);

} else {

if (x <= 15) {

y = log(x) + b;

} else {

y = sin(b * x);

}

}


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

}


ОПЕРАТОР ВЫБОРА


Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:


switch (выражение) {

case константа 1:

вариант 1;

break;

case константа n:

вариант n;

break;

default:

вариант n+1;

break;

}


В операторе switch вычисляется целое выражение в скобках (его называют селектором), и его значение сравнивается со всеми константами. При совпадении выполняется соответствующий вариант (одна или несколько инструкций). Все константы в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой вариант не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется). Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.

Например (EX5):


#include


int main() {

char y;

scanf("%c", &y);


switch (y) {

case '1':

printf("Ветвь 1\n");

break;

case '2':

case '3':

printf("Ветвь 2 или 3\n");

break;

default:

printf("Bетви 1, 2, 3 не работают\n");

}

}


Оператор scanf вводит переменную у. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ 1, то на экране появится строка: "Ветвь 1".

По оператору break произойдет выход из переключателя switch и программа завершит свою работу. Если ввести символы 2 или 3 то на экран будет выведена строка: "Ветвь 2 или 3".

При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка: "Ветви 1, 2, 3 не работают".