Чтение онлайн

на главную - закладки

Жанры

Лекции по C++ для начинающих
Шрифт:

ОПЕРАТОР ПЕРЕХОДА

Его можно представить в следующей форме: goto метка;

Метка – это любой идентификатор.

Например:

goto a2;

Оператор goto указывает, что выполнение программы необходимо продолжить, начиная с инструкции, перед которой записана метка. В программе обязательно должна быть строка, где указана метка, поставлено двоеточие и записана инструкция, к которой должен выполняться переход.

Например:

а2:

к=5;

Метки в программе описывать не нужно. Применение оператора перехода в языке C++ является нежелательным, так как он нарушает структурную наглядность программы.

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

Оператор 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 <stdio.h>

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 <stdio.h>

int main {

int i;

char ch;

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

scanf("%d", &i);

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

printf("Такой

символ существует");

} else {

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

}

}

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

#include <stdio.h>

#include <math.h>

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 <stdio.h>

#include <math.h>

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<stdio.h>

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".

Поделиться:
Популярные книги

Черный дембель. Часть 5

Федин Андрей Анатольевич
5. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 5

30 сребреников

Распопов Дмитрий Викторович
1. 30 сребреников
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
30 сребреников

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Охота на разведенку

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
6.76
рейтинг книги
Охота на разведенку

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

Надуй щеки! Том 3

Вишневский Сергей Викторович
3. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 3

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Он тебя не любит(?)

Тоцка Тала
Любовные романы:
современные любовные романы
7.46
рейтинг книги
Он тебя не любит(?)

Курсант: назад в СССР 9

Дамиров Рафаэль
9. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: назад в СССР 9

Штуцер и тесак

Дроздов Анатолий Федорович
1. Штуцер и тесак
Фантастика:
боевая фантастика
альтернативная история
8.78
рейтинг книги
Штуцер и тесак

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Хозяйка дома в «Гиблых Пределах»

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.75
рейтинг книги
Хозяйка дома в «Гиблых Пределах»