- •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;
int col,i;
Int vect[line];
fptr = fopen ("b1b01.dat","rb");
if (fptr==NULL)
{
puts("Ошибка");
exit(1);
}
col=getw(fptr);
for (i=0; i<col; i++) vect[i] = getw(fptr);
fclose (fptr);
}
Каждый поток, связанный с файлом, имеет управляющую структуру, называемую FILE. Она описана в заголовочном файле stdio.h; *fptr — это указатель на структуру типа FILE. В операторе fptr = fopen(“ “,”rb”); функция fopen() выполняет два действия: 1) открывает поток и связывает файл на диске с этим потоком; 2) возвращает указатель, связанный с этим файлом и присваивает его переменной fptr. Как только файл открыт, то информация может передаваться между ним и программой. Прототип функции содержится в заголовочном файле <stdio.h> и имеет вид:
FILE *fopen(char *filename, char *mode);
Переменная mode — это строка, содержащая режим открываемого файла. Некоторые режимы открывания файла даны в табл.7.3.
Таблица 7.3—Режимы открывания файлов
-
Режим
Назначение
“r”
“w”
“a”
“rb”
“wb”
“r+”
“w+”
“rt”
“wt”
“at”
“r+t”
“w+t”
Открыть для чтения
Открыть для записи
Открыть для добавления в существующий файл
Открыть двоичный файл для чтения
Открыть двоичный файл для записи
Открыть для чтения и записи
Создать файл для чтения и записи
Открыть текстовый файл для чтения
Открыть текстовый файл для записи
Открыть текстовый файл для добавления
Открыть текстовый файл для чтения и записи
Создать текстовый файл для чтения и записи
Оператор if (fptr = = NULL)
{
printf(“Ошибка\n”);
exit(1);
}
определяет ошибку при открытии файла. Если файл не найден или возникает другая ошибка, то fptr = NULL. Тогда выводят сообщение об ошибке и осуществляют выход из программы с помощью оператора exit() с кодом ошибки, равным 1. Прототип функции exit() находится в заголовочном файле <stdlib.h> (табл. П7). При этом перед прекращением работы программы она закрывает все открытые файлы, освобождая буфер и выводя все необходимые сообщения на экран.
Оператор закрытия файла fclose() разрывает связь между потоком и файлом (прототип см. в табл. П.7).
Рассмотрим несколько примеров функций для работы с файлами.
// Пример 7.4.
// Прочитать строку из файла и вывести содержимое на экран
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
Void main(void)
{
FILE *fptr;
char ch=' ', string[80];
int i=0;
fptr = fopen("text1.txt","r");
if (fptr==NULL)
{
printf("Ошибка\n");
exit(1);
}
while (ch!=EOF)
{
ch=fgetc(fptr); // Чтение из файла осуществляется посимвольно
string[i]=ch;
if (ch=='\n') printf("Конец строки (код 10)\n");
i++;
}
fclose(fptr);
string[i]='\0'; // В конец строки добавляется нулевой байт
puts(string); // Вывод строки
}
// Пример 7.5.
// Открыть файл и записать в него строку
#include <stdlib.h>
#include <stdio.h>