русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретическая часть


Дата добавления: 2015-06-12; просмотров: 548; Нарушение авторских прав


Лабораторная работа №5

Тема: Условные операторы в языке С. Преобразование типов.

Цель работы: Ознакомиться с логической конструкцией языка: switch.

Теоретическая часть

Хотя любые комбинации условий можно выразить с помощью оператора if, довольно часто запись становится неудобной и запутанной. Оператор выбора switch используется, когда для каждого из нескольких возможных значений выражения нужно выполнить определенные действия. Например, предположим, что в переменной code хранится целое число от 0 до 2, и нам нужно выполнить различные действия в зависимости от ее значения:

switch (code) {case 0: printf("код ноль"); x = x + 1; break;case 1 : printf("код один"); y = y + 1; break;case 2: printf("код два"); z = z + 1; break;default: printf("Необрабатываемое значение");}

В зависимости от значения code управление передается на одну из меток case. Выполнение оператора заканчивается по достижении либо оператора break, либо конца оператора switch. Таким образом, если code равно 1, выводится " код один ", а затем переменная y увеличивается на единицу. Если бы после этого не стоял оператор break, то управление "провалилось" бы дальше, была бы выведена фраза " код два ", и переменная z тоже увеличилась бы на единицу.

Если значение переключателя не совпадает ни с одним из значений меток case, то выполняются операторы, записанные после метки default. Метка default может быть опущена, что эквивалентно записи:

default: ; // пустой оператор, не выполняющий // никаких действий

Очевидно, что приведенный пример можно переписать с помощью оператора if:

if (code == 0) { printf("код ноль"); x = x + 1;} else if (code == 1) { printf("код один"); y = y + 1;} else if (code == 2) { printf("код два"); z = z + 1;} else { printf("Необрабатываемое значение");}

Пожалуй, запись с помощью оператора переключения switch более наглядна. Особенно часто переключатель используется, когда значение выражения имеет тип набора.



Общая форма записи оператора switch:

switch (expression) {

case value1:

program statement;

...

break;

 

case value2:

program statement;

...

break;

...

 

case valuen:

program statement;

...

break;

 

default:

program statement;

...

break;

},

где

  1. expression - целое выражение (или выражение, которое может быть преобразовано в целое выражение);
  2. value1, value2,..., valuen - целое выражение с постоянным значением (или выражение, которое может быть преобразовано к такому выражению);
  3. program statement – обозначает операторы, число которых может быть больше или равно нулю.

Метки value1, value2,..., valuen, обозначающие альтернативы case, должны быть уникальными; двух одинаковых меток быть не может. Только одна альтернатива может получить префикс default.

Выражение заключенного в круглые скобки оператора последовательно сравнивается со значениями value1, value2,..., valuen, которые должны быть простыми константами или константными выражениями. В том случае, когда одно из этих значений равно значению, выполняются утверждения, которые следуют за данным значением.

 

Утверждение break сигнализирует об окончании выполнения утверждений и приводит к выходу из оператора switch. Утверждение break ставится в конце каждого варианта выбора. Если этого не сделать, то выполнение последовательности утверждений перейдет в следующий вариант выбора и будет выполняться до тех пор, пока не встретится утверждение break.

 

Специальный дополнительный вариант default будет выполнен в том случае, когда не будет найдено ни одного совпадения.

 

Операторы if и switch той или иной синтаксической конструкции существуют практически во всех языках программирования (в первую очередь языках высокого уровня), и их часто называют операторами ветвления.

Пример:

/* Реализация работы калькулятора. Сначала задается число - сколько раз нужно подсчитать. Вводятся левый операнд, операция, правый операнд. Оператор выбора определяет, какой оператор должен работать. Результат выводится на экран. */#include <stdio.h>#include <conio.h>#include <process.h>main(){ float a,b; char opr; float result=0; int i=0; clrscr(); printf("Введите операнд, операцию, операнд:\n"); scanf("%f%c%f",&a,&opr,&b); switch(opr) { case '+': result=a+b; break; case '-': result=a-b; break; case '*': result=a*b; break; case '/': result=a/b; break; default: printf("Ошибка. Неверен знак операции "); exit(1); /* функция берется из заголовочного файла process.h*/ } textcolor (15); /* функция берется из заголовочного файла conio.h*/ cprintf("Результат равен %g\n",result); textcolor(12); /* функция берется из заголовочного файла conio.h */ cprintf("Конец работы\n"); /* текст печатается красным цветом*/ getchar () ; exit(0); /* функция берется из заголовочного файла process.h */

}



<== предыдущая лекция | следующая лекция ==>
ОПРЕДЕЛЁННЫЙ ИНТЕГРАЛ | Преобразование типов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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