- •Основные математические библиотечные функции.
- •Библиотечные функции генерации случайных чисел.
- •Объявление функций (прототипы функций). Описание функций. Вызов функций. Понятие формальных и фактических параметров функции.
- •Способы передачи параметров в функцию. Возвращение результатов.
- •Передача в функцию одномерных массивов.
- •Передача в функцию двумерных массивов.
- •Понятие рекурсивной функции. Пример рекурсивной функции.
- •Перегрузка функций.
- •Шаблоны функций.
- •Понятие структуры. Объявление и инициализация структур.
- •Файлы и их назначение. Логическое и физическое имя файла.
- •Открытие файлов.
- •Способы доступа к файлам.
- •Спецификаторы класса памяти.
- •Операция :: .
- •Функции препроцессора. Основные директивы препроцессора
- •Директива include. Ее назначение. Правила использования.
- •Директива #define. Ее назначение. Символьные константы и макросы. Правила использования директивы.
- •Директива #undef.
- •Условная компиляция файлов.
- •Управление выполнением директив.
- •Понятие динамической структуры. Виды динамических структур. Их отличие друг от друга.
- •Организация списка на основе массива.
- •Возможная структура элемента связного списка.
- •Однонаправленные и двунаправленные связные списки.
- •Добавление узлов в разные части связного списка.
- •Удаление узлов из разных частей связного списка.
- •Поиск элемента связного списка, содержащего указанную пользователем информацию.
-
Файлы и их назначение. Логическое и физическое имя файла.
-
Файлы предназначены для длительного хранения данных.
-
Файлы широко применяются для решения таких задач, где есть большое кол-во информации.
-
Каждому файлу присваивается уникальное имя, по которому к нему производится обращение.
-
Имя выбирается в соответствии с требованиями используемой ОС.
-
Логическое имя это указатель на требуемый файл, т .е на область памяти, где находится файл.
-
-
Открытие файлов.
-
Прежде чем получить возможность чтения файла он должен быть открыт
-
функция fopen
Ф-я физическому имени файла ставит в соответствии внутреннее имя,которым пользуются в программе
FILE *fopen(), *ff;
FILE-имя типа,описанное в стандартном определении заголовочного файла stdio.h
ff-указатель на файл(логическое имя)
fopen-функция, выдающая указатель на файл
Иногда в объявлении *fopen не пишут
Обращение к fopen производится:
ff=fopen("имя файла", "вид использования");
Вид использования: "w"-запись "r"-чтение, "a"-добавление в конец
-
Способы доступа к файлам.
-
Чтение и запись
-
Чтение: функции fgets, fscanf, getc
-
Запись: функции fputs, fprintf, putc
-
fgets(идентификатор строки, макс.длина строки+1, логическое имя файла);
fputs(идентификатор строки, логическое имя файла);
fscanf(логическое имя файла, “управляющая строка”, список аргументов);
fprintf(логическое имя файла, “управляющая строка”, список аргументов);
getc() выбирает из файла очередной символ, ей нужно только знать указатель на файл. getc(логическое имя файла);
putc() заносит значение некоторого символа в файл putc(символ, логическое имя файла);
-
Работа с файлами последовательного доступа (чтение, запись, добавление информации в файл).
-
Чтение и запись
-
#include <stdio.h>
int main()
{
FILE *f1,*f2;
int i;
f1=fopen("input.txt", "r");
f2=fopen("output.txt", "w");
fscanf(f1, "%d", &i);
fprintf(f2,"%d",i);
fclose(f1); fclose(f2);
return 0;
}
-
Добавление в конец
#include <stdio.h>
int main()
{
FILE *f1;
f1=fopen("input.txt", "a");
fprintf(f1, "HELLO ");
fclose(f1);
f1=fopen("input.txt", "a");
fprintf(f1, "WORLD!");
return 0;
}
-
Поиск информации в файле.
-
Пример поиска в файле(кусок кода)
-
while(true)
{
puts("ENTER FAMILY NAME or Enter FOR EXIT\n");
gets(name);
if(strlen(name)==0) break;
bool not_found=true;
for(int i=0; i<n_record; i++)
{
if(strstr(dbase[i].name, name))
{
if(dbase[i].name[strlen(name)]==' ')
{
printf("%20s5i%10.2f\n", dbase[i].name, dbase[i].birth_year, dbase[i].pay);
not_found=false;
}
}
n_sotr++;
sum_pay+=dbase[i].pay;
not_found=false;
}
}
-
Закрытие файлов.
-
Функция fclose
-
fclose(логическое имя файла);
-
После завершения работы с файлом его нужно закрыть.
-
-
Понятие области действия данных и времени их существования.
-
Областью действия или областью видимости переменной наз-ся та область программы
-
где на ее идентификатор можно ссылаться
-
Областью жизни наз-ся та область программы, при выполнении которой переменная
существует в памяти компьютера
-
Область жизни!=Область действия
-
Синтаксис определения переменной.
-
Атрибуты задают область действия и время жизни переменной
-
В целом синтаксис определения переменной можно представить:
[класс памяти] [const] тип имя [инициализатор]
-
Локальные и глобальные переменные.
-
Глобальные переменные – переменные с глобальным временем жизни.
-
Память для них выделяется в момент обьявления в программе и сохраняется до ее окончания.
Обьявления глобальных переменных размещаются вне описания какой либо функции.
-
Локальные переменные - переменные с локальным временем жизни
Такие переменные создаются в блоке, ограниченным фигурными скобками в момент их объявления и исчезают при выходе из блока.