- •1. Цель работы
- •2. Базовые понятия языка
- •2.1. Алфавит языка Си
- •2.2. Константы
- •2.3. Идентификатор
- •2.4. Объявление переменных
- •2.5. Стандартные типы данных
- •2.6. Данные вещественных типов
- •2.7. Инициализация переменных
- •3. Операции языка си
- •3.1. Арифметические операции
- •3.2. Поразрядные операции
- •3.3. Операции отношения (сравнения)
- •3.4. Логические операции
- •3.5. Операции присваивания
- •3.6. Операция sizeof
- •3.7. Операция условие
- •3.8. Разделитель точка с запятой
- •3.9. Приоритеты операций и порядок вычислений
- •4. Операторы языка си
- •4.1. Составной оператор
- •4.2. Условный оператор
- •4.3. Оператор switch
- •4.4. Оператор break
- •4.5. Оператор for
- •4.6. Оператор while
- •4.7. Оператор do while
- •4.8. Оператор continue
- •4.9. Оператор goto
- •5. Указатели, массивы, строки
- •5.1. Указатели
- •5.2. Массивы
- •5.3. Строки
- •5.6. Двумерные массивы
- •5.7. Инициализация массивов
- •5.8. Связь указателей и массивов
- •6. Функции
- •6.1. Определение и вызов функций
- •6.2. Передача параметров функции main
- •7. Структуры и объединения
- •7.1. Структуры
- •7.2. Объединения (смеси)
- •7.3. Поля битов
- •8. Ввод-вывод
- •8.1. Консольный ввод-вывод
- •8.2. Потоковый файловый ввод-вывод
- •9. Вопросы для самостоятельного изучения
- •10. Порядок выполнения лабораторных работ и содержание отчета
- •11. Литература
3.3. Операции отношения (сравнения)
В языке Си используются следующие операции отношения:
> |
больше |
< |
меньше |
>= |
больше или равно |
<= |
меньше или равно |
== |
равно |
!= |
не равно |
Операнды операций отношения могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов. Результат целый: 0 (ложь) или 1 (истина).
3.4. Логические операции
К логическим операциям относятся:
&& операция логического "И",
|| операция логического "ИЛИ",
! операция логического "НЕ".
Операнды логических операций могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов.
Операнды логических выражений вычисляются слева направо. Если значения первого операнда достаточно, чтобы определить результат операции, то второй операнд не вычисляется.
В языке Си нет логического типа как в языке Паскаль. Вместо значений true и false в языке Си принято нулевое значение за истину, а не нулевое (чаще единица) – за ложь.
Результатом логической операции является 0 или 1, тип результата int.
Пример:
3<5 результат 1
3>5 результат 0
6!=1 || 2>5 результат 1
8>2 && 4>5 результат 0
3.5. Операции присваивания
Символом "=" обозначается простая операция присваивания. Кроме простой операции присваивания в языке Си существует ряд составных операций присваивания: *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^=.
Работу составных операторов присваивания поясним на примере операции *=. Следующие два действия с точки зрения результата эквивалентны.
n=n*5;
n*=5;
3.6. Операция sizeof
С помощью операции sizeof можно определить размер памяти которая соответствует идентификатору или типу. Операция sizeof имеет следующий формат
sizeof(выражение);
В качестве выражения может быть использован любой идентификатор, либо имя типа, заключенное в скобки.
Пример:
int a=5,b;
b=sizeof(a);
b=sizeof(a+1);
b=sizeof(int);
Во всех случаях переменной b будет присвоено значение 2.
3.7. Операция условие
В языке СИ имеется одна тернарная операция – операция условие (не путать с условным оператором), которая имеет следующий формат:
операнд-1 ? операнд-2 : операнд-3;
Операнд-1 должен быть целого или плавающего типа или быть указателем. Он оценивается с точки зрения его эквивалентности 0. Если операнд-1 не равен 0 (истина), то вычисляется операнд-2 и его значение является результатом операции. Если операнд-1 равен 0 (ложь), то вычисляется операнд-3 и его значение является результатом операции. Следует отметить, что вычисляется либо операнд-2, либо операнд-3, но не оба. Тип результата зависит от типов операнда-2 и операнда-3.
Пример:
max = (d<=b) ? b : d;
Переменной max присваивается максимальное значение переменных d и b.
3.8. Разделитель точка с запятой
Каждый оператор, каждое определение и каждое описание в программе на языке Си завершает точка с запятой ";". Любое допустимое выражение, за которым следует ";", воспринимается как оператор.
