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

}

13. Что будет на экране после выполнения программы (если она верна синтаксически):

#include <stdio.h>

int fun (char * ff,  int vv, int *i)

  {int k = 10; char ss[ ]="gggg";

   if (*i<=10)     {vv=55; k++; return k;}  

*ff = ss[0]; 

return k;

  }

void main (void)

{ int ptr = 23; char  arr[ ] = "hhhhh"; int j=10;

 j=fun(arr,ptr,&j);  printf("%d %d %s",j,ptr,arr);

 j=fun(arr,ptr,&j); printf("%d %d %c",j,ptr,arr[0]);

}

Рекомендация. Проверьте на компьютере результаты упражнений.


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

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

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

ОГЛАВЛЕНИЕ

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

3

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

3

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

4

1.1.  Понятие «адрес переменной». . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.2.  Структура программы на языке С . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.  Средство вывода на экран букв русского алфавита . . .  . .. . . . . . . . . . . . .

6

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

7

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

8

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

8

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

12

2.1. Назначение функций. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

12

2.2. Правила работы с функциями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

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

17

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

18

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

18

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

19

3.1. Понятие «указатель». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2. Операции с указателями. Адресная арифметика . . . .  . . . . . . . . . . . . . . . .

20

3.3. Способы доступа к элементам массива . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

21

3.4. «Настройка» указателя на массив . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .

22

3.5. Функции для работы с динамической памятью  . . . . . . . . . . . . . . . . . . . . .

23

3.6. «Передача» нескольких значений из одной функции в другую. . . . . . . . .

26

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

29