Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка К Экзамену По Информатике Для Дневников (Попов Д. И.).docx
Скачиваний:
6
Добавлен:
07.10.2014
Размер:
43.54 Кб
Скачать

Тема 9. Файлы

Файл –способ хранения информации на физическом устройстве.

Различные устройства(диски, принтер и т д )преобразуются файловой системой в единое абстрактное логическое устройство, называемое потоком.

2 типа потоков:Текстовый(последовательность символов) и Двоичный(последовательность байтов).

Другие библиотечные функции, используемые для работы с файлами:

1)putc() записывает символ в файл int putc(int c, FILE *fp);

2)getc() читает символ из файла int getc(FILE *fp);

3)feof() определяет конец файла при чтении двоичных данных int feof(FILE *fp);

4)fputs() записывает строку символов в файл. fputs(“Example”, fp);

5)fgets() читает строку символов из файла. fgets(string, n, fp);

6)fprintf() выполняет те же действия, что и printf(), но работает с файлом.

fprintf(fp, “%x”, a);

7)fscanf() выполняет те же действия, что и scanf(), но работает с файлом. fscanf(fp, “%x”, &a);

8)fseek() позволяет выполнять чтение и запись с произвольным доступом

int fseek(FILE *fp, long count, int access);

9)ferror() позволяет проверить правильность выполнения последней операции при работе с файлами. int ferror(FILE *fp);

10)remove() удаляет файл. int remove(char *file_name);

11)rewind() устанавливает указатель текущей позиции. void rewind(FILE *fp);

12)fread() предназначена для чтения блоков данных из потока.

unsigned fread(void *ptr, unsigned size, unsigned n, FILE *fp);

13)fwrite() предназначена для записи в файл блоков данных.

unsigned fwrite(void *ptr, unsigned size, unsigned n, FILE *fp);

Прототипы функций системы низкоуровневого ввода/вывода( io.h подключить надо будет): open()-открыть файл, close()-закрыть,read()-читать,write()-записать,

Iseek()-поиск определенного байта в файле; unlink()-уничтожить файл‼

Тема 8. Функции

функция-это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. При вызове функции ей при помощи аргументов могут быть переданы некоторые значения. Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы, называемые телом функции, и определяющие действие функции. Объявление функции имеет такой же вид, что и определение функции, с той лишь разницей, что тело функции отсутствует, и имена формальных параметров могут быть опущены.

Прототип функции: int rus(unsigned char r);

Прототипы библиотечных функций находятся в специальных заголовочных файлах. Спецификатор типа функции задает тип возвращаемого значения и может задавать любой тип. Функция не может возвращать массив или функцию, но может возвращать указатель на любой тип, в том числе и на

массив и на функцию. Функция возвращает значение, если ее выполнение

заканчивается оператором return, содержащим некоторое выражение.

список формальных параметров-это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры-это переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров. Порядок и типы формальных операторов должны быть одинаковыми в определении функции и во всех ее объявлениях.

Для формального параметра можно задавать класс памяти register, при этом для величин типа int спецификатор типа можно опустить. идентификаторы формальных параметров используются в теле функции в качестве ссылок на переданные значения. При передачи параметров в функцию, если необходимо, выполняются обычные арифметические преобразования для каждого формального параметра и каждого фактического параметра независимо. Тело функции-это составной оператор, содержащий операторы, определяющие действие функции. Прототип - явное объявление функции, которое предшествует определению функции. его необходимо задавать, если:

1)функция возвращает значение типа, отличного от int

2)требуется проинициализировать некоторый указатель на функцию до того, как эта функция будет определена.

Вызов функции в С. <адресное выражение>([список выражений])

список выражений представляет собой список фактических параметров, передаваемых в функцию.

Выполнение вызова функции происходит следующим образом:

1)вычисляются выражения в списке выражений и подвергаются обычным арифметическим преобразованиям

2)происходит присваивание значений фактических параметров соответствующим формальным параметрам

3)управление передается на первый оператор функции

4)выполнение оператора return в теле функции возвращает управление и возможно, значение в вызывающую функцию. под рекурсивными определением подпрограммы или под рекурсией будем понимать такое описание подпрограммы, которое содержит внутри себя ссылку на определяемую подпрограмму. Важнейшим признаком любой рекурсии является условие выхода из рекурсии. Любая рекурсивная процедура имеет аналог без использования рекурсии, с помощью последовательных итераций. Графическое представление порождаемой алгоритмом цепочки рекурсивных вызовов называется деревом рекурсивных вызовов. Рекурсивный спуск-порождение все новых копий рекурсивной подпрограммы до выхода на граничное условие. Глубина рекурсии - максимальное количество копий рекурсивной подпрограммы, которое может одновременно находиться в памяти компьютера. Рекурсивный подъем-завершение работы рекурсивных подпрограмм, вплоть до самой первой

Недостаток рекурсии - повторные вычисления одних и тех же значений.

Соседние файлы в предмете Информатика