- •1 Порядок разработки программного продукта
- •2 Структура программы на языке с
- •Int age; // Поле age
- •Void main(void) // Основная функция
- •3 Типы данных языка с
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Void show_string(char *string)
- •Void main(void)
- •4 Операции языка с
- •Арифметические операции
- •Void main(void)
- •Void main(void)
- •Логические операции
- •Void main(void)
- •Операции отношения
- •Поразрядные операции
- •Побитовые операции
- •Void main(void)
- •Адресные операции
- •Операция “условие”
- •Void main(void)
- •Операция sizeof()
- •Void main(void)
- •Int size;
- •Void main(void)
- •Int *iptr;
- •Void main(void)
- •Int *list,I;
- •Операция вызова функции
- •5 Операторы языка с
- •Условный оператор if
- •Оператор switch
- •Void main(void)
- •Void main(void)
- •Оператор цикла for
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Цикл while
- •Void main(void)
- •Цикл do ... While
- •Void main(void)
- •Вложенные циклы
- •Void main(void)
- •Void main(void)
- •Int I,j,score;
- •Int scores[line][column];
- •Оператор безусловного перехода
- •Оператор break
- •Void main(void)
- •Оператор continue
- •Void main(void)
- •If (I % 5) continue;
- •Оператор return
- •6 Организация функций
- •Int sum_vect(int V[], int n)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7 Библиотечные функции
- •7.1 Функции форматного ввода-вывода
- •Int printf(char*format[, argument,...]);
- •Void main(void)
- •Void main(void)
- •Int scanf(char *format[,argument,...]);
- •Функции для работы с файлами
- •Void main(void)
- •Int vect[line];
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7.3 Графические средства языка с
- •Void main(void)
- •Initgraph(&gdriver, &gmode, ""); // Инициализация графического режима
- •Int maxX, maxY;
- •Void far initgraph(int far *driver, int far *mode, char far *path);
- •Void main(void)
- •Int driver, mode, errorcode;
- •Void far rectangle(int left, int top, int right, int bottom);
- •Void far setviewport(int left, int top, int right, int bottom, int flag);
- •Void far circle(int X, int y, int radius);
- •7.4 Функции для работы со строками
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •7.5 Математические функции
- •Продолжение таблицы а.7
- •Продолжение таблицы а.7
Void main(void)
{
FILE *fptr;
char *str="Запись строки в файл \n";
fptr = fopen("text2.txt","w");
if (fptr==NULL)
{
printf("Ошибка\n");
exit(1);
}
fprintf(fptr,str);
fclose(fptr);
}
// Пример 7.6.
// В программе открыть текстовый файл и
// прочитать строку 0 0.5 0.8e-10 34568 -14
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
Void main(void)
{
FILE *fptr;
clrscr();
fptr = fopen("text3.txt","r");
if (fptr==NULL)
{
printf("Ошибка при открывании файла");
exit(1);
}
int a,f;
float b,c;
long int d;
fscanf(fptr,"%d %f %g %ld %d",&a,&b,&c,&d,&f);
fclose(fptr);
printf("%3d %3.1f %g %5ld %3d\n",a,b,c,d,f);
getch();
}
// Пример 7.7.
// Записать в текстовый файл числа
// 0 10.5 1.8e-30 55555 -28
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
Void main(void)
{
FILE *fptr;
clrscr();
fptr = fopen("text4.txt","w");
if (fptr==NULL)
{
printf("Ошибка");
exit(1);
}
fprintf(fptr,"%d %3.1f %g %ld %d \n", 0, 10.5, 1.8e-30, 55555, -28);
fclose(fptr);
}
Прототипы функций fgetc(), puts(), fprintf(), fscanf() см. в табл. П.7.
7.3 Графические средства языка с
Возможны два режима работы монитора: символьный и графический. Управление экраном в графическом режиме производится с помощью набора функций, прототипы которых находятся в заголовочном файле GRAPHICS.H. Там же объявлены константы и макросы. Подключение осуществляется с помощью директивы препроцессора #include <graphics.h>.
Рассмотрим задачу: нарисовать на экране монитора две диагонали. Эта задача складывается из следующих подзадач: 1) инициализировать графический режим; 2) определить координаты углов; 3) провести линии из левого верхнего угла в правый нижний и из левого нижнего угла в правый верхний. Программа с подробными комментариями дана в примере 7.8.
// Пример 7.8.
// Нарисовать диагонали
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
Void main(void)
{
int gdriver = DETECT, gmode, errorcode;
Initgraph(&gdriver, &gmode, ""); // Инициализация графического режима
errorcode = graphresult();
if (errorcode != grOk) // Проверка результата инициализации
{
printf("ЋОшибка %s\n", grapherrormsg(errorcode));
printf("„Для останова нажмите любую клавишу \n:");
exit(1); // Для выхода из программы, прототип в <stdlib.h>
}
Int maxX, maxY;
maxX = getmaxx(); // Возвращает размер экрана по оси X
maxY = getmaxy(); // Возвращает размер экрана по оси Y
line(0,0,maxX,maxY); // Рисует первую диагональ
line(0,maxY, maxX,0); // Рисует вторую диагональ
getch(); // Ожидает ввода символа
closegraph(); // Закрывает графический режим
}
В начале программы описываются переменные gdriver, gmode и errorcode типа int, здесь же переменная gdriver инициализируется. Макрос DETECT соответствует автоматической установке режима наибольшего графического разрешения. Это позволяет переносить программы на другие компьютеры без изменения. Переменная gmode используется для установки видеорежима.
Функция initgraph(&gdriver, &gmode, “ “); служит для установки видеоадаптера (преобразователь двоичного кода в видеосигнал) в графический режим. Она считывает в память драйвер, соответствующий макросу DETECTЕ, устанавливает видеорежим по значению аргумента mode и определяет маршрут к директории, в которой находится драйвер egavga.bgi (лучше всего иметь этот драйвер в текущем каталоге). Ее прототип имеет вид: