Студопедия — Операторы IF - ELSE
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Операторы IF - ELSE






Рассмотрим организацию ввода- вывода и реализацию основных управляющих структур.Любой конкретный алгоритм может быть записан на языке программиррования, использующем только три управляющий структуры: последовательное выполнение, ветвление и повторение. Последовательное выполнение стль обычно, что мы редко о нем вспоминаем, как об управляющей структуре. Последовательность операторов выполняется в порядке их естественнго расположения в программе, с возможным отклонением для вызова внешнего франмента (функции), но с обязательным возратом в точку вызова. Ветвление в простейшем случае описывается в языке Си с помощью условного оператора. имеющего вид:
if (выражение) оператор_1; else оператор_2;

где часть else может и отсутствовать. Сначала вычисляется "выражение"в скобках; если оно истинно то выполняется оператор_1. Если " выражение";ложно (равно нулю - NULL), то оператор_1 пропускается, а выполняется оператор_2. Если на месте условно выполняемых операторов должна располагаться группа из нескольких операторов языка, то они заключаются в фигурные скобки - { }. Часто "выражение" в скобках представляет условие, заданное с помощью операций отношений и логических операций. Операции отношения обозначаются в Си следующим образом:

= = равно;! = не равно; < меньше; > больше;
< = меньше или равно; > = больше или равно.

Символ! в языке Си обозначает логическое отрицание. Есть еще две логические операции: || означает или, а &&; - логическое И. Операции отношения имеют приоретет ниже арифметических операций, так что выражение вида k > n%i вычисляется как k > (n%i). Приоритет &&; выше, чем у ||, но обе логические операции выполняются после операций отношения и арифметических. В сомнительных случаях лучше расставлять скобки.

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

Пример 1.3.

#include <stdio.h> main() /* главная функция*/ { int x, y, z, max; /* описание переменных*/ printf(" Введите три числа:\n "); scanf(" %d %d %d ", &x, &y, &z); /*ввод трех чисел*/ if(x > y) /*операции сравнивания*/ max=x; else max=y; if (z>max) max=z; printf(" Максимальное из (%d, %d, %d)= %d \n",x, y, z, max); }

Рассмотрим пример программы, в которой применяются несколько вложенных друг в друга условных операторов. В этой программе сторока float A, B, X объявляет эти три переменные как величины вещественного типа. Форматная строка функции scanf предписывает ввести два вещественные числа, которые станут значениями переменных A и B соответственно.

Пример 1.4

/*РЕШЕНИЕ УРАВНЕНИЯ AX=B*/ #include <stdio.h> main() { float A,B,X; printf("ВВЕДИ А, В\n"); scanf("%f %f",&A, &B); if(A!=0) printf("РЕШЕНИЕ:%f\n", B/A); else if(B==0) printf("X-ЛЮБОЕ ЧИСЛО\n"); else printf("РЕШЕНИЙ НЕТ\n"); }

Посмотрите, как выглядит ветвление, когда глубина вложенности условных операторов равна трем (пример 1.5). Если хоть одно условие истинно, то все оставшиеся, разумеется, пропускаются. При глубине вложенности условных операторов свыше трех ветвление теряет наглядность и понятность.
Для реализации многозадачного ветвления обычно прибегают к управляющей стркутуре выбор ( переключатель) (см. п.9.4). Когда управляющяя структура ветвления становится особенно запутанной, определенную ясность могут внести фигурные скобки. Они обязательны, когда в условном операторе содержится более одного опрератора или функции, например

if(a_0) { printf("..."); scanf("...") другие операторы... }

Пример 1.5

/* Програииа определяет поведение ракеты, стартующей на экваторе, в зависимости от ее начальной скорости*/ #include <stdio.h> main() { float V; printf("ВВЕДИ V\n"); scanf("%f",&V); if(V<7.9) printf("РАКЕТА УПАДЕТ НА ЗЕМЛЮ\n"); if(V<11.2) printf("РАКЕТА СТАНЕТ СПУТНИКОМ ЗЕМЛИ\n "); if(V<16.4) printf("РАКЕТА СТАНЕТ СПУТНИКОМ СОЛНЦА\n"); else printf("РАКЕТА ПОКИНЕТ СОЛНЕЧНУЮ СИСТЕМУ\n"); }






Дата добавления: 2015-08-12; просмотров: 363. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия