Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть 2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
367.1 Кб
Скачать

Функция

ftell (<поток>);

возвращает в качестве своего значения, имеющего тип long, текущее положение указателя файла.

  1. Пример

Ниже приведена программа, в которой демонстрируется использование некоторых функций работы с файлами. В этой программе сначала в файл записываются вводимые с клавиатуры данные: символ, целое число, строка символов. Затем записанные данные читаются из файла и выводятся на экран

/* Программа демонстрирует использование некоторых функций */

/* работы с файлами */

#include <stdio.h>

void main()

{

FILE *fp;

char str[50], ch;

int a;

/* заполняем файл */

fp=fopen("t1.txt", "w"); /* открыть файл t1.txt для записи */

puts("Введите символ");

scanf("%c",&ch);

putc(ch,fp); /* записать символ в файл */

puts("Введите целое число");

scanf("%d",&a);

fprintf(fp,"%d",a); /* записать целое число в файл */

puts("Введите строку");

scanf("%s",str);

fputs(str,fp); /* записать строку символов в файл */

fclose(fp); /* закрыть файл */

/* читаем из файла */

if ((fp=fopen("t1.txt", "r"))!=NULL) /* открыть файл t1.txt для чтения */

{

printf("\n Из файла прочитано:\n");

ch=getc(fp); /* прочитать символ из файла */

putchar(ch);

fscanf(fp,"%d",&a); /* прочитать целое число из файла */

printf("\n%d\n",a);

fgets(str,50,fp); /* прочитать строку символов из файла */

puts(str);

fclose(fp); /* закрыть файл */

}

else

printf("\n Файл не может быть открыт \n");

}

Контрольные вопросы

  1. Что такое файл?

  2. В чем различие между физическим и логическим именами файла?

  3. Каким образом в программе задается объявление файла?

  4. С помощью какой функции осуществляется открытие файла?

  5. Какие существуют режимы обработки файла?

  6. С помощью какой функции происходит закрытие файла?

  7. Как можно прочитать символ из файла или записать символ в файл?

  8. Каким образом осуществляется ввод и вывод строк файла?

  9. С помощью каких функций происходит ввод и вывод в файл значений целого типа?

  10. Как организуется прямой доступ к файлу?

Варианты заданий

Создать файл и выполнить операции, указанные в вариантах.

1.Задан файл, содержащий десять вещественных чисел. Определить количество элементов файла, значения которых больше значения первого элемента этого файла.

2.Файл содержит целые числа (положительные и отрицательные). Определить количество положительных и отрицательных чисел в файле.

3.Файл содержит целые числа. Если количество чисел в файле четное, то переменной r присвоить значение первого элемента файла, а если нечетное, то переменной r присвоить значение последнего элемента файла.

4.Дан файл, содержащий десять вещественных чисел (положительных и отрицательных). Определить среднее арифметическое значение положительных элементов файла.

5.Дан символьный файл, состоящий из 20 символов. Вывести на экран первые 10 символов этого файла.

6.Файл содержит десять вещественных чисел (положительных и отрицательных). Если первый элемент файла имеет отрицательное значение, то вычислить сумму отрицательных элементов файла, иначе – сумму положительных элементов файла.

7.Дан символьный файл. Определить, сколько раз встречается символ ‘e’ среди первых десяти символов этого файла.

8.Дан символьный файл, состоящий из 20 символов. Вывести на экран первые пять символов и последние пять символов этого файла.

9.Сформировать файл, содержащий последовательность из десяти чисел, в которой каждая i–я компонента определяется по формуле

10.Определить количество положительных и отрицательных значений в полученном файле.

11.Сформировать файл из десяти чисел, где каждое i–е число определяется по формуле Подсчитать сумму положительных и сумму отрицательных элементов файла.

12.Дан файл, содержащий пятнадцать целых чисел. Вычислить среднее арифметическое значение элементов файла.

13, 14.Дан файл, содержащий последовательность из десяти вещественных чисел. Определить в файле элемент, имеющий минимальное (задание 12) и максимальное (задание 13) значение.

15.Сформировать файл из пяти компонент, где каждая компонента имеет смысл фамилии студента из Вашей группы.

Добавить к полученному файлу фамилии еще трех студентов.

16.Сформировать файл, каждая компонента которого представляет собой название предмета, читаемого в Вашей группе в этом семестре.

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

17.Сформировать файл из значений случайных величин: 0.324, 0.524, 0.789, 0.556, 0.761, 0.248, 0.345, 0.911, 0.216. Определить в полученном файле количество и сумму компонент, значения которых больше 0.500.

18.Сформировать файл, компонентами которого являются действительные значения, вычисляемые по формуле где i – номер компоненты файла. Определить количество положительных, нулевых и отрицательных значений в полученном файле. При составлении программы считать i = 1, 2, …, 20.

19.Файл содержит последовательность целых чисел (положительных и отрицательных). Определить в файле максимальное по модулю значение.

21, 22.Записать в файл предложение «ПРОГРАММА НА ЯЗЫКЕ СИ». Определить в этом файле количество символов пробела (задание 19) и количество символов ‘A’ (задание 20).

23.Дан символьный файл. Вывести на экран все символы файла, которые входят в слово «СИ».

24.Дан символьный файл. Вывести на экран все символы этого файла, кроме символов пробела.

25.Дан символьный файл, состоящий из 20 символов. Определить, сколько раз встречается символ 'B’ среди первых пяти символов и последних пяти символов этого файла.

24.Сформировать файл, элементами которого являются значения функции y = sin Xi + 2cos Xi в точках X = (0.1, 0.2, 0.33, 1.78, 2.05). Определить элемент файла, имеющий минимальное значение.

25.Дан символьный файл, состоящий из 10 символов. Определить, имеется ли в этом файле последовательность символов «PROG».

С О Д Е Р Ж А Н И Е

Лабораторная работа № 8 ОБРАБОТКА ТЕКСТА С ИСПОЛЬЗОВАНИЕМ ФУНКЦИЙ ВВОДА ВЫВОДА ОДНОГО СИМВОЛА. ПОБИТОВЫЕ ОПЕРАЦИИ. ПЕРЕКЛЮЧЕНИЕ ВВОДА–ВЫВОДА …………………….1

Лабораторная работа № 9 КЛАССЫ ПАМЯТИ. МАССИВЫ. ОПЕРАЦИЯ ИНДЕКСАЦИИ ………………………………………………………………….8

Лабораторная работа № 10 МАССИВЫ. СВЯЗЬ МАССИВОВ И УКАЗАТЕЛЕЙ …………………………………………………………………………...14

Лабораторная работа № 11 СИМВОЛЬНЫЕ СТРОКИ …………………… 20

Лабораторная работа № 12 ФУНКЦИИ. ОСНОВНЫЕ ПРАВИЛА ИСПОЛЬЗОВАНИЯ ФУНКЦИЙ ………………………………………………………..24

Лабораторная работа № 13 ФУНКЦИИ. ИСПОЛЬЗОВАНИЕ МАССИВОВ И ФУНКЦИЙ В КАЧЕСТВЕ ФОРМАЛЬНЫХ ПАРАМЕТРОВ ………….31

Лабораторная работа № 14 СТРУКТУРЫ ………………………………….. 37

Лабораторная работа № 15 ФАЙЛЫ ………………………………………… 47

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]