Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программировании на Си.doc
Скачиваний:
4
Добавлен:
08.09.2019
Размер:
301.57 Кб
Скачать

Операторы организации условных и безусловных переходов.

Для организации условных и безусловных переходов в программе на языке С используются операторы: if - else, switch и goto. Первый из них записывается в следующем формальном виде:

If (проверка_условия) инструкция_1; else инструкция_2;

Если условие в скобках принимает истинное значение, то выполняется инструкция_1, а если ложное-то инструкция_2. Если вместо одной необходимо использовать несколько инструкций, то они заключаются в фигурные скобки. В операторе if слово else может и отсутствовать. В этом случае, если условие в скобках принимает истинное значение, то выполняется инструкция_1, а если ложное, то инструкция_1 пропускается. Таким образом, инструкциям_2 будет выполнена всегда.

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

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

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

{

case константа 1: вариант 1; break;

..........................

case константа n-1: вариант n-1: break;

default: вариант n;

}

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

Допускаются вложенные конструкции switch. Рассмотрим правила выполнения безусловного перехода, который можно представить в следующей форме:

goto метка;

Метка – это любой идентификатор. Оператор goto указывает, что выполнение программы необходимо продолжить начиная с инструкции, перед которой записана метка. В программе обязательно должна быть строка, где указана метка, поставлено двоеточие и записана инструкция, в которой должен выполниться переход. Метку можно поставить перед любой инструкцией в той функции, где находится соответствующий ей оператор goto. Ее не надо объявлять.

Примеры программ

Пример1. Использование switch case

#include <stdio.h>

char A;

void main(void)

{

printf("? ");

scanf("%c",&A);

switch (A)

{

case 'c': printf(" small %c\n",A); break; /* выход из блока */

case 'F':

case 'G': printf(" big %c\n",A);

break;

default: printf("Error %c\n",A); //Если нажата не «с», «F» или «G»

}

}

Пример1. Использование do while

#include <stdio.h>

void main(void)

{

int A;

do

{

printf("Zifra?");

scanf("%d",&A);

printf("Error %d\n",A);

}

while (A != 9); //Пока А не равно 9

printf("OK %d\n",A);

}