- •1.2. Правила записи программ на языке с
- •1.3 Правила формального описания синтаксиса языка программирования
- •1.5.3. Описание данных в языке с
- •1.5.4 Правила записи констант различных типов
- •1.5.5. Символьные строки
- •Глава 2. Понятие функции
- •2.1. Стандартная функция printf
- •2.2. Стандартная функция scanf
- •Перед каждым аргументом, не являющимся строкой (адресом) ставится знак & и трактуется как вычисление адреса.
- •2.3. Стандартные математические функции
- •2.4. Простейшие функции, определяемые программистом
- •3.5. Дополнительные арифметические операции
- •3.6. Дополнительные операции присваивания
- •3.7. Битовые операции
- •3.8. Операторы отношения
- •Глава 4. Структурное программирование и язык с
- •4.2. Операторы языка с
- •4.3. Оператор цикла while
- •4.4. Оператор цикла do – while (цикл с постусловием)
- •4.5. Условный оператор и условная операция
- •4.6. Оператор цикла for (цикл с известным числом повторений)
- •4.7. Запись алгоритмов при помощи диаграмм Несси-Шнейдермана
- •4.8. Оператор прерывания цикла
- •4.9. Оператор продолжения цикла (continue)
- •4.10. Множественный выбор
- •Глава 5. Типовые приемы в программировании
- •5.1. Использование счетчиков
- •5.2. Вычисление суммы и произведения.
- •5.3. Вычисление минимума и максимума последовательностей.
- •5.4. Использование флагов
- •Глава 6. Простейшая графика
- •6.1.Графические режимы
- •6.2. Идеология bgi и WinBgi
- •6.3.Основные графические функции
- •6.3.1. Управление графическими режимами
- •6.3.2. Графические примитивы
- •6.3.3. Установки и их проверка
- •6.3.4. Работа с текстом
- •Глава 7. Модульное программирование
- •7.2. Библиотеки функций
- •Глава 8. Массивы
- •8.1. Описание массива
- •8.2. Ввод – вывод массивов
- •8.3. Инициализация массива
- •8.6. Двумерные массивы
- •8.6.1. Инициализация двумерного массива
- •8.7. Многомерные массивы
- •Глава 9. Работа с файлами
- •9.1. Открытие и закрытие файлов
- •Глава 10. Структуры языка с
- •10.1. Описание структур
- •10.2. Трактовка имени структуры
- •10.2.1. Доступ к полям структуры
- •10.3. Инициализация структур
- •10.4. Структуры и функции
- •10.5. Поля бит в структурах
- •10.6. Объединение
- •Глава 11. Дополнительные сведения о функциях
- •11.1. Области видимости.
- •Глава 12. Анимация
- •Глава 13. Рекурсия
- •13.1. Понятие рекурсии
- •13.2. Вычисление факториала
- •13.3. Числа Фибоначчи
- •13.4. Замена итерационных алгоритмов рекурсивными
- •13.5. Применение рекурсии в графике
6.3.2. Графические примитивы
putpixel(int x,int y, int color);//точка
line(x1,y1,x2,y2)//отрезок
lineto(x2,y2)//рисует из текущей точки в указанную
linerel(dx,dy)//рисует из текущей точки со смещением
drowpoly(int npoints,int points[]);//рисует замкнутый многоуголь
arc
retangle //прямоугольник
bar(x1,y1,x2,y2) //доска
bar3d //доска в проекции
sircle //окружность
ellipse(x,y,int start_ygol, int kon_ygol,xradius,yradius)
pieslicel; //сектор окружности
sector(xR, yR);
6.3.3. Установки и их проверка
setcolor //установка текущего цвета
getcolor //узнавание текущего цвета
setbkcolor //цвет фона
setfillpattem //устанвоить шаблон заливки
setfillstyle(int putton,int color) //установить стиль заливки
setlinestyle(style,putton,sickness)//стиль линий
getmax(x);
getmax(y);//получении максимального x и y
getpixel(x,y) //цвет точки
moveto(x,y) //перемещает текущую точку в позицию
getx();
gety();
6.3.4. Работа с текстом
outtext(char * textstring)
outtext(x,y,str);
settextjustyfy(horiz,vert) //выравнивание по горизонтали и вертикали
settextstyle(int font, int direction, charsize);
installuserfont
Глава 7. Модульное программирование
7.1.
Среда DevCPP как и многие другие предлагает представить программу как набор связанных файлов различного типа:
Файл, описывающий непосредственно проект (*.def)
Заголовочный файл (*.h *.hpp) header
Файлы с исходным кодом (*.c *.cpp) source files
Скомпилированные библиотеки (*.obj *.lib *.dll)
Ресурсные файлы
Все это часто объединяют в отдельную папку.
7.2. Библиотеки функций
Часто программисту приходится создавать библиотеки функций и типов. Обычно они представляются в виде пар файлов: в заголовочном файле определяют новые типы, макроконстанты, перечисляют прототипы функций. Таким образом, заголовочный файл представляет собой интерфейс библиотеки.
В результате явного или косвенного неоднократного подключения одного и того же заголовочного файла может быть получена ошибка из-за дублирования определения типа. Чтобы избежать этого используются директивы условной компиляции.
//MyHeader.h
#ifndef_MY_HEADER_H
#define_MY_HEADER.H
#//типы и другие определения
...
#endif
Директива ifndef работает следующим образом: если указанная макроконстанта не объявлена, то участок между ifndef и endif попадает в результирующий файл и компилируется затем. В противном случае пропускается, что позволяет решить проблему повторного подключения заголовочного файла.
В файлах с исходным кодом размещаются:
Определения функций
Определения глобальных (по библиотеке) переменных
Таким образом, в заголовочных файлах располагаются объявления не приводящие к расходу памяти, в файлах с исходным кодом выделяется память для хранения переменных и функций. Рассмотренная библиотека – это в исходном, не в скомпилированном виде.
Глава 8. Массивы
Массив – это совокупность элементов данных одного и того же типа, объединенных общим именем и расположенных в непрерывной области памяти так, чтобы к каждому элементу массива можно получить доступ, зная его порядковый номер (индекс)