Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование в среде Visual C++ 6. Учебное пособие
.pdf
асам оператор перед точкой сзапятой— это либо отсутствии
символа, либо пробельный символ. Пустой оператор может
входить всостав исоставного оператора. Никаких действий
он непроизводит, ипорядка выполнения он ненарушает.
5.3. Составной оператор
Синтаксис его:
{
<Объявления;>
<Оператор_1;>
<Оператор_2;>
......
<Оператор_n;>
}
В составном операторе объявлений может инебыть, авсе
операторы выполняются попорядку по мере их появления.
Любой оператор всоставном может быть исам составным.
5.4. Оператор выражение
Синтаксис: < ; >. Вкачестве выражения может
быть оператор присваивания любого типа, вызов функции
идругие операторы.
Пример 1: a=B*c+d++; Пример 2: f (x);
Пример 3: y=sin (x).
5.5. Условный оператор if
Синтаксис:
if (< _1 >) или if (< _1 >)
< Оператор_1; < Оператор_1; >
else
< Оператор_2; >
— 31 —

Обычно _1— это операции сравнения или от-
ношения.
Собственно говоря, результатом работы _1
является булева величина: или . Всамом языке
непредусмотрен тип булевой переменной, нонад результатами сравнения или отношения можно выполнять операции как над булевыми величинами. Кроме того, ввыражении
могут отсутствовать операции отношения, вэтом случае если
результат неравен нулю, считается, что результат как булевой величины , аесли результат ноль, тоон считается
как .
Итак, если результат _1 считается истиной,
_1 выполняется, впротивном случае он невыполняется.
По второму синтаксису тоже, если результат -
_1 истина, выполняется _1, впротивном случае
выполняется _2. Все операторы могут быть простыми исоставными.
Следует отметить, что и _1, и_2 тоже
могут быть условными операторами, тоесть один условный
оператор может быть вложен вдругой. Ноздесь нужно быть
внимательным при вложении условных операторов, так как
вторая часть условного оператора else будет относиться кпоследнему оператору if. Для изменения этого порядка можно
воспользоваться организацией составных операторов.
5.6. Оператор пошагового цикла for
Синтаксис:
for (Начало; Условие; Приращение)
Оператор;
Действие а будет выполняться последовательно
дотех пор, пока результат оператора будет .
— 32 —

После каждого выполнения вычисляется оператор . Оператор еред первым исполнением — это тот оператор, переменные которого
изменяются оператором . Перед первым исполнением эти переменные устанавливаются в заданное оператором исходные состояния.
Пример:
for (k=0; k<n; k++)
s+=x [k];
Это наиболее часто встречающаяся конструкция исполь-
зования оператора for. В данном примере этот оператор
к значению переменной s добавляет все значения массива
переменной x, начиная сномера 0 изаканчивая номером n-1.
Здесь переменная k— индекс переменных массива x. Здесь
при k=n выражение в операторе k<n становится ложным,
идействие оператора for прекращается. Оператор for также
прекращает свои действия, если в исполняемом операторе
встретятся операторы break, return, goto.
5.7. Оператор цикла спредусловием while
Синтаксис:
while (<>)
<;>
Здесь тоже, пока результат действия <> будет -
, <> производит последовательно свои вычис-
ления. Он может быть как простым, так исоставным. Перед
каждым вычислением <> вычисляется результат
действия <>. И как только этот результат примет
значение , ействие оператора while прекращается ивы-
числения < > невыполняются. Естественно, если
сразу же при включении в работу оператора while резуль-
— 33 —

тат вычисления <> окажется , <>
ниразу небудет производить свои вычисления. Кроме того,
оператор while прекратит свою работу, если <>
встретит всвоём теле операторы break, return, goto.
5.8. Оператор цикла спостусловием do
Синтаксис:
do
<;>
while (<>);
Здесь сначала выполняет свои вычисления <>,
затем вычисляется < в>. Как только результат <-
> станет , действия оператора do прекращается.
Вотличие отоператора цикла спредусловием, здесь хотябы
один раз вычисления <O> будут выполнены.
Пример:
do
{
y=f (x);
x- -;
}
while (x>0);
5.9. Оператор продолжения continue
Этот оператор используется только в операторах цикла
втеле составного <>.
При выполнении оператора пошагового цикла for после
оператора continue выполнение <> прекращается,
вычисляется <>, затем проверяется <>,
и в зависимости от его результата цикл продолжается или
прекращается.
— 34 —

В операторах while иdo выполнение <> прекра-
щается, затем поверяется <>, ивзависимости отего
результата цикл продолжается или прекращается.
5.10. Оператор-переключатель switch
Синтаксис:
switch (<>)
{
[<;>]
case<_1:>
<_1;>
[break;]
case <_2:>
<_2;>
[break;]
case <_3:>
<_3;>
[default:
<D;>]
… …
}
Оператор switch предназначен для выбора одного или не-
скольких альтернативных вычислений. Оператор начинает работу свычисления <>, в качестве которого может
выступать либо какое-либо выражение, либо чаще всего идентификатор некоторой переменной. Втеле оператора могут появиться новые объявления или строка <;> может
отсутствовать. Затем вычисленное значение <>
попорядку сравнивается c < _1:>, <_2:.>,
и так до конца тела оператора switch. Как только встретится
<>, равная вычисленному значению <>,
— 35 —

