Условные и безусловные операторы в языке программирования Си
Цель работы: познакомиться с работой условного оператора и оператора перехо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 не работают.
Рефераты по информатикеЦель работы: познакомиться с работой условного оператора и оператора перехоlа. Изучить оператор выбора варианта. Научиться применять их при
Оценок: 311 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.