Разработка на C/C++

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Типы данных

Концепция

Тип данных определяет:

  • внутреннее представление данных в памяти компьютера;
  • множество значений, которые могут принимать величины этого типа;
  • операции и функции, которые можно применять к величинам этого типа;

Типы данных

Все типы данных языка С++ можно разделить на основные и составные.

Шесть основных типов данных

Основные (стандартные) типы данных часто называют арифметическими, поскольку их можно использовать в арифметических операциях. Для описания основных типов определены следующие ключевые слова:

  • int (целый);
  • char (символьный);
  • wchar_t (расширенный символьный);
  • bool (логический);
  • float (вещественный);
  • double (вещественный с двойной точностью);

Первые четыре типа называют челочисленными (целыми), а последние два - типами с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.

Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:

  • short (короткий)
  • long (длинный)
  • signed (знаковый)
  • unsigned (беззнаковый)

Целый тип (int)

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под величины этого типа отводится 2 байта, для 32-разрядного - 4 байта.

При использовании типа со спецификатором short под число отводится 2 байта независимо от разрядности процессора.

При использовании типа со спецификатором long под число отводится 4 байта.

Символьный тип (char)

Под величину символьного типа отводится количество байт, достаточное для размещения любого символа из набора символов для данного компьютера. Как правило это 1 байт. Этот тип может быть как со знаком, так и без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. При использования спецификатора unsigned значения могут находиться в пределах от 0 до 255.

Расширенный символьный тип (wchar_t)

Тип wchar_t предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например, Unicode. Размеры этого типа зависят от реализации; как правило, он соответствует типу short. Строковые константы типа wchar_t записываются с префиксом L, например L"Preved".

Логический тип (bool)

Величины логического типа могут принимать только значения true и false, являющиеся зарезервированными словами. Внутренняя форма представления значения false - 0 (нуль). Любое другое значение интерпретируется как true. При преобразовании к целому типу true имеет значение 1.

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

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

Условный оператор if используется для разветвления процесса вычисления на два направления

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

if (выражение) {оператор_1;оператор_2;} [else {оператор_3;оператор_4;}];
Структурная схема условного оператора


Пример использования условного оператора можно посмотреть здесь

Условная операция

Условная операция является трехоперандной и имеет синтаксис:

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

переменная=выражение? значение1:значение2;

Пример: max=(a>b)?a:b; - Если a>b , то a=a, а b=b. В противном случае - наоборот: a=b, b=a

Оператор switch

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

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

switch (выражение){
   case константное_выражение_1: [список_операторов_1]
   case константное_выражение_1: [список_операторов_1] 
   ...
   case константное_выражение_1: [список_операторов_1]
   [default: список операторов]
}
Структурная схема оператора switch


Пример использования оператора switch можно посмотреть здесь

Оператор цикла спараметром (оператор for)

Задачи

Задача 1

Задание

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

Код