Читать «Полный справочник по С++» онлайн - страница 9

Герберт Шилдт

■м|й|Н| Концепция обособления широко применяется в языке C++. В частности, каж-I дая часть программы, написанной на этом языке, может четко управлять I доступом к ней из других модулей.

Структурные языки предоставляют широкий спектр возможностей. Они допускают использование вложенных циклов, например while, do-while и for.

В структурированных языках использование оператора goto либо запрещено, либо нежелательно и не включается в набор основных средств управления потоком выполнения программы (как это принято в стандарте языка BASIC и в традиционном языке FORTRAN). Структурированные языки позволяют размешать несколько инструкций программы в одной строке и не ограничивают программиста жесткими полями для ввода команд (как это делалось в старых версиях языка FORTRAN).

Рассмотрим несколько примеров структурированных и неструктурированных языков (табл. 1.2).

Таблица 1.2. Структурированные и неструктурированные языки программирования
НеструктурированныеСтруктурированные
FORTRANPascal
BASICAda
COBOLJava
C#
C++
С
Modula-2

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

Новые версии старых языков программирования (например Visual Basic) включают элементы структурированости. И все же врожденные недостатки этих языков вряд пи будут до конца исправлены, поскольку структурированность не закладывалась в их основу с самого начала.

На заметку

Основным структурным элементом языка С является функция. Именно функции служат строительными блоками, из которых создается программа. Они позволяют разбивать программу на модули, решающие отдельные задачи. Создав функцию, можно не беспокоиться о побочных эффектах, которые она вызовет в других частях программы. Способность создавать отдельные функции чрезвычайна важна при реализации больших проектов, в которых один фрагмент кода не должен взаимодействовать с другими частями программы непредсказуемым образом.

Другой способ структурирования и обособления программы, написанной на языке С, — блоки. Блок (code block) — это группа операторов, логически связанных между собой, и рассматриваемых как единое целое. В языке С блок можно создать с помощью фигурных скобок, ограничивающих последовательность операторов. Вот типичный пример блока.

if (х < 10) {

printf("Слишком мало, попробуйте снова.\п"; scanf("%d", &х);

}

Два оператора, расположенных внутри фигурных скобок, выполняются, если значение переменной х меньше 10. Эти два оператора вместе с фигурными скобками образуют блок. Блок — это логическая единица, поскольку оба оператора обязательно должны быть выполнены. Блоки позволяют ясно, элегантно и эффективно реализовывать различные алгоритмы. Более того, они помогают программисту лучше выразить природу алгоритма.