русс | укр

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

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

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

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


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

Ситаксис


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


Оператор switch

Условный оператор ?

 

Условный оператор ? позволяет кратко записать условие проверки. Соответствующие действия выполняются в зависимости от вычисленного значения выражение_условие\ истина или ложь. Этот оператор можно использовать вместо эквивалентного оператора if-else. Синтаксис условного оператора:

выражение_условие ? действие_если_истина : действие_если_ложь ;

Оператор ? иногда называют троичным оператором, так как он требует трех операндов. Рассмотрим такой оператор:

if (fvalue >= 0.0)

fvalue = fvalue;

else

fvalue = -fvalue;

Этот оператор можно записать при помощи условного оператора?:

fvalue=(fvaiue >= 0.0) ? fvaiue : — fvalue;

Оба оператора определяют абсолютное значение fvalue. Приоритет условного оператора ниже любого другого, используемого в выражении; поэтому в данном примере круглые скобки не нужны. Но скобки часто используются для лучшего восприятия программы.

В следующей программе на C++ оператор ? используется для сложного форматирования программного вывода:

#include <math.h> // для определения макроса abs

#include <iostream.h>

main()

{ float fbalance, fpayment;

// Введите размер вашей ссуды

cout << "Enter your loan balance: ";

cin >> fbalance;

// Укажите, сколько выплачено по ссуде

cout << "\nEnter your loan payment amount: ";

cin >> fpayment;

// В настоящий момент вы

cout << "\n\nYou have "; // переплатили / выплатили

cout << ((fpayment > fbalance) ? "overpaid by $" : "paid $");

cout << ((fpayment > fbalance) ? abs(fbalance - fpayment)) :

fpayment); // по вашей ссуде в ... долларов

cout << " on your loan of $" << fbalance << ".";



return(0); }

Первый условный оператор используется в программе в операторе cout для определения строки, выводимой на печать: "overpaid by $" или "paid $". В следующем условном операторе вычисляется и печатается соответствующее значение денежного эквивалента.

 

 

Заменяет многократно разветвленный оператор if else.

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

{ case метка 1:

<оператор 1 или группа операторов 1>;

case метка 2:

<оператор 2 или группа операторов 2>;

case метка n:

<оператор n или группа операторов n>;

default: <оператор или группа операторов>;

}

 

 

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

Метка default (умолчание) может отсутствовать, но если она есть, то выполняется в том случае, когда не выполнено ни одно из case.

Пример:

Вводится количество листов в приложение. Нужно напечатать лист, листа или листов в зависимости от числа. Например: 21 лист, 33 листа, 200 листов.

 

#include <stdio.h>

#include <conio.h>

void main()

{ int list;

char sym;

do // цикл

{ clrscr();

printf(“\n\t Введите количество страниц:”);

scanf(“%d”, & list);

printf(“\n\t Введено %5d”, list);

flushall(); // очистка буфера клавиатуры

if (list>10 && list <=20)

printf(“ листов”);

else switch(list %10)

{ case 1: printf(“ _ лист \n”);

break;

case 2,3,4: printf(“ _ листов \n”);

break;

default: printf(“ _ листов \n”);

} //end switch

printf(“\n\t Продолжить (y/n)?”);

sym=getchar();

} while (sym= = ‘y’); // end do while

}

 



<== предыдущая лекция | следующая лекция ==>
Операторы if-else-if | Оператор цикла for, while и do-while


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


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

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

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


 


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

 
 

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

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