- •Форматный ввод/вывод данных.
- •1.Форматный вывод
- •2.Форматный ввод .
- •Операции языка с.
- •Лабораторная работа №1 Данные. Типы данных. Приведение типов. Циклы Теоретическая часть Типы данных
- •Оператор sizeof
- •Преобразования типов.
- •Примеры программ
- •Задание на лабораторную работу № 1
- •Операторы организации условных и безусловных переходов.
- •If (проверка_условия) инструкция_1; else инструкция_2;
- •Примеры программ
- •Задание на лабораторную работу № 2
- •Массивы.
- •Строки символов.
- •Структуры.
- •Оператор typedef.
- •Битовые поля.
- •Смеси (объединения).
- •Перечисляемый тип данных.
- •Примеры программ
- •Задание на лабораторную работу № 3
- •Примеры программ
- •Классы памяти.
- •Указатели на функции.
- •Рекурсия.
- •Примеры программ
- •Задание на лабораторную работу № 5
- •Контрольные вопросы:
- •Рекомендуемая литература
Операции языка с.
Рассмотрим операции языка С. Выражения обычно содержат многие операции, выполняемые в строгой последовательности. Величина, определяющая преимущественное право на выполнение той или иной операции, называется приоритетом. В таблице 1 перечислены различные операции языка С. Их приоритеты для каждой группы одинаковы (группа расположена между двумя соседними горизонтальными линиями). Чем большим преимуществом пользуется соответствующая группа операций, тем выше она расположена в таблице. Порядок выполнения определяет последовательность применения операций (слева направо или справа налево), если они относятся к одной группе и отсутствуют круглые скобки.
Охарактеризуем основные операции языка С. Для задания каждой из них используются определенные знаки (см. табл. 1.2) или операторы. Сначала рассмотрим один из них - оператор присваивания (=). Выражение вида
х = y;
присваивает переменной х значение переменной у. Оператор “=” разрешается использовать многократно в одном выражении, например:
x = y = z = 100;
Здесь всем трем переменным (х, у, z) будет присвоено значение 100.
Различают унарные и бинарные операции. У первых из них один операнд, а у вторых - два. Начнем их рассмотрение с операций, отнесенных к одной из следующих традиционных групп:
1. Арифметические операции.
2. Логические операции и операции отношения.
3. Операции с битами.
Арифметические операции задаются следующими операторами (см. табл. 1.2): +, -, *, /, %. Последнюю из них нельзя применять к переменным вещественного типа. Примеры выражений с этими операторами:
a = b + c;
x = y - z;
r = t * v;
s = k / l;
p = q * w;
Логические операции отношения задаются следующими операторами (см. табл. 1): &, ||, !, >, >=, <||, = =, !=. Традиционно эти операции должны давать одно из двух значений: истину и ложь. В языке С принято следующее правило: истина - это любое ненулевое значение; ложь-это нулевое значение. Выражения, использующие логические операции и операции отношения, возвращают 0 для ложного значения и 1-для истинного. Ниже приводится таблица истинности - для логических операций:
х |
у |
x&y |
x&y |
!х |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
Таблица 1
Знак операции |
Назначение операции |
Порядок выполнения |
() |
Вызов функции |
Слева направо |
[] |
Выделение элемента массива |
|
. |
Выделение элемента записи |
|
-> |
Выделение элемента записи |
|
! |
Логическое отрицание |
Справа налево |
~ |
Поразрядное отрицание |
|
- |
Изменение знака |
|
++ |
Увеличение на единицу |
|
-- |
Уменьшение на единицу |
|
& |
Взятие адреса |
|
* |
Обращение по адресу |
|
(тип) |
Преобразование типа |
|
sizeof |
Определение размера в байтах |
|
* |
Умножение |
Слева направо |
/ |
Деление |
>> |
% |
Определение остатка от деления |
>> |
+ |
Сложение |
>> |
- |
Вычитание |
>> |
<< |
Сдвиг влево |
>> |
>> |
Сдвиг вправо |
>> |
< |
Меньше, чем |
>> |
<= |
Меньше или равно |
>> |
> |
Больше, чем |
>> |
>= |
Больше или равно |
>> |
== |
Равно |
>> |
!= |
Не равно |
>> |
& |
Поразрядное логическое “И” |
>> |
^ |
Поразрядное исключающее “ИЛИ” |
>> |
| |
Поразрядное логическое “ИЛИ” |
>> |
& |
Логическое “И” |
>> |
|| |
Логическое “ИЛИ” |
>> |
?: |
Условная (тернарная) операция |
>> |
= |
Присваивание |
>> |
zn= |
Здесь zn любая бинарная операция например а *=b; |
|
, |
Операция запятая |
>> |
