Вещественные типы данных (с плавающей точкой).

floatspeed, line; /* описывает вещественные переменные */

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

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

Явные преобразования (приведения). Для явных преобразований необходим оператор приведения. Исходная переменная и переменная назначения совместимы, но имеется риск потери данных, поскольку тип переменной назначения имеет меньший размер, чем у исходной переменной (или является базовым классом исходной переменной).

неявное преобразование:

Double d; // вещественный тип

Long l; // целый тип

Inti; // целыйтип

if (d > i) d = i;

if (i > l) l = i;

if (d == l) d *= 2;

явное приведение типов:int X;

int Y = 200;

char C = 30;

X = (int)C * 10 + Y; //переменная С приведена к типу int.

23. Системы счисления. Кодовая таблица ASCII. Классификация и преобразование символов.Система счисле́ния — символический метод записи чисел, представление чисел с помощью письменных знаков. Система счисления:

даёт представления множества чисел (целых и/или вещественных); даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление); отражает алгебраическую и арифметическую структуру чисел. Системы счисления подразделяются на позиционные, непозиционные и смешанные.ASCII (англ. AmericanStandardCodeforInformationInterchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодовASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битнойКлассификация и преобразования символов в стандартной библиотеке С++ определены два фацета (функция) для работы с символами: ctype и codecvt. Оба фацета относятся к категории locale; :ctype. Фацет ctype используется в основном при классификации символов (например, проверки того, является ли символ буквой). Кроме того, в нем предусмотрены методы смены регистра символов, а также преобразования между char и типом символов, для которого был специализирован данный фацет. Фацет codecvt обеспечивает смену кодировок символов и используется в основном шаблоном basicfilebuf для преобразования между внутренними и внешними представлениями.

24. Константы. Целые константы. Константы с плавающей точкой. Символьные константы. Строки. NULL. Константы - объекты, не подлежащие использованию в левой части оператора присваивания, т.к. константа - является неадресуемой величиной и, хотя она хранится в памяти ЭВМ, нет никакого способа узнать ее адрес. В языке Си константами являются:- самоопределенные арифметические, символьные и строковые данные;- идентификаторы массивов и функций;- элементы перечислений. Арифметические константы могут быть целого или вещественного типов. Целочисленные константы Общий формат: ±n (+ обычно не ставится).Десятичные константы - последовательность цифр 0...9, первая из которых не должна быть 0. Константы вещественного типа

Данные константы размещаются в памяти по формату double, а во внешнем представлении могут иметь две формы:1) с фиксированной десятичной точкой, формат записи: ±n.m, где n, m - целая и дробная части числа;2) с плавающей десятичной точкой (экспоненциальная форма): ±n.mE±p, где n, m - целая и дробная части числа, р - порядок; ±0.xxxE±p - нормализованный вид, например, 1,25×10-8 = 0.125E-8. Символьная константа - это символ, заключенный в одинарные кавычки: 'A', 'х' (занимает 1 байт). Тип char® целое int. Строковая константа представляет собой последователь­ность символов кода ASCII, заключенная в кавычки (”) . Во внутреннем представлении к строковым константам добавляется нулевой символ '\0', еще называемый нуль-терминатор, отмечающий конец строкиNULL в языках программирования Си и C++ — макрос, объявленный в заголовочном файле stddef.h (и других заголовочных файлах). Значением этого макроса является зависящая от реализации константа нулевого указателя

25. Операции и выражения языка СиОперации языка Си предназначены для управления данными (более 40). Для их использования необходимо знать:- синтаксис;- приоритеты (15 уровней);- порядок выполнения. Выражения состоят из операндов, операций, скобок и используются для вычисления некоторого значения определенного типа. Каждый операнд может быть, в свою очередь, выражением или одним из его частных случаев.Операции, применяемые к одному операнду, - унарные, к двум операндам – бинарные, есть операция с тремя операндами - тернарная. Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Большинство операций выполняются слева направо, например, a+b+c® (a+b)+c. Исключение: унарные операции, операции присваивания и условная операция (?:) - справа налево.Формат операции присваивания: <ID> = <выражение>;В СИ предусмотрен набор операций для работы с отдельными битами слов. Эти операции нельзя применять к переменным вещественного типа (float, double). Перечень операций над битами и их обозначения:

~- дополнение (унарная операция); инвертирование (одноместная операция);

&- побитовое И - конъюнкция;

|- побитовое включающее ИЛИ - дизъюнкция;

^- побитовое исключающее ИЛИ - сложение по модулю 2;>> - сдвиг вправо; <<- сдвиг влево.

26.Арифметические операции. Аддитивные и мультипликативные операции.Арифметические операции - бинарные. Перечень арифметических операций и их обозначений:

+ - сложение;

- - вычитание (либо унарная операция - изменение знака); / - деление (для int операндов - с отбрасыванием остатка); * - умножение; % -остаток от деления целочисленных операндов со знаком первого операнда (деление по модулю).Операндами традиционных арифметических операций (+ - * /) могут быть константы, переменные, идентификаторы функций, элементы массивов, указатели, любые арифметические выражения. Порядок выполнения операций:

- выражения в круглых скобках;

- функции (стандартные математические, функции пользователя);

- * / выполняются слева направо;

- + ─ слева направо.

Порядок выполнения операций можно определять круглыми скобками, тогда выражение в скобках выполняется в первую очередь (слева направо).Унарные операции + и – обладают самым высоким приоритетом, определены только для целых и вещественных операндов, «+» носит только информационный характер, «–» меняет знак значения операнда на противоположный (не адресная операция).Аддитивные операции + и - группируются слева направо. Выполняютсяобычные арифметические преобразования. Для каждой операции имеютсянекоторые дополнительные возможности, связанные с типами операндов.Мультипликативные операции *, /, и % группируются слева направо.Выполняются обычные арифметические преобразования.

27. Условный оператор if. Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.

Встречаются следующие формы условного оператора:

Условный оператор с одной ветвью

if условие then команды end

При выполнении такого оператора вычисляется условие, и если оно истинно, то выполняются команды до ключевого слова end, в противном случае выполнение программы продолжается со следующей за условным оператором команды. В языках низкого уровня (ассемблерах) это — единственная доступная форма условного оператора. В некоторых языках для условного оператора с одной ветвью используется специальное ключевое слово (обычно это when).

Условный оператор с двумя ветвями

if условие then команды1else команды2 end

Здесь при истинности условия выполняются команды1 при ложности — команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:

if условие1

then команды1

elseif условие2then команды2

else if условие3 then команды3

...

else if условиеN-1 then командыN-1

elseкомандыNend;

28. Тернарная условная операция ?:.Терна́рнаяусло́внаяопера́ция (от лат. ternarius — «тройной») (обычно записывается как ?:) — во многих языках программирования операция, возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Как можно судить из названия, тернарная операция принимает всего три указанных операнда.Безотносительно определённого языка программирования, тернарную операцию можно определить так: логическое выражение ? выражение 1 : выражение 2

Алгоритм работы операции следующий:

Вычисляется логическое выражение.

Если логическое выражение истинно, то вычисляется значение выражения выражение 1, в противном случае — значение выражения выражение 2.

Вычисленное значение возвращается.

Нужно обратить внимание, что вычисляется только одно из выражений: выражение 1 или выражение 2

Наши рекомендации