- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Операции отношения
В языке Си определены следующие операции отношения: проверка на равенство ==, проверка на неравенство !=, меньше <, меньше или равно <=, больше >, больше или равно >=.
Все перечисленные операции вырабатывают результат типа int. Если данное отношение между операндами истинно, то значение целого — единица, а если отношение ложно, то нуль.
Все операции типа больше-меньше имеют равный приоритет, причем он выше, чем приоритет операций == и !=. Приоритет операции присваивания ниже приоритета всех операций отношения. Для задания правильного порядка вычислений используются скобки.
Рассмотрим следующий пример:
if((ch = getchar()) > ‘a’) |
Функция getchar() (get character — получить символ) возвращает символ, введенный с клавиатуры. Присвоение этого символа переменной ch выполняется до того, как переменная ch будет сравниваться с символом ‘a’.
Благодаря гибкости языка Си оператор ветвления в рассмотренном случае будет выполнен и в том случае, если убрать пару скобок вокруг ch = getchar(). Компилятор будет интерпретировать получившийся оператор следующим образом: символ, получаемый от getchar(), сравнивается с ‘a’. Если он больше ‘a’, то переменной ch присваивается значение единица, в противном случае — нуль.
Такая гибкость может приводить к непроизвольным программным ошибкам. Поскольку компилятор Си может обрабатывать много вариантов оператора, программисту следует тщательно проверять сложные выражения в своей программе, задавая при этом вопрос: «Что должно означать это выражение на самом деле?»
Внимание! Обычной ошибкой для новичков, особенно для тех, кто переходит с программирования на Паскале к Си, является использование вместо операции сравнения на равенство == операции присваивания =. Компилятор Турбо Си выдает предупреждающее сообщение, на которое программисту нужно отреагировать. |
-
Логические операции
В языке Си имеются три логические операции:
&& операция И (and)
|| операция ИЛИ (or)
! отрицание НЕ (not)
Аргументами логических операций могут быть любые числа. Результат логической операции — единица, если истина, и нуль, если ложь. Вообще все значения чисел отличные от нуля интерпретируются как истинные.
Логические операции имеют низкий приоритет (выполняются в последнюю очередь), и поэтому в выражениях с такими операциями скобки используются редко.
Вычисление выражений, содержащих логические операции, производится слева направо и прекращаются (усекаются), как только удается определить результат. Если выражение составлено из логических утверждений, соединенных между собой операцией И &&, то вычисление прекращается, как только хотя бы в одном логическом утверждении вырабатывается значение нуль. Если выражение составлено из логических утверждений, соединенных между собой операцией ИЛИ ||, то вычисление прекращается, как только хотя бы в одном логическом утверждении вырабатывается ненулевое значение.
Вот несколько примеров типичных выражений, в которых используются логические операции:
if (i > 50 && j == 24) ... if (value1 < value2 && (value3 > 50 || value4 < 20)) ... |
Студенту на заметку! В блок-схеме оператору if соответствует блок проверки условия:
Выражение в блоке записывается без использования операций языка Си. Если выражение громоздко и не помещается в блоке проверки условия, то используется блок комментария:
|