Реферат: Алгоритмы и структуры данных. Программирование в Cи
Профессор отдельно выделяет операторы сравнения , используемые в языке:
· < - меньше
· <= - меньше равно
· > - больше
· >= - больше равно
· == - равно (тождественно)
· != - не равно
Специального логического типа данных Boolean в C не существует, а считается, что
- Неравно 0 – правда (значение 1)
- Равно 0 – ложь (значение 0)
Составные операторы используются для более компактной записи выражений в С. Автор показывает, что здесь возможны следующие записи:
Выражение1 op= Выражение2, которая эквивалентна записи –
Выражение1 = (Выражение1) op (Выражение2), где op – любой оператор.
Затем профессор выделяет два основных вида массивов :
- Одномерные поля. Определим поле с 5 элементами - int n [5]; Тогда эти 5 переменных величин располагаются в памяти последовательно:
n [0] | n [1] | n [2] | n [3] | n [4] |
Элементы массива начинаются всегда с индекса 0 и кончаются индексом [n-1].
При этом не происходит проверка на допустимую область памяти компилятором.
- Многомерные поля. Для многомерных массивов переменные величины задаются несколько другими типами индексов. Пример определения двумерного массива: float x [8] [30];Здесь первый элемент - x [0] [0], и соответственно последний x [7] [29].
Юрген Плате подходит к объяснению работы с символами и строками как с одномерными полями, которые имеют несколько особенностей. Строки могут инициализироваться также в классе памяти auto и должны быть замкнуты '\0 '. Например: char s[] = {'s','t','r','i','n','g','\0'};
Массивы char могут инициализироваться также константами String –
char s[] = "string";
В C не имеется никаких специальных элементов языка для манипуляции строками символов. Ряд функций существуют в C-стандартной библиотеке (копирование, сравнение, длина строк).
В отличие от массивов, которые работают с объектами одного типа, записи задают структуру для описания различных типов под общим именем. Преимущества этих структур состоит в объединении комплексных данных. Например, это персональные данные (Ф.И.О., адрес, социальный статус и т.д.) или студенческие данные (Ф.И.О, адрес, дисциплина, отметка и т.д.).
Записи в языке C описываются с помощью ключевого слова struct:
struct имя структуры {компонент(n)} переменная структуры (n);
Для доступа к элементу записи используются 2 собственных оператора.
При этом для прямого доступа необходима точка как разделитель переменной структуры и имени компонента, т.е переменная структуры . компонент
Структуры могут иметь также элементы, которые являются signed(со знаком) или unsigned(без знака) int, а некоторые имеют битовую длину. Поэтому обозначают эти элементы как поля бита. При определении структуры число битов таких переменных величин указывается определенно, согласно синтаксису:
typedef struct
{ unsigned b1 : 1;
unsigned b2 : 1;