Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

If используется для разветвления процесса обработки данных на два направления

Операторы перехода;

Блок

Составной оператор

• {n++;

• summa+=n;}

• {int n=0;

• n++;

• summa +=n}

 

 

goto – безусловный переход;

continue – завершение текущей интерации цикла;

break – выход из цикла или переключателя;

return – возврат из функции;

Схема goto

goto метка;

{goto M1;

M1: оператор}

Пример использования goto в курсовой работе:

Меню:

– Справка;

– Ввод данных;

– Вывод результатов (подсчет);

– Запись в файл;

– Выход;

 

Тогда в программе это реализуется следующим образом.

 

k=getch ();

if (k= =’1’) goto M1;

(getch – функции без параметров, которая позволяет ввести с клавиатуры один символ)

if (k==’2’) goto M2;

...

if (k==’5’) goto M5;

M1: { фрагмент справки; }

M2: { фрагмент ввода данных; }

...

M5: выход

 

3)Операторы выбора.

 

условный оператор if и переключатель switch

Схема условного оператора.

if имеет формы: сокращенную или полную.

Формат сокращенного оператора if:

if (условие) оператор;

условие –логическое или арифметическое выражение, истинность которого проверяет­ся;

оператор: простой или составной.

При выполнении сокращенной формы оператора if сначала вычисляется выражение условие, затем проводится анализ его результата: если оно истинно, то выполняется оператор; если оно ложно, то оператор пропускается.

C помощью сокращенной формы оператора If можно либо выполнить оператор, либо пропустить его.

 

Формат полного оператора if:

if (условие) оператор 1;

else оператор 2;

оператор1 или 2: простой или составной.

При выполнении полной формы if сначала вычисляется выражение условие, затем анализируется его результат: если оно истинно, то выполняется оператор 1 а оператор 2 пропускается; если оно ложно, то выполняется оператор 2, a 1 - пропускается.

C помощью полной формы оператора if можно выбрать одно из двух альтернативных действий процесса обработки данных.

 

В сложных условиях используются логические связки

&& - логическое “и”;

|| - логическое “или”;

Например,

if (a>0 &&a=0) printf (“ошибка”);

 

Примеры записи условного оператора if.

 

 

if (a > 0) х=у; // сокращенная форма с простым оператором

if (++i) {x=y; y=2*z;} // сокращенная форма с составным оператором

if (а > 0 || b<0) x=y; eise x=z; //полная форма с простым оператором

if (i+j=1) { х= 0; у= 1;} else {x=1; у:=0;} //полная форма с составными оператором

 

Операторы 1 и 2 могут являться операторами if, такие операторы называются вложенные;

Ключевое слово else связывается с ближайшим предыдущим словом if, которое еще не связано ни с одним else.

Примеры алгоритмов с использованием вложенных условных операторов:

Пример1 Уровни вложенности If Пример 2 Уровни вложенности if

if(A<B) if (A<B)

if (С < D) if (C<D) X=Y 2

if(E<F)X=Q; else X=Z:

else X = R; 3 2 1 else 1

else X=Z; if (E<F) X=R;

else X = Y; else X=Q; 2

 

 

В языке Си используется стенографическая запись одной из форм ветвления. Эта форма называется условным выражением и записывается условным оператором?:

В общем виде условный оператор имеет две части и три операнда. Записать его можно следующим способом:

(выражение1)? выражение2: выражение3;

 

Пример: требуется определить наибольшую из двух величин:

1 способ:

if (a<b)

max = b;

else

max = a;

 

2 способ:

max = (a<b)?b:a;

 

Пример (нет рисунка)

Дана точка на плоскости с координатами (х, у).Нарисовать окружность с радиусом 10.

Составим программу, которая выдает одно из сообщений «Да», «Нет», «На границе» (в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе)

Заданная область разбивает всю плоскость на 3 непересекающихся множества точек. y

I1 -множество точек, лежащих внутри области;

I2 - множество точек, лежащих вне области;

I3 - множество точек, образующих границу области.

 

 

 

Точка с координатами (х, у) может принадлежать только одному из них;

Множества I1 , I2, I3 значительно труднее описать математич-ки, чем интервалы в примере 2,поэтому для проверки выбираются те два множества, которые наиболее просто описать математич-ки.(труднее всего описать точки границы области).

Для рис. 1 множества задаются следующим образом;

I12 + у2<102;

I22 + у2>102;

I3: х22 = 102.

 

Схема переключателя:

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

{case конст1: { опер 1; break; }

case конст2: { опер2; break; }

………..

default:опер; – ветвь может отсутствовать (необязательна);

}

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

 

Если в операторах стоящих после константы нет операторов перехода, например, break, то потом выполняются все нижестоящие операторы.

 

Язык Си может использовать следующие безусловные переходы или прерывания: break, continue и goto. Их использование в основном совпадает с использованием в Паскаль, а именно: break прерывает исполнение любого вида циклов, continue - завершает текущую итерацию цикла, goto - осуществляет переход по метке. В отличие от языка Паскаль, break может использоваться в Си для завершения выбора. Использование оператора goto в языке Си считается нежелательным. Метки специально не объявляются.

 

4)Операторы циклов.

 

В языке Си используются 3 оператора цикла, обозначаемые while, for, do

 

Во всех трех операторах цикла, тело цикла – это либо отдельный, либо составной оператор.

 

<== предыдущая лекция | следующая лекция ==>
Составные операторы. Оператор вызова или обращения к функции | Директивы препроцессора языка Си
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 1541; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.028 сек.