выполняется <>, соответствующий данной <-
>. < Оператор <break;> прекращает дальнейшие вычисления
оператора switch. Если оператор break отсутствует, выполняется следующий <> итак далее, пока невстретится оператор break или невыполнится последний <>.
Если ниодин </> невыполнен, тоесть нет ниодной <>, равной значению <>, выпол-
няется <D;>, если он существует. Вданном случае
оператор default: играет роль case с константой, не равной
значению <>. Если же оператор default: отсутствует, то ни один оператор в теле переключателя switch
небудет выполнен. Правда, внекоторых последующих версиях языка и++ такое строгое применение оператора
default: неприменяется.
После последнего <> втеле переключателя оператор break; ставить неимеет смысла. Переменной вычислен-
ного <> приводится ктипу int, ивсе < -
> втеле переключателя также должны иметь тип int,.
Пример:
switch (com)
{
case 0:
t0=atof (dig.m_T0);
break;
case 1:
tk=atof (dig.m_TK);
break;
case 2:
a1=atof (dig.m_A1);
break;
case 3:
— 36 —

a2=atof (dig.m_A2);
default;
}
5.11. Оператор разрыва break
Синтаксис:
break;
Этот оператор используется в операторах for, while, do,
switch. Оператор break прекращает работу выше перечислен-
ных операторов.
goto. Синтаксис:
goto <>;
.
.
.
<>: <;>
.
.
Этот оператор передаёт управление <>, помечен-
ный <>, которая может быть вдругом составном операторе, нотолько вданной функции. Метка представляет собой
обычный идентификатор, не совпадающий с другими идентификаторами. Нельзя с помощью этого оператора передать
управление внутрь тела операторов цикла ипереключателя.
Следует отметить, что опытные программисты очень ред-
ко пользуются этим оператором. Любую программу можно
составить, неприбегая коператору goto.
5.12. Оператор возврата return
Синтаксис:
return [<>];
— 37 —

Этот оператор прекращает работу функции и передаёт
управление ввызывающую функцию оператору, следующему
завызывающим функцию. Вычисленное значение <-
> приводится ктипу функции и передаёт это значение
идентификатору имени функции. В вызывающей функции
значение вычисленной функции можно использовать через
идентификатор имени вычисленной функции. Если <-
> отсутствует, товычисленное значение передаётся
вызывающей функции через общий идентификатор вызывающей ивызываемой функций. Впоследнем случае оператор
return может отсутствовать, иуправление передаётся вызывающей функции после завершения работы последнего оператора вызываемой функции.
— 38 —

6.
Это основная программная единица любой расчётной программы. Функция представляет собой совокупность объявлений иоператоров для решения какой-либо частной задачи.
Любая расчётная программа должна включать всебя несколько, ноне менее одной, функций. Одна изэтих функций должна
иметь имя main, она является самой главной, именно снеё начинает работать любая расчётная программа. Сама эта функция
для необходимых расчётов вызывает для работы другие функции. Те, всвою очередь, тоже могут вызывать другие функции.
6.1. Определение функции
Синтаксис объявления
<спецификация типа> <описатель> ([<cсписок параметров>]) <тело функции>.
<спецификация типа>— это тип возвращаемого (вычис-
ленного) значения. <описатель>— это наименование функции, представляющее изсебя обыкновенный идентификатор,
а тип возвращаемого значения — это тип переменной, описанной идентификатором-наименованием функции. Наличие
круглых скобок является необходимым, чтобы этот идентификатор считать наименованием функции. Если функция
невозвращает никакого значения, тоесть функция использует только переменные, описанные довызова функции, применяется специальный тип void, что впереводе означает пустой.
<Список параметров> совместно сописанием типа их—
это тепеременные, которые принимают заданные значения
— 39 —

при вызове данной функции. Этот <список параметров> может отсутствовать, если функция использует только переменные, объявленные довызова данной функции, ноналичие открывающей изакрывающей круглых скобок обязательно.
<Тело функции>— это простой или составной оператор
для производства необходимых вычислений. Оно может содержать объявление иописание локальных переменных, которые используются только вданной функции. Если функция
возвращает вычисленное значение, <тело функции> должно
содержать всебе оператор return. Еслиже функция не возвращает вычисленное значение, оператор может отсутствовать или присутствовать, нобез своего выражения.
6.2. Вызов функции
Вызов функции— это передача управления <телу функции> для выполнения некоторых вычислений вместе созна-
чениями, которые присваиваются формальным параметрам
вызываемой функции. В зависимости от того, возвращает
или нет вызываемая функция вычисленные значения, способы вызова функции несколько различаются.
Если вызываемая функция возвращает вычисленные значения, товлюбом выражении ивлюбом операторе может встретиться вкачестве составного элемента вызов функции ввиде
выражения:
<имя функции> ([<список выражений>])
Здесь <имя функции> воспринимается как адрес расположения функции воперативной памяти компьютера. Поэтому вместо <имя функции> может стоять выражение,
которое вычисляет это имя или его адрес. Далее значение,
вычисленное первым из <списка выражений>, передаёт-
ся первому формальному аргументу функции, значение
— 40 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
