- •Программу сохранить под своей фамилией сбросить на флешку преподавателю.
- •Void main() { // объявление функции
- •Объявление постоянных
- •Объявление переменных
- •Приоритеты операций
- •Преобразование типов
- •Операции присваивания
- •Операторы ветвления и передачи управления Краткая форма условного оператора
- •If(выражение) оператоР_1;
- •Полная форма условного оператора
- •If(выражение) опреатоР_1; else оператоР_2;
- •Условная операция
- •Оператор выбора
- •Математические функции – файл math.H
- •Порядок выполнения работы
- •Варианты заданий к лабораторной работе №1
Объявление постоянных
Переменная, значение которой не может меняться, называется постоянной.
Постоянные объявляются следующим образом:
const имя_типа идентификатор = выражение;
Пример.
const float pi = 3.14;
Объявление переменных
имя_типа список_идентификаторов;
Примечания.
При объявлении переменных допускается их инициализация.
Объявлять переменные можно в любом месте блока до первого их использования.
Блоком является вся программа, тело функции, либо операторы и операции, заключенные в { }.
Пример объявления переменных простых типов:
int a, b = 17, B = 21; // переменные в списке разделяются запятыми
char d = ‘s’, ch = x31;
Приоритеты операций
Ранг |
Операции |
Комментарии |
1 |
( ) [ ] -> :: . |
|
2 |
! ~ + - ++ -- & * (имя_типа) sizeof new delete |
унарные операции |
3 |
.* ->* |
|
4 |
* / % |
бинарные операции: умножить, разделить, частное от деления |
5 |
+ - |
бинарные операции |
6 |
<< >> |
сдвиги влево/вправо |
7 |
< <= >= > |
отношения |
8 |
== != |
равно/неравно |
9 |
& |
поразрядное «и» |
10 |
^ |
поразрядное «исключающее или» |
11 |
| |
поразрядное «или» |
12 |
&& |
конъюнкция |
13 |
|| |
дизъюнкция |
14 |
?: |
условная операция |
15 |
= += /= %= += -= &= ^= |= <<= >>= |
операции присваивания |
16 |
, |
операция запятая |
Примечание. Операции участвуют в записи выражений. При вычислении значения выражения сначала вычисляются операции с меньшим рангом (с бóльшим приоритетом), операции с одинаковым рангом вычисляются слева направо по порядку.
Обратите внимание на то, что в С++ присваивания являются операциями, выполняющимися справа налево, а не операторами, как во многих других языках программирования.
Преобразование типов
Если это необходимо и возможно, то тип результата выражения можно явно преобразовать следующим образом:
(имя_типа) выражение
например, в результате явного преобразования типа int d = (int) 2.71; переменная d получит значение 2, то есть преобразование к целому типу заключается в отбрасывании дробной части числа.
Основные конструкции языка С++
Функции в языке С++
Каждая используемая в программе функция2 должна быть объявлена в любом месте программы до первого к ней обращения.
Объявление функции имеет вид:
заголовок_функции {тело_функции}
Правила языка С++ позволяют до обращения к функции объявить её прототип:
заголовок_функции ;
а после обращения привести “полное” объявление функции.
Такое "двухэтапное" объявление функций позволяет выделить основной алгоритм, который выполняет функция main().
Чаще всего заголовок функции имеет вид:
класс тип_значения_функции имя_функции (список_аргументов) ;
где
класс ::= extern | static
extern означает, что функция будет доступной из других программ,
static означает, что локальные параметры функции сохраняют свои значения между вызовами функции,
тип значения функции может быть любым кроме типов массив или функция,
список аргументов содержит задания типов и имён для каждого аргумента функции.
Если функция не возвращает значение, то тип её результата void.
Если тип результата функции не void, то в её теле должен выполняться оператор return выражение; Выполнение этого оператора прекращает выполнение операторов в теле функции, а значение выражения заменяет вызов (обращение к) функции.
Пример определения функции.
Без прототипа функции |
С прототипом функции |
int sum(int a, int b) // заголовок; {return a + b;} // тело; void main(void) { int A = 2, B = 3; C = sum(A, B); } |
int sum(int a, int b); // прототип
void main(void) { int A = 2, B = 3; C = sum(A, B); } // объявление функции: int sum(int a, int b) {return a + b;} |
Примечание. Если требуется запретить изменение аргумента в теле функции, то его задание в списке аргументов должно начинаться с модификатора const, например, прототип int f(const int a, int b); объявляет, что у функции f от двух аргументов попытка изменения в теле функции аргумента a, должна рассматриваться компилятором как ошибка.
Язык С++ разрешает объявлять функции со значением аргументов по умолчанию, например,
int f(int x, int y = 1, int z = 2) {…}
Если при вызове таких функций значения аргументов не указываются, то им присваиваются значения объявленные в заголовке функции.
Примеры вызовов.
int k = f(5, 6, 7); // все аргументы получают указанные значения,
k = f(10, 4); // z получает значение по умолчанию 2,
k = f(0); // аргументы y и z получают значения по умолчанию.
Примечание. Аргументы, значения которым присваиваются по умолчанию, должны объявляться последними в списке аргументов.
