Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗФ_ОАиП / Лекции ГГУ Скорины - Программирование.doc
Скачиваний:
176
Добавлен:
21.03.2016
Размер:
2.27 Mб
Скачать

211

Министерство образования Республики Беларусь

Учреждение образования

«Гомельский государственный университет

имени Франциска Скорины»

Математический факультет

Кафедра математических проблем управления

Л.И. Короткевич

ПРОГРАММИРОВАНИЕ

Тексты лекций для студентов 1 курса (2 семестр) специальности 1-31 03 03-01 «Прикладная математика (научно-производственная деятельность)»

2011

СОДЕРЖАНИЕ

1. ЧТО ТАКОЕ ПРОГРАММА НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ 5

2. ОБЩЕЕ ЗНАКОМСТВО С ЯЗЫКОМ С 5

3. Структура простой программы на языке с 6

4. ЧТО ТАКОЕ ПРОГРАММА на языке с 10

5. Представление информации И ТИПЫ ДАННЫХ в языке С 12

6. КОНСТАНТЫ 19

7. переменные 21

8. элементарный вВод и вывод информации 22

9. выражения и операции 30

9.1. Арифметические операции 31

9.2. Операция изменения знака 32

9.3. Операции инкремента и декремента 32

9.4. Операция присваивания 33

9.5. Арифметические операции с присваиванием: +=, -=, *=, /=, %= 33

9.6. Поразрядные логические операции 33

9.7. Операции сдвига: >> и << 35

9.8. Логические операции и операции отношения 35

9.9. Условная операция «? :» 36

9.10. Операция последовательного вычисления 37

9.11. Операция определения требуемой памяти в байтах sizeof 37

9.12. Операция приведения типа (type) 37

10. операторы управления вычислительным процессом 38

10.1. Операторы ветвления if и else 39

10.2. Оператор switch 41

10.3. Оператор цикла while 42

10.4. Оператор цикла do…while 46

10.5. Оператор цикла for 47

10.6. Бесконечные циклы 49

10.7. Другие управляющие средства языка С 50

10.8. Стандартные математические функции 53

11. вычисление выражений и побочные эффекты 53

11.1. Преобразования типов при вычислении выражений 53

11.2. Побочные эффекты при вычислении выражений 55

12. массивы 58

12.1. Описание массива 58

12.2. Инициализация массива 59

12.3. Ввод-вывод массива 59

12.4. Двумерные массивы (массивы массивов) 61

13. указатели 63

14. адресная арифметика 74

15. массивы и указатели 77

15.1. Указатели и одномерные массивы 78

15.2. Указатели и двумерные массивы 81

16. строки 85

17. МАССИВЫ строк 95

18. функции 98

18.1. Определение функции в языке С 98

18.2. Возвращение значений из функции 99

18.3. Формальные и фактические параметры функции 101

18.4. Вызов функции 102

18.5. Объявление и определение функции: прототип функции 103

19. ПЕРЕДАЧА ПАРАМЕТРОВ В ФУНКЦИИ 105

19.1. Способы передачи параметров в функции 105

19.2. Передача параметров в функции в языке С 105

19.3. Передача указателей в функции 106

20. КЛАССЫ ХРАНЕНИЯ И видимость ПЕРЕМЕННЫХ 108

20.1. Общие положения 108

20.2. Спецификаторы класса памяти 109

20.3. Область видимости функций 109

20.4. Глобальные переменные 110

20.5. Глобальные статические переменные 112

20.6. Локальные переменные 112

20.7. Статические локальные переменные 115

20.8. Регистровые переменные 117

20.9. Выводы 117

21. ОРГАНИЗАЦИЯ ПАМЯТИ ПРОГРАММЫ 118

22. МНОГОФАЙЛОВАЯ КОМПИЛЯЦИЯ (ПРОЕКТЫ) 121

23. ПЕРЕДАЧА В ФУНКЦИИ МАССИВОв 123

23.1. Передача одномерных массивов в функции 123

23.2. Передача двумерных массивов в функции 127

23.3. Передача в функции символьных строк 129

23.4. Возвращение указателей из функций 130

24. ФУНКЦИИ С ПЕРЕМЕННЫМ КОЛИЧЕСТВОМ АРГУМЕНТОВ 131

24.1. Соглашения о вызовах: модификаторы функций 131

24.2. Объявление списка параметров переменной длины 134

25. ПЕРЕДАЧА ПАРАМЕТРОВ В ФУНКЦИЮ MAIN() 136

26. УКАЗАТЕЛИ НА ФУНКЦИЮ 139

27. стандартные ФУНКЦИи языка с 142

27.1. Функции для работы со строками 142

27.2. Функции для проверки символов и преобразования данных 148

27.3. Функция быстрой сортировки – gsort() 149

27.4. Функция двоичного поиска – bsearch() 152

28. работа с файлами 154

28.1. Основные понятия 154

28.2. Основные функции для работы с файлами 156

28.3. Открытие и закрытие файлов 156

28.4. Ввод/вывод символов 158

28.5. Ввод/вывод строк 159

28.6. Форматированный ввод/вывод 160

28.7. Ввод/вывод блоков данных 162

28.8. Другие средства для работы с файлами 164

28.9. Ввод/вывод низкого уровня (префиксный доступ к файлам) 167

29. типы, определяемые пользователем: Перечисления, структуры и объединения 168

29.1. Переименование типов – оператор typedef 168

29.2. Перечисления (enum) 169

29.3. Основные сведения о структурах 170

29.4. Структурные переменные в памяти компьютера 173

29.5. Доступ к полям структуры 174

29.6. Массивы структур 175

29.7. Структуры и функции 178

29.8. Объединения (union) 179

30. Динамическая память 181

30.1. Понятие динамического объекта 181

30.2 Создание и уничтожение динамических объектов 182

30.3 Динамическое размещение одномерных массивов и строк 185

30.4 Динамическое размещение двумерных массивов 187

30.5. Функции для работы с блоками памяти 189

31. ДИНАМИЧЕСКИЕ структуры данных 191

31.1. Понятие структуры данных 191

31.2. Структуры, ссылающиеся на себя 191

31.3. Связанные списки 192

31.4. Стеки 201

31.5. Очереди 203

32. препроцессор языка с 205

32.1 Директива включения файлов 205

32.2. Директива определения макрокоманд (макросов) 206

32.3 Директива условной компиляции 209

32.4 Дополнительные директивы препроцессора 211

«...НАУЧИТЬ НЕВОЗМОЖНО... можно только [помочь] НАУЧИТЬСЯ!»

«Программистом можно назвать только того,

кто умеет устранять ошибки, ведь написать

неработающую программу может каждый!»