Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Проверки
Проверка значения может осуществляться или оператором if, или оператором switch:
if (выражение) оператор
if (выражение) оператор else оператор
switch (выражение) оператор
==!= < <= > >=
возвращают целое 1, если сравнение истинно, иначе возвращают 0. Не так уж непривычно видеть, что ИСТИНА определена как 1, а ЛОЖЬ определена как 0. В операторе if первый (или единственный) оператор выполняется в том случае, если выражение ненулевое, иначе выполняется второй оператор (если он задан). Отсюда следует, что в качестве условия может использоваться любое целое выражение. В частности, если a целое, то if (a) //...эквивалентно if (a!= 0) //...Логические операции && ||! наиболее часто используются в условиях. Операции && и || не будут вычислять второй аргумент, если это ненужно. Например: if (p && 1count) //...вначале проверяет, является ли p не нулем, и только если это так, то проверяет 1count. Некоторые простые операторы if могут быть с удобством заменены выражениями арифметического if. Например: if (a <= d) max = b; else max = a;лучше выражается так: max = (a<=b)? b: a;Скобки вокруг условия необязательны, но я считаю, что когда они используются, программу легче читать. Некоторые простые операторы switch можно по-другому записать в виде набора операторов if. Например: switch (val) { case 1: f(); break; case 2; g(); break; default: h(); break; } иначе можно было бы записать так: if (val == 1) f(); else if (val == 2) g(); else h();Смысл тот же, однако первый вариант (switch) предпочтительнее, поскольку в этом случае явно выражается сущность действия (сопоставление значения с рядом констант). Поэтому в нетривиальных случаях оператор switch читается легче. Заботьтесь о том, что switch должен как-то завершаться, если только вы не хотите, чтобы выполнялся следующий case. Например: switch (val) { // осторожно case 1: cout << "case 1\n"; case 2; cout << "case 2\n"; default: cout << "default: case не найден\n"; } при val==1 напечатает case 1 case 2 default: case не найденк великому изумлению непосвященного. Самый обычный способ завершить случай - это break, иногда можно даже использовать goto. Например: При обращении к нему с val==2 выдаст case 2 case 1Заметьте, что метка case не подходит как метка для употребления в операторе goto: goto case 1; // синтаксическая ошибкаGoto C++ снабжен имеющим дурную репутацию оператором goto. goto идентификатор; идентификатор: операторВ общем, в программировании высокого уровня он имеет очень мало применений, но он может быть очень полезен, когда C++ программа генерируется программой, а не пишется непосредственно человеком. Например, операторы goto можно использовать в синтаксическом анализаторе, порождаемом генератором синтаксических анализаторов. Оператор goto может быть также важен в тех редких случаях, когда важна наилучшая эффективность, например, во внутреннем цикле какой- нибудь программы, работающей в реальном времени. Одно из немногих разумных применений состоит в выходе из вложенного цикла или переключателя (break лишь прекращает выполнение самого внутреннего охватывающего его цикла или переключателя). Например: for (int i = 0; iDate: 2015-09-25; view: 271; Нарушение авторских прав |