Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная для ИБ на 1.03.2013.docx
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
210.81 Кб
Скачать

Объявление постоянных

Переменная, значение которой не может меняться, называется постоянной.

Постоянные объявляются следующим образом:

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 получают значения по умолчанию.

Примечание. Аргументы, значения которым присваиваются по умолчанию, должны объявляться последними в списке аргументов.