Разработка на C/C++: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Операторы ветвления)
(Операторы ветвления)
 
(не показано 15 промежуточных версий этого же участника)
Строка 50: Строка 50:
  
 
'''Формат оператора:'''
 
'''Формат оператора:'''
'''if ('''выражение''') '''оператор_1'''; [else '''оператор_2''';];'''
 
  
[[Изображение:struct.png|left|3000px|thumb|Структурная схема условного оператора]]
+
'''if ('''выражение''') {'''оператор_1''';'''оператор_2;'''} [else {'''оператор_3''';'''оператор_4''';}];'''
____________________________________________________________________________________
+
 
 +
[[Изображение:struct.png|left|3000px|thumb|Структурная схема условного оператора]]<br clear="all">
 +
 
 +
Пример использования условного оператора можно посмотреть
 +
[[Пример3: Программа вычисления квадратного уравнения (с использованием условного оператора if)|здесь]]
 +
 
 +
==Условная операция==
 +
 
 +
Условная операция является трехоперандной и имеет синтаксис:
 +
 
 +
'''Формат оператора'''
 +
 +
переменная=выражение? значение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.png|2000px|left|thumb|Структурная схема оператора switch]]<br clear="all">
 +
 
 +
Пример использования оператора switch можно посмотреть
 +
[[Пример4: Бессмысленная программа вывода на консоль названия дня недели в соответствии с введенной цифрой|здесь]]
 +
 
 +
==Оператор цикла спараметром ('''оператор for''')==
  
 
=Задачи=
 
=Задачи=

Текущая версия на 15:18, 12 ноября 2008

Типы данных

Концепция

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

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

Типы данных

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

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

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

  • 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

Задание

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

Код