Язык программирования C++. Пятое издание - [8]
>#include
>/*
> * Пример функции main():
> * Читает два числа и отображает их сумму
>*/
>int main()
>{
> // Предлагает пользователю ввести два числа
> std::cout << "Enter two numbers:" << std::endl;
> int v1 = 0, v2 = 0; // переменные для хранения ввода
> std::cin >> v1 >> v2; // чтение ввода
> std::cout << "The sum of " << v1 << " and " << v2
> << " is " << v1 + v2 << std::endl;
> return 0;
>}
Комментарий, который начинается символом >/*
, всегда завершается следующим символом >*/
. Поэтому один парный комментарий не может находиться в другом. Сообщение о подобной ошибке, выданное компилятором, как правило, вызывает удивление. Попробуйте, например, откомпилировать следующую программу:
>/*
>* парный комментарий /* */ не допускает вложения
>* под "не допускает вложения" следует понимать, что остальная часть
>* текста будет рассматриваться как программный код
>*/
>int main()
>{
> return 0;
>}
Упражнение 1.7. Попробуйте откомпилировать программу, содержащую недопустимо вложенный комментарий.
Упражнение 1.8. Укажите, какой из следующих операторов вывода (если он есть) является допустимым:
>std::cout << "/*";
>std::cout << "*/";
>std::cout << /* "*/" */;
>std::cout << /* "*/" /* "/*" */;
Откомпилируйте программу с этими тремя операторами и проверьте правильность своего ответа. Исправьте ошибки, сообщения о которых были получены.
1.4. Средства управления
Операторы обычно выполняются последовательно: сначала выполняется первый оператор в блоке, затем второй и т.д. Конечно, при последовательном выполнении операторов много задач не решить (включая проблему книжного магазина). Для управления последовательностью выполнения все языки программирования предоставляют операторы, обеспечивающие более сложные пути выполнения.
1.4.1. Оператор >while
Оператор>while
организует итерационное (циклическое) выполнение фрагмента кода, пока его условие остается истинным. Используя оператор >while
, можно написать следующую программу, суммирующую числа от >1
до >10
включительно:
>#include
>int main() {
> int sum = 0, val = 1;
> // продолжать выполнение цикла, пока значение val
> // не превысит 10
> while (val <= 10) {
> sum += val; // присвоить sum сумму val и sum
> ++val; // добавить 1 к val
> }
> std::cout << "Sum of 1 to 10 inclusive is "
> << sum << std::endl;
> return 0;
>}
Будучи откомпилированной и запущенной на выполнение, эта программа отобразит на экране следующий результат:
>Sum of 1 to 10 inclusive is 55
Как и прежде, программа начинается с включения заголовка >iostream
и определения функции >main()
. В функции >main()
определены две переменные типа >int
— >sum
, которая будет содержать полученную сумму, и >val
, которая будет содержать каждое из значений от 1 до 10. Переменной >sum
присваивается исходное значение >0
, а переменной >val
— исходное значение >1
.
Новой частью программы является оператор >while
, имеющий следующий синтаксис.
>while (условие)
> оператор
Оператор >while
циклически выполняет >оператор
, пока >условие
остается истинным. >Условие
— это выражение, результатом выполнения которого является истина или ложь. Пока >условие
истинно, оператор выполняется. После выполнения >оператора условие
проверяется снова. Если >условие
остается истинным, >оператор
выполняется снова. Цикл >while
продолжается, поочередно проверяя >условие
и выполняя >оператор
, пока >условие
не станет ложно.
В этой программе использован следующий оператор >while
:
>// продолжать выполнение цикла, пока значение val
>// не превысит 10
>while (val <= 10) {
> sum += val; // присвоить sum сумму val и sum
> ++val; // добавить 1 к val
>}
Для сравнения текущего значения переменной >val
и числа >10
условие цикла использует оператор меньше или равно (оператор><=
). Пока значение переменной >val
меньше или равно >10
, условие истинно и тело цикла >while
выполняется. В данном случае телом цикла >while
является блок, содержащий два оператора.
>{
> sum += val; // присвоить sum сумму val и sum
> ++val; // добавить 1 к val
>}
Блок (block) — это последовательность из любого количества операторов, заключенных в фигурные скобки. Блок является оператором и может использоваться везде, где допустим один оператор. Первым в блоке является составной оператор присвоения (compound assignment operator), или оператор присвоения с суммой (оператор>+=
). Этот оператор добавляет свой правый операнд к левому операнду. Это эквивалентно двум операторам: суммы и присвоения.
>sum = sum + val; // присвоить sum сумму val и sum
Таким образом, первый оператор в блоке добавляет значение переменной >val
к текущему значению переменной sum и сохраняет результат в той же переменной >sum
.
Следующее выражение использует префиксный оператор инкремента (prefix increment operator) (оператор>++
), который осуществляет приращение:
>++val; // добавить 1 к val
Оператор инкремента добавляет единицу к своему операнду. Запись >++val
эквивалентна выражению >val = val + 1
.
После выполнения тела цикл
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.