Инструкции
Переменные
Пример 7. Описание переменных
int a,с;
float x;
Общий вид оператора описания:
[класс памяти][const] тип имя [инициализатор];
Const – показывает, что эту переменную нельзя изменять (именованная константа).
При описании можно присвоить переменной начальное значение (инициализация).
int x=4; //определение и инициализация х
Классы памяти: auto,register, extern, static.
Пример 8.
int a; //глобальная переменная
void main()
{
int b; //локальная переменная
extern int x; //переменная х определена в другом месте
static int c; //локальная статическая переменная
a=1; //присваивание глобальной переменной
int a; //локальная переменная а
a=2; //присваивание локальной переменной
}
a=3; //присваивание глобальной переменной
int x=4; //определение и инициализация х
Пример 9.
float f ; // глобальная переменная – к ней можно обращаться из любого
// места программы
int main()
{
f = 3.17;
double d = 2.2;
int i = 7;
if (f = = 5.0)
{
float f2 = f + 10;
}
f2 = 14.87; // ошибка – вышли из области видимости переменной
d = d + i;
return 0;
}
Обратите внимание: = означает оператор присваивания,
== проверку равенства.
Пример 10.
int x = 0; // объявление и инициализация глобальной переменной x
void f()
{
int x = -1; // локальная переменная x скрывает глобальную x
{
int x; // объявление без инициализации новой
// переменной скрывает
// предыдущую локальную переменную x
x = 2; // присваивание второй локальной переменной x
}
x = 3; // присваивание первой локальной переменной x
}
int *p = &x; // взятие адреса глобальной переменной x
Наиболее частой причиной объявления переменной без инициализации является случай, когда для инициализации в программе имеется специальная инструкция, что показано в примере выше, или в эту переменную будет осуществляться ввод.
Инструкции задают последовательность вычислений в программе.
Все инструкции языка C++, кроме блоков инструкций, заканчиваются точкой с запятой (;).
Одна инструкция может занимать одну или более строк. Две или большее количество инструкций могут быть расположены на одной строке.
В табл. 4 приведена сводка инструкций языка C++:
Таблица 4
Список инструкций языка C++
Тип инструкции | Синтаксис инструкции, примечания |
Пустая инструкция | ; |
Блок | {последовательность инструкций} |
Объявление | Объявления переменных, структур, классов, функций |
Инструкция-выражение | выражение; |
Ветвление по условию if | if (условие) инструкция |
Ветвление по условию if / else | if (условие) инструкция 1 else инструкция 2 |
Инструкция выбора switch | switch (выбирающее выражение) { объявления case константа 1: последовательность инструкций 1 case константа 2: последовательность инструкций 2 … case константа N: последовательность инструкций N default: последовательность инструкций } |
Циклwhile | while (условие) инструкция |
Цикл do / while | do инструкция while (условие) |
Цикл for | for (инициализирующее выражение; условие; модифицирующее выражение) инструкция |
Инструкция прекращения break | break; |
Инструкция прекращения с продолжением continue | continue; |
Инструкция возврата return | return выражение; |
Безусловный переход goto | goto идентификатор; … идентификатор: инструкция |
Контроль и обработка исключений try / catch | try { последовательность инструкций, генерирующих исключения } catch (тип1 arg) { последовательность инструкций, обрабатывающих исключения типа1 } catch (тип2 arg) { последовательность инструкций, обрабатывающих исключения типа2 } … catch (типN arg) { последовательность инструкций, обрабатывающих исключения типаN } |
Генерация исключения throw | throw expr; //тип выражения //идентифицирует генерируемое исключение |
Инструкции, включая инструкции, изменяющие порядок выполнения программы (if, if / else, switch, while, do / while, for, исключения), могут вкладываться друг в друга, что даёт возможность строить весьма сложные со многими путями выполнения программы.
4.4. Основные операторы языка C++