- •Программирование
- •На языке высокого уровня
- •Часть 1. Основы языка Си
- •Методические указания
- •К выполнению лабораторных работ
- •Составитель: л.А. Прокушев
- •Подписано к печати Формат 60х84 1/16. Бумага тип. №3
- •Редакционно-издательский отдел
- •190000, Санкт-Петербург, ул. Б. Морская, 67 Общие методические указания
- •Алгоритмизация вычислительных процессов
- •Средства программирования вычислительных процессов Базовые элементы языка Си
- •Данные и их типы
- •Константы
- •Переменные
- •Ввод-вывод данных
- •Форматированный ввод
- •Форматированный вывод
- •Консольный ввод-вывод
- •Функция ввода символа (без отображения)
- •Функция очистки экрана результатов
- •Структура Си-программы
- •Директивы препроцессора
- •Выражения и операции
- •Логические выражения и операции
- •Работа с ветвящимися процессами Операторы
- •Оператор присваивания
- •Условный оператор (if)
- •Операторы передачи управления Пустой оператор
- •Оператор break (прервать) используется для прерывания работы текущего сложного оператора, в теле которого находится оператор break, и передачи управления на следующий по порядку оператор.
- •Оператор выбора (switch)
- •Действие оператора выбора состоит в следующем:
- •Введите 2 числа х, y : 3 8
- •Работа с циклическими вычислительными процессами
- •Циклы с фиксированным числом повторений Оператор цикла с предусловием (while)
- •Прерывание цикла
- •Циклы с неизвестным числом повторений Вычисление рекуррентных последовательностей
- •Оператор цикла с постусловием (do)
- •Вложенные циклы и организация диалога в программе
- •Оператор цикла с параметром (for)
- •Программа:
- •Программа:
- •Программа:
- •Работа с массивами
- •Описание массива
- •Доступ к элементам массива
- •Указатель
- •Занесение данных в массив
- •Многомерные массивы
- •Работа с функциями
- •Определение функции
- •Вызов функции
- •Передача параметров функции
- •Передача данных по значению
- •Передача данных по адресу
- •Пример. Составить функцию обмена значениями между переменными X и y. Верным решением является применение передачи данных по адресу.
- •Прототип (шаблон) функции
- •Блочная структура программы
- •Внешние описания переменных
- •Многомодульные программы Проект программы
- •Внешние ссылки
- •Создание проекта программы
- •Работа с указателями Объявления объектов со сложными описателями
- •Массивы указателей
- •Указатель на указатель
- •Указатель на функцию
- •Использование указателя на функцию как аргумента
- •Массивы указателей на функции
- •Часть 1. Основы языка Си 1
Логические выражения и операции
В языке Си отсутствует логический тип данных. Выражения, обрабатывающие логические значения с помощью операций отношения и логических операций, сравнивают каждый операнд с нулем (0). Если операнд равен нулю (=0), то его значение ложно, а если операнд не равен нулю (!=0), то его значение истинно. Результат операций отношения или логических может быть 0 (ложь) или 1 (истина).
Отношение сравнивает два операнда, связанных операцией отношения. Операндами отношения являются арифметические выражения, например:
a>0; sin(x+1)<=0.5; p/r==0; z%y!=0; p*x-2.5>=r-2.
Логические операции имеют относительные приоритеты согласно таблице, начиная со старшего (1):
Приоритет |
Название операции |
Математичес-кие символы |
Операция в Си |
1 |
Отрицание (НЕ) |
|
! |
2 |
Отношения |
<, , |
<, <=, =, !=, >=, > |
3 |
Логическое умножение (И) |
|
&& |
4 |
Логическое сложение (ИЛИ) |
|
| | |
Логическое выражение образуется как комбинация отношений, логических операций и круглых скобок, например,
математическая запись: логическое выражение на Си:
x a x b x >= a && x < b
a x < b !a || x < b
x > a (x < b) x > a && ! (x < b)
Результаты применения логических операций можно представить в виде таблицы истинности, где значение операторов А и В показаны как 0 (ноль) и !0 (не ноль), а результаты операций как 0 (ложь) и 1 (истина):
А |
В |
!А |
А&&В |
А || В |
0 |
0 |
1 |
0 |
0 |
!0 |
0 |
0 |
0 |
1 |
0 |
!0 |
1 |
0 |
1 |
!0 |
!0 |
0 |
1 |
1 |
В Си операторы логических выражений вычисляются слева направо и, если значения первого операнда достаточно для определения результата операции, то второй операнд не вычисляется.
Пример. Пусть x = 4, a = 5, тогда при вычислении логического выражения
x >= a && x <= b
результат первого операнда = 0 (ложь) и результат операции && = 0, независимо от второго операнда.
Работа с ветвящимися процессами Операторы
Оператор – это предложение в тексте программы, заканчивающееся точкой с запятой (;), выполняющее некоторое действие в соответствии с алгоритмом задачи. К простым операторам относятся: оператор-выражение, операторы присваивания, вызова процедуры, операторы передачи управления, пустой оператор, составной оператор.
К сложным операторам относятся: условный оператор, оператор- переключатель, операторы цикла.