- •Примитивные типы данных в языке программирования Си.
- •Массивы данных в языке программирования Си.
- •Структуры данных в языке программирования Си.
- •Операции и выражения в языке программирования Си.
- •Условный оператор и операция в языке программирования Си.
- •If (выражение) оператор-1; [else оператор-2;]
- •Оператор-переключатель в языке программирования Си.
- •Организация циклов в языке программирования Си.
- •Функции пользователя в языке программирования Си.
- •Работа с файлами в языке программирования Си.
-
Структуры данных в языке программирования Си.
Cтруктуры - это составной объект, в который входят элементы любых типов, за исключением функций. В отличие от массива, который является однородным объектом, структура может быть неоднородной.
Тип структуры определяется записью вида:
struct { список определений }
В структуре обязательно должен быть указан хотя бы один компонент. Определение структур имеет следующий вид:
тип-данных описатель;
где тип-данных указывает тип структуры для объектов, определяемых в описателях. В простейшей форме описатели представляют собой идентификаторы или массивы.
Пример:
struct { double x,y; } s1, s2, sm[9];
struct { int year;
char moth, day; } date1, date2;
Переменные s1, s2 определяются как структуры, каждая из которых состоит из двух компонент х и у. Переменная sm определяется как массив из девяти структур. Каждая из двух переменных date1, date2 состоит из трех компонентов year, moth, day. Существует и другой способ ассоциирования имени с типом структуры, он основан на использовании тега структуры. Тег структуры аналогичен тегу перечислимого типа. Тег структуры определяется следующим образом:
struct тег { список описаний; };
где тег является идентификатором.
В приведенном ниже примере идентификатор student описывается как тег структуры:
struct student { char name[25];
int id, age;
char prp; };
Тег структуры используется для последующего объявления структур данного вида в форме:
struct тег список-идентификаторов;
Пример:
struct studeut st1,st2;
Доступ к компонентам структуры осуществляется с помощью указания имени структуры и следующего через точку имени выделенного компонента, например:
st1.name="Иванов";
st2.id=st1.id;
st1_node.data=st1.age;
-
Операции и выражения в языке программирования Си.
Комбинация знаков операций и операндов, результатом которой является определенное значение, называется выражением.
Операнд - это константа, литерал, идентификатор, вызов функции, индексное выражение, выражение выбора элемента или более сложное выражение.
В языке СИ присваивание также является выражением, и значением такого выражения является величина, которая присваивается.
Операции. По количеству операндов, участвующих в операции, операции подразделяются на унарные, бинарные и тернарные.
В языке Си имеются следующие унарные операции:
- |
Арифметическое отрицание (отрицание и дополнение); |
~ |
Побитовое логическое отрицание (дополнение); |
! |
Логическое отрицание; |
* |
Разадресация (косвен.адрес.); |
& |
Вычисление адреса; |
+ |
Унарный плюс; |
++ |
Увеличение (инкремент); |
-- |
Уменьшение (декремент); |
sizeof |
размер. |
Унарные операции выполняются справа налево.
В отличие от унарных, бинарные операции, список которых приведен в табл., выполняются слева направо.
Знак |
Операция |
Группа операций |
* |
Умножение |
Мультипликативные |
/ |
Деление |
|
% |
Остаток от деления |
|
+ |
Сложение |
Аддитивные |
- |
Вычитание |
|
<< |
Сдвиг влево |
Операции сдвига |
>> |
Сдвиг вправо |
|
< |
Меньше |
Операции отношения |
<= |
Меньше или равно |
|
>= |
Больше или равно |
|
== |
Равно |
|
!= |
Не равно |
|
& |
Поразрядное И |
Поразрядные операции |
| |
Поразрядное ИЛИ |
|
^ |
Поразрядное исключающее ИЛИ |
|
&& |
Логическое И |
Логические операции |
|| |
Логическое ИЛИ |
|
, |
Последовательное вычисление |
Последовательного вычисления |
= |
Присваивание |
Опер. присваив-я. |
*= |
Умножение с присваиванием |
|
/= |
Деление с присв. |
|
%= |
Остаток от деления с присв. |
|
-= |
Вычитание с присв. |
|
+= |
Сложение с присв. |
|
<<= |
Сдвиг влево с присв. |
|
>>= |
Сдвиг вправо с присв. |
|
&= |
Поразрядное И с присв. |
|
|= |
Поразрядное ИЛИ с присв. |
|
^= |
Поразрядн. исключ. ИЛИ с присв. |
При записи выражений следует помнить, что символы (*), (&), (!), (+) могут обозначать унарную или бинарную операцию.