Синтаксис C++

Структура программы С++

  1. тип возвращаемого значения; Int
  2. имя функции; main()
  3. список параметров, {return 0;} - заключённый в круглые скобки
  4. тело функции - эта строка значит "вернуть операционной системе в качестве сигнала об успешном завершении программы значение 0".

Стандартные типы данных

Переменные

Формат описания переменных: [<класс памяти>]<тип><имя>[=<выражение> | (<выражение>)];

Пример: int I,j; double x; Значение переменных должно быть определено с помощью:

  1. оператора присваивания: int a; //описание переменной int= a; //опред.значения.переменной
  2. оператора ввода: int a; //описание переменной cin>>a; //опред.знач.переменной
  3. инициализация – опред.значения переменной на этом этапе описания. int i=100 //инициализация копией int i (100); // прямая инициализация

Операторы С++

Программа на языке С++ состоит из последовательности операторов, каждый из них определяет значение некоторого действия; Все операторы разделены на 4 группы:

Операторы следования

К ним отн-ся : оператор выражение и составной оператор.

Выражение, завершающееся точкой с запятой, рассматривается как оператор (вычислении значения выражения или выполнении законченного действия);

++i; //оператор инкремента

х+=у; //оператор сложение с присваиванием

f(a, b) //вызов функции

x= max (a, b) + a*b; //вычисление сложного выражения

Частным случаем оператора выражения является пустой оператор ; (используется, когда по синтаксису оператор требуется, а по смыслу — нет)

Составной оператор или блок представляет собой последоват-ть операторов, заключенных в фигурные скобки. Блок обладает собственной областью видимости: объявленные внутри блока имена доступны только внутри блока; Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует нескольких операторов.

Операторы ветвления

К ним отн-ся : условный оператор if и оператор выбора switch, они позволяют изменить порядок выполнения операторов в программе.

Условный оператор if

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

Оператор выбора switch

предназначен для разветвления процесса вычислений на несколько направлений.

Формат оператора:

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

{case <константное_выражение_1>: [<оператор 1>]

case <константное_выражение_2>: [<оператор 2>]

…………………………..

case <константное_выражение_n>: [<оператор n>]

[default: <оператор> ]}

Выражение, стоящее за ключевым словом switch, должно иметь арифметич. тип или тип указатель.

Все константные выражения должны иметь разные значения, но совпадать с типом выражения, стоящим после switch.

Ключевое слово case и расположенное после него константное выражение называют также меткой case.

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

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

Цикл с предусловием while

Оператор цикла while организует выполнение одного оператора (простого или составного) неизвестное заранее число раз.

Формат цикла while: while (В) S;

В - выражение, истинность которого проверяется (условие завершения цикла);

S - тело цикла: один оператор (простой или составной).

Перед каждым выполнением тела цикла анализируется значение выражения В:

Цикл с постусловием do while

В отличие от цикла while условие завершения цикла проверяется после выполнения тела цикла.

Формат цикла do while: do S while (В);

В - выражение, истинность которого проверяется (условие завершения цикла);

S - тело цикла: один оператор (простой или блок).

Сначала выполняется оператор S, а затем анализир-ся значение выражения В:

Цикл с параметром for

Цикл с параметром имеет следующую структуру:

for (<инициализация>; <выражение>; <модификации>) <оператор>;

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

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

Выражение определяет условие выполнения цикла: - если его результат истинен, цикл выполняется.

Истинность выражения проверяется перед каждым выполнением тела цикла, таким образом, цикл с параметром реализован как цикл с предусловием.

Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла.

В части модификаций можно записать несколько операторов через запятую.

Оператор (простой или составной) представляет собой тело цикла.

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

В C++ есть четыре оператора, изменяющие естественный порядок выполнения операторов:

Указатели

В C++ различают три вида указателей:

Указатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа (простого или составного).

Объявление указателя на объект имеет следующий вид:

<базовый тип> [<модификатор>] * <имя указателям

базовый тип — имя типа переменной, адрес которой будет содержать переменная указатель;

модификатор необязателен., может иметь значение: near, far или huge

Указатель типа void применяется в тех случаях, когда конкретный тип объекта, адрес которого нужно хранить, не определен.

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

Одномерный массив

Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент имеет свой номер.

Нумерация элементов массива в C++ начинается с нулевого элемента, то есть, если массив состоит из 10 элементов, то его элементы будут иметь следующие номера: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Элементы массива могут быть любого типа, в том числе и структурированного (кроме файлового).

Между указателями и массивами существует взаимосвязь: любое действие над элементами массивов, которое достигается индексированием, может быть выполнено и с помощью указателей.

Двумерные массивы

Двумерные массивы (матрицы, таблицы) - представляют собой фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент определяется номером строки и номером столбца, на пересечении которых он находится.

Двумерные массивы находят свое применение тогда, когда исходные данные представлены в виде таблицы, или когда для хранения данных удобно использовать табличное представление.

Нумерация строк и столбцов начинается с нулевого номера.

Поэтому если массив содержит три строки и четыре столбца, то строки нумеруются: О, 1, 2; а столбцы: 0, 1, 2, 3.

В C++ двумерный массив реализуется как одномерный, каждый элемент которого также массив.