Имя_типа список_идентификаторов;

      Комментарии к записи Имя_типа список_идентификаторов; отключены

Программу сохранить под своей фамилией сбросить на флешку преподавателю.

Структура программы на языке С++

Программа на языке С++ есть последовательность директив препроцессора, объявлений глобальных констант, типов данных, переменных, функций (вспомогательных алгоритмов) и операторов.

В каждой программе должна быть объявлена функция с именем main, именно с неё начинается выполнение программ на языке С++.

Объявление функции может иметь следующий вид:

Тип_результата имя_функции (список_аргументов)

{ тело функции, которое может состоять из:

  • объявлений локальных констант, типов данных, переменных,
  • операторов и операций.

}

Объявлять внутри функции другие функции ЗАПРЕЩАЕТСЯ.

Размер букв в тексте программ важен, например, Var и var – два разных идентификатора[1].

Запись оператора завершается символом ; , который считается составной частью оператора.

Однострочечные комментарии начинаются с символа //, а многострочечные заключается между символами /* и */.

Пример программы на языке C++

#include// директива препроцессора

#include

void main() { // объявление функции

cout

Getch ();

}

Схема подготовки исполняемой программы (exe-файла)

Примечание. В дальнейшем примеры программ будут приводиться для системы программирования на языке C++ фирмы Borland для операционной системы Windows (сокращённо BCW).

Основные стандартные простые типы данных языка С++

Простым типом данных называется тройка (M, O, R), где M есть конечное множество констант, O – множество операций, R – множество отношений, определённых на множестве M.

имя типа размер констант в байтах множествоконстант Примечания
unsigned char [0; 255] C Z коды символов
char [-128; 127] C Z коды символов
unsigned int [0; 65535] C Z
int [-32768; 32767] C Z
unsigned long [0; ~ 4 млрд.] C Z ~ означает примерно
long [~ — 2 млрд.; ~ 2 млрд.]C Z
float [3,4*10-38; 3,4*1038] CC Q по абсолютной величине,7 значащих цифр.
double [1,7*10-308; 1,7*10308] CC Q по абсолютной величине,15 значащих цифр.
long double [3,4*10-4932; 3,4*104932] CC Q по абсолютной величине,19 значащих цифр.

Примечания.

  • Z означает множество целых чисел, Q – рациональных чисел.
  • Символы заключаются в апострофы.
  • Целые константы можно записывать в 16 СС и в 8 СС, предваряя их запись ?x и ? соответственно, например, ?xaAbB, ?12345.

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

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

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

const имя_типа идентификатор = выражение;

Пример.

const float pi = 3.14;

Объявление переменных

имя_типа список_идентификаторов;

Примечания.

  • При объявлении переменных допускается их инициализация.
  • Объявлять переменные можно в любом месте блока до первого их использования.
  • Блоком является вся программа, тело функции, либо операторы и операции, заключенные в { }.

Пример объявления переменных простых типов:

int a, b = 17, B = 21; // переменные в списке разделяются запятыми

char d = ‘s’, ch = ?x31;

Приоритеты операций

Ранг Операции Комментарии
( ) [ ] — :: .
! ~ + — ++ —* (имя_типа)sizeof new delete унарные операции
.* -*
* / % бинарные операции: умножить, разделить, частное от деления
+ — бинарные операции
сдвиги влево/вправо
= отношения
== != равно/неравно
поразрядное «и»
^ поразрядное «исключающее или»
| поразрядное «или»
конъюнкция
|| дизъюнкция
?: условная операция
= += /= %= += -= = ^=|= = операции присваивания
, операция запятая

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

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

Преобразование типов

Если это необходимо и возможно, то тип результата выражения можно явно преобразовать следующим образом:

(имя_типа) выражение

например, в результате явного преобразования типа int d = (int) 2.71;переменная dполучит значение 2, то есть преобразование к целому типу заключается в отбрасывании дробной части числа.

Основные конструкции языка С++

Функции в языке С++

Каждая используемая в программе функция[2] должна быть объявлена в любом месте программы до первого к ней обращения.

Объявление функции имеет вид:

заголовок_функции {тело_функции}

Правила языка С++ позволяют до обращения к функции объявить её прототип:

Заголовок_функции ;

а после обращения привести “полное” объявление функции.

Такое двухэтапное объявление функций позволяет выделить основной алгоритм, который выполняет функция main().

Чаще всего заголовок функции имеет вид:

eклассu тип_значения_функции имя_функции (список_аргументов) ;

где

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

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

Операции присваивания

В общем случае операция присваивания имеет вид[3]:

eимя_типаu идентификатор знак_операции e(имя_типа)u выражение;

Выполнение операции:

  • вычисляется значение выражения,
  • полученная константа приводится к указанному типу,
  • над содержимым области памяти, поименованной идентификатором, и константой выполняется операция, знак которой находится до “=”,
  • результат помещается в область памяти, поименованной идентификатором.

Примеры.

  • int a = 7; // объявляется переменная a и a7[4]
  • a += (int) 8/3; // a7 + 2
  • int b = a = 9; // объявляется переменная b и a9, b9

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

Так как операция присваивания выполняется справа налево, то в ней может объявляться только одна переменная.

Особо следует отметить две операции присваивания: инкремент ++ и декремент —, каждая из которых бывает двух видов: префиксной и постфиксной, например,

++ c; // префиксный инкремент,

b — ; // постфиксный декремент,

Префиксная форма ++ (—) увеличивает (уменьшает) операнд на единицу ДО его использования. Постфиксная форма ++ (—) увеличивает (уменьшает) операнд на единицу ПОСЛЕ его использования.

Пример.

int a, b = 5;

a = ++b; // bb + 1, ab; итог: a6, b6

a += b—; // aa + b, bb – 1; итог: a12, b5

Статьи к прочтению:

All Dog Breeds In The World (A to Z)


Похожие статьи: