КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Условный оператор ifУсловный оператор IF обеспечивает выполнение или невыполнение некоторых операторов в зависимости от условия. Алгоритмы, содержащие условные операторы, называют разветвляющимися. В языке Си имеется две разновидности условного оператора: полная и неполная (простая). Форматполногоусловного оператора: if (выражение) оператор1; else оператор2; Выражение — это условие, содержащее операции отношения и логические операции. Значение выражения приводится к целому и интерпретируется в соответствии с правилом: равно нулю — ложь, не равно нулю — истина. Если выражение истинно, выполняется оператор1, если ложно — оператор2. Необходимо обратить внимание на следующие особенности синтаксиса условного оператора: • выражение записывается в круглых скобках; • точка с запятой после оператора1 ставится обязательно. • если вместо оператора1 или оператора2 необходимо выполнить несколько операторов (более одного), их необходимо заключить в фигурные скобки. Графическая схема:
Формат неполного условного оператора: if (выражение) оператор; Графическая схема:
Один оператор IFможет входить в состав другого оператора IF (вложенный оператор). При вложенности операторов каждое ELSE связывается с ближайшим к нему предыдущим IF, не содержащим ветвь ELSE. Пример 1: int a=1, x=1; if (a<0)x=0;x-=3; В результате работы данных операторов переменная x получит значение -2. Пример 2: int a=1, x=1; if (a<0) {x=0;x-=3;} В результате работы данных операторов значение переменной x останется равным 1.
12. Способы реализации условных алгоритмов в ЯП Си: оператор switch (формат записи, алгоритм работы, примеры). Оператор выбора (переключатель) Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений. Формат оператора выбора: switch (целочисленное_выражение) { case константа1: список_операторов1; case константа2: список_операторов2; … … … default: список_операторов; } Последняя строка (default) может отсутствовать.
Вначале вычисляется выражение, значение которого должно быть целого или символьного типа. Это значение сравнивается со значениями констант и используется для выбора ветви, которую нужно выполнить. Если значение выражения совпало с одной из перечисленных констант, то управление передается в соответствующую ветвь. После этого последовательно выполняются все остальные ветви. Пример: х=2; switch (x) { case 1:printf("1\n"); case 2:printf("2\n"); case 3:printf("3\n"); case 4:printf("4\n"); default: printf("0\n"); } } На экране будет выведено:
Все константы должны иметь разные значения, но быть одного и того же типа. В случае несовпадения значения выражения ни с одной из констант выбора происходит переход на метку default либо, при ее отсутствии, к оператору, следующему за оператором switch. Управляющий оператор break (разрыв) выполняет выход из оператора switch. Если по совпадению с каждой константой должна быть выполнена одна и только одна ветвь, схема оператора switch следующая: switch(выражение) { case константа1: операторы 1; break; case константа2: операторы 2; break; … … … case константаN: операторы N; break; default: операторы (N+1); } Пример: х=2; switch (x) { case 1:printf("1\n");break; case 2:printf("2\n");break; case 3:printf("3\n");break; case 4:printf("4\n");break; default: printf("0\n"); } } На экране будет выведено:
13. Способы реализации циклических алгоритмов в ЯП Си: оператор цикла while (формат записи, алгоритм работы, примеры).
|