Процедурное программирование на языке С. Часть 3. Файлы и структуры: Методические указания к лабораторным работам по курсам «Алгоритмические языки и программирование» и «Процедурное программирование», страница 16

Кроме того, для аргумента и параметра недостаточно быть просто похожими (имеется в виду совпадение типов и имен всех элементов), должны совпадать имена структурных типов.


КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

1. Какие из операторов могут быть написаны синтаксически верно и в каких случаях?    Как должны быть объявлены (и инициализированы) соответствующие переменные ?

fgets(A[u],T,G);

fscanf(NN,"%d",*K); 

1. Как Вы понимаете следующий фрагмент программы?

struct person

       {char * s;

       } *p;

*p->s++= 'A';

    Какими операторами должен быть дополнен фрагмент для корректной работы?

2. При каких операторах объявления (инициализации) всех переменных и выделения памяти может быть корректным следующий фрагмент программы?

for (i=0; i<t; i++)

   for (j=0; j<k; j++)

       (pr + i)->wd++=word[j];

3. Как Вы понимаете следующий фрагмент программы?

struct slova

       {char * s1;

         char * s2;

         int  k; } *p;

for (m=0;m<t; )

{pp->s1[m]=pp->s2[m]; m++;}

Какими операторами должен быть дополнен фрагмент для корректной работы?

Перепишите цикл с помощью хотя бы одного набора эквивалентных операторов.

4. Как Вы понимаете следующий фрагмент программы?

struct sagadka

       {int * a1;

        char  k[5]; } *p;

  for (j=0;j<4;j++ )

     {printf("Vvod slova"); scanf ("%s", p->k);

      for (i=0;i<5;i++ )

        (p+j)->a1[i]=( p+j)->k[i];

      printf("\nResult for j = %d :%s:", j,

(p+j)->a1++;}

Какими операторами должен быть дополнен фрагмент для корректной работы?

Если имеются  ошибки, внесите исправления.

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

6. Написать  заголовок функции_1 без параметров, возвращающей адрес функции_2, которая  возвращает  начальный адрес массива строк и  имеет два формальных параметра: указатель на структуру и указатель на функцию_3, зависящую от массива переменных типа doubleи возвращающую значение типа float.


 БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Подбельский В.В.,. Фомин С.С. Программирование на языке Си: Учеб. пособие.  –  М.: Финансы и  статистика, 1998. – 600 с.

2. Герберт Шилдт.  Полный справочник по С, 4-ое издание. : Пер. с англ. – М.: Издательский дом "Вильямс", 2002. – 704 с.

ОГЛАВЛЕНИЕ

Лабораторная работа  7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

3

Задание . . . . . . . . . . . . . . . . . .  . .  . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . .

3

Теоретический материал . . . . . . . . . .  . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . .

16

7.1. Основы  файловой системы . . . . .  . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . .

16

7.2. Функции чтения/записи данных из/в  файлы. . . . . . . . . . . . . . . . . . . . . . . .

17

7.3. Средства позиционирования файлов . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . .

19

7.4. Структурный тип данных . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . .

22

7.5. Доступ к элементам структур. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . .

24

7.6. Передача структур функциям. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

Контрольные вопросы и задания  . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .

29