BigEdu.ru
» » » Условные и безусловные операторы в языке программирования Си
Вернуться назад

Условные и безусловные операторы в языке программирования Си

Цель работы: познакомиться с работой условного оператора и оператора перехоlа. Изучить оператор выбора варианта. Научиться применять их при составлении программ.
1. Теоретические сведения
Условный оператор if
Рассматриваемая группа операторов позволяет организовать ветвление в программе. Часто, например, необходимо в зависимости от того или иного результата реализовать одну либо другую группу операторов (инструкций). В языке СИ для этих целей используются операторы if (если) – else (иначе), switch (переключатель) и goto (идти к).
Оператор if имеет вид:
if (проверка условия) инструкция1; else инструкция2;
Если условие в скобках принимает истинное значение, выполняется инструкция1, а если ложное – инструкция2 (см. рис. 1).
рис.1.
Например:
if (a>b)
z=a;
else
z=b;
Необходимо обратить внимание на точку с запятой после z=a. Здесь она обязательна, поскольку за if должна следовать инструкция, которая всегда заканчивается точкой с запятой.
В операторе if слово else может отсутствовать. В этом случае, если условие в скобках принимает истинное значение, выполняется инструкция 1, а если ложное, то инструкция 1 пропускается и управление передается следующему оператору по тексту программы.
Например:
if (num>10) num=2*num;
printf("%d\n",num);
Оператор вывода будет выполняться всегда, а оператор присваивания только в том случае, если условие будет истинным.
Операции отношения, используемые для сравнения, приведены в таблице 1.
Таблица 1
Операция Смысл
< меньше
= больше или равно
> больше
!= не равно
Не следует путать операцию отношения "==" с операцией присваивания "=".

Рассмотрим простейшую программу:
#include
main( )
{
int a,b;
puts("Введитезначения a и b");
scanf("%d %d", &a,&b);
if (a>b) puts("a больше b");
else puts(""); /*демонстрация оператора if – else*/
if (a==b) puts(""); /*демонстрация оператора if без слова else*/
}
Если для выполнения программы ввести числа 5 и 3, то на экране появится строка:
а больше b
При введении чисел 5 и 5, на экране появится две строки:
a меньше или равно b
a равно b
Иногда в условном операторе после ключевых слов if или else следует инструкция if, ее называют вложенной. Слово else всегда относится к ближнему предшествующему ему if. Также после ключевых слов if и else вместо одной инструкции может быть записано несколько инструкций, которые должны заключаться в фигурные скобки.
Например, в
if (n>0)
if (a>b)
z=a;
else
z=b;
else относится к внутреннему if, что и показано с помощью отступов. Если требуется иная интерпретация, необходимо должным образом расставить фигурные скобки:
if (n>0)
{
if (a>b)
z=a;
}
else
z=b;
В данном примере else относится к внешнему if.
В сложных конструкциях, содержащих много if и else, уместно вложенные if обрамлять фигурными скобками.
Вместо вложенных конструкций if–else часто целесообразно использовать сложные выражения для проверки условия. Сложные выражения получаются путем объединения нескольких простых отношений с помощью логических операций. В языке СИ имеются три логические операции, приведенные в таблице 2.
Таблица 2
Операция Смысл
&& и
|| или
! не
Операция ! имеет очень высокий приоритет, он выше, чем умножения, и только круглые скобки имеют более высокий приоритет. Приоритет операции && выше, чем операции ||, а обе они имеют более низкий приоритет, чем операции отношения. Поэтому выражение
a>b&&b>c||b>d
будет интерпретировано так:
((a>b)&&(b>c))||(b>d),
т.е. b находится в промежутке между c и a или b больше d.
Пример
main ( )
{ float x, y;
scanf ("%f", & x);
if (x > 0)
y = x*x + 1;
else
y = x + 4;
printf ("%f %f", x, y);
}
Оператор безусловного перехода
Его можно представить в следующей форме: goto метка;
Метка – это любой идентификатор.
Например: goto a2;
Оператор goto указывает, что выполнение программы необходимо продолжить, начиная с инструкции, перед которой записана метка. В программе обязательно должна быть строка, где указана метка, поставлено двоеточие и записана инструкция, к которой должен выполняться переход.
Например: a2: k=5;
Метки в программе описывать не нужно. Применение оператора безусловного перехода в языке СИ является нежелательным, так как он нарушает структурную наглядность программы.
Оператор выбора switch
Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:
switch (выражение)
{case константа1, вариант 1; break;
. . .
case константа n, вариант n; break;
default: вариант n+1; break;}
На рис.2 представлена соответствующая иллюстрация.
В операторе switch вычисляется целое выражение в скобках ( его называют селектором), и его значение сравнивается со всеми константами. При совпадении выполняется соответствующий вариант (одна или несколько инструкций). Все константы в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется. Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.
Например:
#include
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("Ветви 1,2,3 не работают\n");
}
}

Оператор scanf вводит переменную y. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ ‘1’, то на экране появится строка:
Ветвь 1
по оператору break произойдет выход из переключателя switch, и программа завершит свою работу. Если ввести символы ‘2’ или ‘3’, то на экран будет выведена строка:
Ветвь 2 или 3
При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка:
Ветви 1,2,3 не работают.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Цель работы: познакомиться с работой условного оператора и оператора перехоlа. Изучить оператор выбора варианта. Научиться применять их при
Оценок: 311 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru