- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Функция main
Каждый исполняемый файл на языке Си (программа) должен содержать функцию main. Код, задающий тело функции main, заключается в фигурные скобки { и }. Общая структура функции main такова:
void main() { /* Код, реализующий main */ } |
Фактически функция main является местом, откуда начинается выполнения любой программы на языке Си.
Внимание! Настоятельно рекомендуется сдвигать текст, заключенный в фигурные скобки, на 4 (четыре) или более пробелов вправо от уровня фигурных скобок. Фигурные скобки обрамляют блок. Отступ внутри блока облегчает чтение и понимание программы. После описания функции main не следует ставить точку с запятой. |
-
Глобальные и локальные переменные
Как видно из типичной организации программы, одни переменные описываются вне функций (глобальные переменные), а другие — внутри функций (локальные переменные).
Глобальные переменные являются видимыми (т.е. доступными) во всем файле, в котором они описаны.
Локальные переменные являются видимыми только внутри той функции, в которой они описаны.
Листинг 6 — Пример использования глобальных и локальных переменных
/* vars.c – глобальные и локальные переменные */
#include <stdio.h> #include <conio.h>
float a; /* глобальная переменная */
void output();
void main() { int b = 10; /* локальная переменная для main */
clrscr();
a = 1.2345;
output();
printf(“\nЗначение \”a\” в функции main %.3f”, a); printf(“\nЗначение \”b\” в функции main %d”, b); }
void output() { int b = 100; /* локальная переменная для output */
printf(“\n\nЗначение \”a\” в функции output %.3f”, a); printf(“\nЗначение \”b\” в функции output %d”, b);
a = 5.4321; } |
Рисунок 21 — Результат выполнения программы vars.c
-
Операторы и операции
Основу языка Си составляют операторы. Оператором называют выражение, вслед за которым стоит точка с запятой. В Си точки с запятой используются для разделения операторов.
Принято группировать все операторы в следующие классы: присваивания, вызов функции, ветвление (условие) и цикл.
В операторе присваивания используется операция присваивания =, например:
c = a * b; |
Действие такого оператора можно описать следующими словами: «c присваивается значение a, умноженного на значение b». Значение, присваиваемое переменной c, равняется произведению текущих значений переменных a и b.
Операторы часто относятся более чем к одному из четырех классов. Например, оператор
if ((c = cube(a * b)) > d) ... |
составлен из представителей следующих классов: присваивание, вызов функции и ветвление. Гибкость языка Си, позволяющая смешивать в одном операторе операторы разных классов, делает язык весьма выразительным и дает возможность экономить выражения. Однако если злоупотреблять предоставленными возможностями, то может получиться правильный, но запутанный код.
Группа операторов, заключенная в фигурные скобки, является составным оператором. Составные операторы можно использовать везде, где допускается единичный (отдельный) оператор. Внутри составного оператора каждый единичный оператор должен завершаться символом «точка с запятой».
К понятию оператора вплотную примыкает понятие операции. Различают следующие группы операций: арифметические операции, операции отношения, логические операции, побитовые операции, операции присваивания, операция вычисления размера (sizeof) и операция следования (запятая). Приоритет и порядок выполнения операций приведены в таблице.
Таблица 4 — Приоритет и порядок выполнения операций
Категория |
Операции |
Описание |
Порядок выполнения |
1 |
2 |
3 |
4 |
Приоритетные |
() []
->
. |
Вызов функции Выделение элемента массива Выделения элемента структуры, адресуемой указателем Выделение элемента структуры |
Слева направо |
Унарные |
! ~ + - ++ -- & * sizeof
new
delete |
Логическое отрицание Побитовое отрицание Унарный плюс Унарный минус Инкремент на 1 Декремент на 1 Определение адреса Обращение по адресу Определение размера в байтах Динамическое выделение памяти Освобождение памяти |
Справа налево |
Арифметические |
* / % |
Умножение Деление Деление по модулю (остаток) |
Слева направо |
+ - |
Сложение Вычитание |
–– «» –– |
|
Сдвига |
<< >> |
Сдвиг влево Сдвиг вправо |
–– «» –– |
Сравнения |
< <= > >= |
Меньше, чем Меньше или равно Больше, чем Больше или равно |
–– «» –– |
== != |
Равно Не равно |
–– «» –– |
Таблица 4 — Продолжение
1 |
2 |
3 |
4 |
Битовые |
& |
Побитовое И |
–– «» –– |
^ |
Побитовое исключающее ИЛИ (XOR) |
–– «» –– |
|
| |
Побитовое ИЛИ |
–– «» –– |
|
Логические |
&& |
Логическое И |
–– «» –– |
|| |
Логическое ИЛИ |
–– «» –– |
|
Присваивания |
= *= /= %= += -= &= ^=
|=
<<= >>= |
Присваивание Присваивание произведения Присваивание частного Присваивание остатка Присваивание суммы Присваивание разности Присваивание побитового И Присваивание побитового исключающего ИЛИ Присваивание побитового ИЛИ Присваивание сдвига влево Присваивание сдвига вправо |
Справа налево |
Запятая |
, |
Последовательное вычисление |
Слева направо |