Условныеоператоры. Оператор безусловного перехода

Для организации условных и безусловных переходов в программе используются операторы: if - else, switch и goto.

Полный условный оператор имеет вид:

if (<условие>) <оператор_1>; else<оператор_2>;

Если условие в скобках принимает истинное значение, выполняется оператор_1, если ложное – оператор_2. Если вместо одного необходимо выполнить несколько операторов, то они заключаются в фигурные скобки (т.е. используется составной оператор).

Неполный условный оператор имеет вид:

if (<условие>) <оператор>;

Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем формальном виде:

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

{

case<константа_1>: <операторы_1>; break;

case<константа_2>: <операторы_2>; break;

........ ........

default: <операторы_default>;

}

Здесь вычисляется значение целого выражения в скобках и оно сравнивается со всеми константами (константными выражениями). Все константы должны быть различными. При совпадении выполнится соответствующий вариант операторов (один или несколько операторов). Вариант с ключевым словом default реализуется, если ни один другой не подошел (слово default может и отсутствовать). Если default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется.

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

Оператор безусловного перехода имеет вид:

goto<метка>;

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

Операторы цикла

В языке Си и Си++ три оператора цикла: for, while и do - while. Первый из них имеет вид:

for (<выражение_1>; <выражение_2>; <выражение_3>)<тело_цикла>;

Тело цикла составляет либо один оператор, либо несколько операторов, заключенных в фигурные скобки { ... }, т.е. если в цикле выполняется несколько операторов, то применяется составной оператор. В выражениях 1, 2, 3 фигурирует специальная переменная, называемая управляющей. По ее значению устанавливается необходимость повторения цикла или выхода из него.

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

Примеры:

for (i = 1; i< 10; i++)

{ ...

}

for (сh = 'a'; ch != 'p';) scanf ("%c", &ch);

/* Цикл будет выполняться до тех пор, пока с клавиатуры не будет введен символ 'p' */

Любое из трех выражений в цикле for может отсутствовать, однако точка с запятой должна оставаться. Таким образом, for ( ; ; ) {...} – это бесконечный цикл, из которого можно выйти лишь другими способами.

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

Оператор while(с предусловием) имеет вид:

while (<выражение>) <тело_цикла>;

Выражение в скобках может принимать ненулевое (истинное) или нулевое (ложное) значение. Если оно истинно, то выполняется тело цикла и выражение вычисляется снова. Если выражение ложно, то цикл while заканчивается.

Оператор do-while(с постусловием) имеет вид:

do {<тело_цикла>} while (<выражение>);

Основным отличием между циклами while и do - while является то, что тело в цикле do - whileвыполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз.

Допускается вложенность одних циклов в другие, т.е. в теле любого цикла могут появляться операторы for, while и do - while.

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

1.7.СредаVisualC++2008 Express

ОбщийвидокнаVisualC++ 2008 показан на рис. 1.

Условныеоператоры. Оператор безусловного перехода - student2.ru

Рис. 1. Вид главного окна после загрузки VisualC++ 2008

СредаVisualC++2008 Express, какисредаBorlandBuilder 6 имееткакконсольныйрежим работы, такирежимWindowsForms (рис. 2).

Условныеоператоры. Оператор безусловного перехода - student2.ru

Рис. 2. Окно создания проекта

Операторы ввода и вывода в режиме работы WindowsFormsимеют иной вид, чем в консольном режиме.

Пример оператора ввода простой переменной:

x=Convert::ToInt(textBox1->Text);

Здесь Convert::ToInt перевод строковой переменной в число целого типа.

Пример одного из операторов ввода массива:

intb[7]={5,2,3,7,0,1,8};

Пример оператора ввода массивас помощью генератора случайных чисел:

Random^ rand=gcnew Random;

for (i=0; i<n; i++)

a[i]=rand->Next(-10,10);

Пример оператора ввода матрицы с помощью генератора случайных чисел:

Random^ rand=gcnew Random;

for (i=0; i<n; i++)

for (j=0; j<m; j++)

a[i][j]=rand->Next(-50,50)-25.8;

Примеры операторов вывода простой переменной:

textBox1->Text=Convert::ToString(y);

richTextBox1->Text="Ответ R="+Convert::ToString(R);

Здесь Convert::ToString перевод числовой переменной в строку.

Примероператоравыводамассива:

for (i=0; i<n; i++)

richTextBox1->Text+=" "+Convert::ToString a[i];

Пример оператора вывода матрицыв общепринятом виде:

for (i=0; i<n; i++)

{for (j=0; j<m; j++)

richTextBox1->Text+=" "+Convert::ToString(a[i][j]);

richTextBox1->Text+=Environment::NewLine;} // переводстроки

Пример оператора вывода матрицыв общепринятом виде с использованием другого способа перевода числа в строкуa[i][j].ToString():

for (i=0; i<n; i++)

{for (j=0; j<m; j++)

richTextBox1->Text+=" "+a[i][j].ToString();

richTextBox1->Text+=Environment::NewLine;} // переводстроки

На рис. 3 показано окно VisualC++ 2008 cсозданной формой «Лабораторная работа» для ввода и вывода информации. Справа раскрыто окно свойств компонент.

На рис. 4 показана панель инструментов со стандартными компонентами.

Условныеоператоры. Оператор безусловного перехода - student2.ru

Рис. 3. Окно VisualC++ 2008 c созданной формой для ввода и вывода информации

Условныеоператоры. Оператор безусловного перехода - student2.ru

Рис. 4. Панель инструментов со стандартными компонентами

Лабораторные работы

Наши рекомендации