Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык Си. Лабораторные работы / Справочник. Часть 2 (СПбГУТ).doc
Скачиваний:
54
Добавлен:
10.09.2019
Размер:
802 Кб
Скачать
☆

1.37.18.5. Несовместимость фактического и формального параметров указателей функции……………………………33

1.37.8.6. Возврат из функции указателя на локальную

переменную…………………………………………………….33

1.37.8.7. Висячий указатель…………………………………...34

1.37.8.8. Утечка памяти………………………………………..34

1.37.9. Указатели на функцию…………………..………………..35

1.37.9.1. Выражение указатель на функцию………………....35

1.37.9.2. Определение переменной указателя на функцию….35

1.37.9.3. Инициализация переменной указателя

на функцию……………………………………………………..35

1.37.9.4. Операции с указателями на функцию………………36

1.38. Работа со строками………………………………………………..37

1.38.1. Строковый литерал……………………………………….37

1.38.2. Символическая строковая константа…………………….37

1.38.3. Строковая переменная…………………………………….38

1.38.4. Операции со строками…………………………………….38

1.38.5.Строковые функции стандарта С11………………………42

1.38.6. Ввод и вывод строк………………………………………..42

1.39. Работа со структурами……………………………………………44

1.39.1. Объявление структур……………………………………...45

1.39.2. Определение структуры в многомодульной программе..46

1.39.3. Инициализация структур………………………………….46

1.39.4. Обращение к полям структуры…………………………...46

1.39.5. Операции над структурами……………………………….47

1.39.6. Массивы структур…………………………………………49

1.39.6.1. Объявление массивов структур……………………..49

1.39.6.2. Идентификация элементов массива структур……...50

1.40. Работа с внешними устройствами………………………………..50

1.40.1. Понятие потока…………………………………………….50

1.40.2. Файлы………………………………………………………51

1.40.2.1. Указатель файла……………………………………...51

1.40.2.2 Функция fopen………………………………………...51

1.40.2.3. Функция fclose………………………………………..52

1.40.2.4. Функция feof……………………………………….....52

1.40.2.5. Стандартные потоки………………………………....52

1.40.2.6. Классификация функций потокового

ввода – вывода………………………………………………….53

1.40.2.7. Форматированный ввод – вывод…………………….53

1.40.2.9. Построковый ввод – вывод……………………….….53

1.40.3.Блоковый ввод – вывод…………………………………….55

2. ПРИМЕРЫ РЕШЁННЫХ ЗАДАЧ…………………………………..56

2.4. Итерационные циклы………………………………………………56

2.5. Вложенные циклы…………………………………………………..57

2.6. Работа с функциями………………………………………..............59

2.6.1. Преобразование программы в функцию пользователя…..59

2.6.2. Функция как обобщенное решение ряда частных задач….61

2.6.3. Параметры функции или глобальные переменные……….62

2.6.4. Указатели в качестве параметров функций……………….66

2.7. Обработка одномерных массивов………………………………….68

2.7.1. Массивы – входные и выходные параметры функции…...69

2.7.2. Ввод массивов……………………………………………….71

2.7.3. Вывод нескольких массивов в виде таблицы……………...72

2.7.4. Создание нового массива копированием положительных

элементов из исходного массива………………………………….73

2.7.5. Значения наибольшего и наименьшего элементов массива

2.8. Обработка двумерных массивов…………………………………...76

2.8.1. Интерфейс функций, работающих с двумерными

массивами…………………………………………………………..76

2.8.2. Создание и уничтожение двумерного динамического

массива……………………………………………………………...79

2.8.3. Примеры обработки двумерных массивов………………...80

2.9. Работа со строками………………………………………………….85

2.9.1. Пользовательские аналоги библиотечных функций……...85

2.9.2. Копирование чисел, находящихся в строке, в числовой

массив………………………………………………………………86

2.9.3. Подсчет количества лексем в строке………………………87

2.9.4. Массивы строк………………………………………………88

2.10. Указатели на функцию…………………………………………….90

2.10.1. Использование функции qsort…………………………….90

2.10.2. Табулирование произвольной функции одного

переменного. Новое решение задачи табулирования…………..91

2.11. Работа со структурами…………………………………………….92

2.11.1. Структуры, поля которых содержат указатели …………92

2.11.2. Работа с массивом структур………………………………94

2.12. Работа с файлами………………………………………….............97

2.12.1. Работа с текстовыми файлами…………………………....97

2.12.2. Работа с двоичными файлами…………………………...102

2.12.2.1. Вычисление суммы чисел, содержащихся

в двоичном файле……………………………………………..102

2.12.2.2. Чтение числа из заданной позиции двоичного

файла………………………………………………………….103

2.12.2.3.Замена всех отрицательных чисел двоичного

файла нулями………………………………………………….103

Литература………………………………………………………………...104

Введение

Настоящее пособие является второй частью “Практикума по программированию на языке Си”. Оно сохраняет структуру первой части. Пособие состоит из двух разделов, имеющих те же названия, что и в первой части:

• Основы программирования на языке Си.

• Примеры решенных задач.

Внутренняя нумерация разделов продолжает нумерацию разделов первой части пособия.