Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по С,С++.doc
Скачиваний:
27
Добавлен:
25.04.2019
Размер:
694.78 Кб
Скачать

ПРИДНЕСТРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

им. Т.Г.ШЕВЧЕНКО

Инженерно-технический факультет

Кафедра

«Программное обеспечение вычислительной техники»

И.А. Васюткина основы алгоритмизации и программирования.

ЯЗЫК С/С++. СТРУКТУРНЫЙ ПОДХОД

Краткий курс лекций

Тирасполь 2000

Содержание

1. ОБЗОР ЯЗЫКа ПРОГРАММИРОВАНИЯ С 5

2. ЭТАПЫ СОЗДАНИЯ ПРОГРАММЫ 5

3. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ СИ 6

3.1. Внутренняя структура программы 6

3.2. Пример программы на СИ 7

4. БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА СИ 7

5. ДАННЫЕ В ПРОГРАММЕ НА СИ 8

5.1. Константы 8

5.2. Базовые стандартные типы переменных 9

6. ОПЕРАЦИИ ЯЗЫКА СИ 11

6.1. Арифметические операции 11

6.2. Операции отношения 12

6.3. Логические операции 12

6.4. Операции с разрядами 13

6.5. Операции сдвига 13

6.6. Операция условия ?: 14

6.7. Преобразование типов 14

6.8. Операции приведения 14

6.9. Дополнительные операции присваивания 14

7. ОПЕРАТОРЫ ЯЗЫКА СИ 15

8. СТАНДАРТНЫЕ ФУНКЦИИ ВВОДА И ВЫВОДА 22

8.1. Функция вывода данных на экран printf () 22

8.2. Модификаторы спецификаций преобразования 22

8.3. Функция ввода данных с клавиатуры sсanf() 23

8.4. Функции ввода/вывода одного символа getchar(), putchar() 23

8.5. Функции небуфиризированного ввода с клавиатуры 24

8.6. Ввод/вывод в поток в С++ 24

8.7. Форматирование вывода 24

9. МАССИВЫ 26

9.1. Одномерные массивы 26

9.2. Многомерные массивы 28

10. ФУНКЦИИ 30

10.1. Cоздание и использование пользовательских функций 31

10.2. Параметры функции 31

10.3. Возвращение значения функцией 32

10.4. Inline-функции 33

10.5. Значение формальных параметров функции по умолчанию 33

10.6. Перегрузка функций 33

11. КЛАССЫ ПАМЯТИ И ОБЛАСТЬ ДЕЙСТВИЯ 34

11.1. Глобальные переменные 35

11.2. Локальные переменные 36

11.3. Доступ к функциям в многомодульной программе 37

12. ПРЕПРОЦЕССОР ЯЗЫКА СИ 38

12.1. Подстановка имен 39

12.2. Включение файлов 39

12.3. Условная компиляция 40

13. УКАЗАТЕЛИ 41

13.1. Операция косвенной адресации * 41

13.2. Описание указателей 41

13.3. Использование указателей для связи функций 41

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

13.5. Указатели на многомерные массивы 43

13.6. Операции над указателями 43

13.7. Передача массива в качестве параметра в функцию 44

13.8. Указатель на void * 45

14. СИМВОЛЬНЫЕ СТРОКИ И ФУНКЦИИ НАД СТРОКАМИ 45

14.1. Массивы символьных строк 46

14.2. Массивы указателей 47

14.3. Указатель как возвращаемое значение функции 47

Передача указателя как параметра функции 47

14.4. Функции, работающие со строками 47

14.5. Стандартные библиотечные функции 48

14.6. Преобразование символьных строк 49

15. ССЫЛКИ 50

16. Параметры КОМАНДНОЙ СТРОКИ 51

17. ПРОИЗВОДНЫЕ ТИПЫ ДАННЫХ 51

17.1. Структуры 51

17.2. Объединения 55

17.3. Синоним имени типа 56

17.4. Определение именнованных констант 56

17.5. Перечисления 57

17.6. Битовые поля 57

18. ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ ПАМЯТИ 58

18.1. Операция new и delete в С++ 60

18.2. Операция new с массивами 60

18.3. Инициализаторы с операцией new 61

18.4. Ошибки при использовании динамичской памяти 61

19. ФАЙЛ 63

19.1. Открытие файла fopen() 63

19.2. Закрытие файла fclose() 64

19.3. Функции ввода/вывода одного символа fgetc(), fputc() 64

19.4. Функции форматированного ввода/вывода в файл 64

19.5. Функции ввода/вывода строки символов в файл 65

19.6. Функции управления указателем в файле 65

19.7. Ввод/вывод записей фиксированной длины 66

20. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ 67

20.1. Однонаправленные связные списки 67

20.2. Бинарные деревья 71

21. РАЗМЕЩЕНИЕ ДАННЫХ В ПАМЯТИ 73

22. МОДЕЛИ ПАМЯТИ 74