- •3. Абстрактная машина фон Неймана. Понятие об элементарном исполнителе.
- •12.Средства выполнения программ. Понятие операционной системы для прикладного программиста. Интерфейс прикладного программиста с операционно
- •13. Программа на языке высокого уровня. Язык программирования с. Программа на языке высокого уровня
- •2.1. Элементы языка с
- •2.2. Структура программы
- •2.3. Концепция данных. Стандартные типы данных
- •2.4. Представление основных структур программирования: итерация, ветвление, повторение; процедуры.
- •2.5 Типы данных, определяемые пользователем; структуры;файлы.
- •2.7.Объявления в языке Си. Базовые типы данных. Области значений. Описатели
- •2.9. Инициализация
- •2.10. Объявление типа (объявление тега, typedef, абстрактные имена типов).
- •2.11.Выражения в языке Си. Операнды
- •2.12.Операции
- •2.12.Операции
- •2.13. Преобразование типов
- •2.14.Операторы языка Си
- •2.15.Функции в языке Си. Понятие функции. Определение функции
- •2.16. Директивы препроцессора и указания компилятору языка с
2.3. Концепция данных. Стандартные типы данных
Элементарные данные – типы данных, вводимые в язык программирования для описания основных математических данных (численные типы целые и вещественные), типы данных для хранения символьной и логической информации, перечислимые типы. Над всеми элементарными данными определены операции ввода\вывода.
Целые числа. Положительные хранятся в прямом коде, а отрицательные – в дополнительном. Диапазон определяется количеством байт, используемых в среде программирования.
Вещественные числа. Для их хранения предусмотрены два формата: с фиксированной точкой и с плавающей точкой. В первом случае в программе определяется количество знаков Джо и после десятичной точки. Все операции производятся как с целыми числами после выравнивания положения точки в операндах друг относительно друга. При использовании формата с плавающей точкой числа хранятся в виде мантиссы и порядка. Мантисса числа хранится в нормализованном виде. Порядок числа хранится в смещенном виде и называется характеристикой. Нормализация осуществляется путем приведения к определенному диапазону, например, от 0.5 до 1. При этом первый бит всегда =1, => он не хранится, но учитывается и называется скрытым битом. Для получения характеристики из порядка, значение порядка увеличивают на половину диапазона представления чисел в к битах, где к – число бит, отведенных для хранения порядка. (Например, при 7-битном представлении порядка характеристика = порядок+64).
Символьные данные. Обычно представляются двумя типами данных: символы и строки. При этом строка может не быть отдельным типом, а быть явно реализованной в виде одномерного массива символов. Фактически, символ представляет собой целое число, равное коду символа в таблице кодирования. Код, обычно, - 1 или 2 байта. Строка фактически отличается от одномерного массива символов тем, что содержит информацию о своей длине в прямом виде, либо косвенно в виде признака конца строки.
Логические данные. Это типы данных, предназначенные для хранения результата логического или булевого выражения. Данные логического типа могут принимать два значения: ложь и истина. Помимо булевой бинарной логики может существовать тринарная (+ не определено). В Си для кодирования логических данных используют целые значения: ложь – 0, истина – не 0.
Указатели. Это типы данных, предназначенные для хранения адресов объектов и операций над ними. Выполнение операций над указателями отличается от арифметических тем, что все действия производятся в соответствии с количеством байт, отводимым для хранения объекта, адрес которого присутствует в указателе.
Агрегатные данные – типы данных, предназначенные для хранения однородной информации фиксированного размера. Для агрегатных данных определен прямой доступ к элементам, составляющим данные этого типа.
Массив – это линейная структура данных фиксированного размера, предназначенная для хранения однородной информации с использованием последовательного хранения. Каждый элемент массива идентифицируется одним или несколькими индексами.
Индекс – это целое число, значение которого определяет положение элемента массива и используется для доступа к элементам массива. Различают одномерные и многомерные массивы, которые реализуются на базе одномерных.