- •Примитивные типы данных в языке программирования Си.
- •Массивы данных в языке программирования Си.
- •Структуры данных в языке программирования Си.
- •Операции и выражения в языке программирования Си.
- •Условный оператор и операция в языке программирования Си.
- •If (выражение) оператор-1; [else оператор-2;]
- •Оператор-переключатель в языке программирования Си.
- •Организация циклов в языке программирования Си.
- •Функции пользователя в языке программирования Си.
- •Работа с файлами в языке программирования Си.
Дисциплина «Системное программирование»
-
Примитивные типы данных в языке программирования Си.
К примитивным типам данных можно отнести типы, имеющие фиксированный размер: а) адрес (например указатель *int); б) скалярные (целые: char, int, short, long, signed, unsigned ; и вещественные float, double, long double)
Объявление переменной имеет следующий формат:
[спецафикатор_класа_памяти] спецификатор_типа
описатель [=инициатор] [,описатель [= инициатор] ]...
Описатель - идентификатор простой переменной либо более сложная конструкция с квадратными скобками, круглыми скобками или звездочкой (набором звездочек).
Спецификатор типа - одно или несколько ключевых слов, определяющие тип объявляемой переменной. В языке СИ имеется стандартный набор типов данных, используя который можно сконструировать новые (уникальные) типы данных.
Инициатор - задает начальное значение, которое присваивается переменной при объявлении.
Спецификатор класса памяти - определяется одним из четырех ключевых слов языка СИ: auto, extern, register, static, и указывает: каким образом будет распределяться память под объявляемую переменную, с одной стороны, а с другой, область видимости этой переменной, т.е., из каких частей программы можно к ней обратиться.
Переменная любого типа может быть объявлена как немодифицируемая. Это достигается добавлением ключевого слова const к спецификатору типа. Объекты с типом const представляют собой данные используемые только для чтения, т.е. этой переменной не может быть присвоено новое значение. Отметим, что если после слова const отсутствует спецификатор-типа, то подразумевается спецификатор типа int.
Примеры:
const double A=2.128E-2;
const B=286; (подразумевается const int B=286)
-
Массивы данных в языке программирования Си.
Массивы - это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.
Объявление массива имеет два формата:
А) спецификатор-типа описатель [константное - выражение];
Б) спецификатор-типа описатель [ ];
Описатель - это идентификатор массива.
Спецификатор-типа задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void.
Константное-выражение в квадратных скобках задает количество элементов массива. Константное-выражение при объявлении массива может быть опущено в следующих случаях:
- при объявлении массив инициализируется,
- массив объявлен как формальный параметр функции,
- массив объявлен как ссылка на массив, явно определенный в другом файле.
В языке СИ определены только одномерные массивы, но поскольку элементом массива может быть массив, можно определить и многомерные массивы. Они формализуются списком константных-выражений следующих за идентификатором массива, причем каждое константное-выражение заключается в свои квадратные скобки.
Каждое константное-выражение в квадратных скобках определяет число элементов по данному измерению массива, так что объявление двухмерного массива содержит два константных-выражения, трехмерного - три и т.д. В языке СИ первый элемент массива имеет индекс равный 0.
Примеры:
int a[2][3]; /* представлено в виде матрицы
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2] */
double b[10]; /* вектор из 10 элементов имеющих тип double */
int w[3][3] = { { 2, 3, 4 },
{ 3, 4, 8 },
{ 1, 0, 9 } };
Пример объявления символьного массива.
char str[] = "объявление символьного массива";