Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Практикум по программированию на языке Си

..pdf
Скачиваний:
24
Добавлен:
12.11.2023
Размер:
3.53 Mб
Скачать

ЛИТЕРАТУРА

1. Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. – М.: Финансы и статистика, 1992. – 272 с.

2.American National Standard for Programming Languages – C Language. ANSI/ISO 9899–1990. – NY: ANSI, 1992. – 219 pp.

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

4.Керниган Б., Пайк Р. Практика программирования: Пер. с англ. – СПб.: Невский диалект, 2001. – 381с.

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

6.Тондо К., Гимпел С. Язык Си. – Кн. ответов: Пер. с англ. – М.: Финансы и статистика, 1994. – 160 с.

7.Кэмпбел-Келли М. Введение в макросы: Пер. с англ. – М.: Сов. ра-

дио, 1978. – 152 с.

8.Браун П. Макропроцессоры и мобильность программного обеспечения: Пер. с англ. – М.: Мир , 1977. – 254 с.

9.Жешке Рекс. Толковый словарь стандарта языка Си: Пер. с англ. –

СПб.: Питер, 1994. – 222 с.

10. Джехани Н. Программирование на языке Си: Пер. с англ. – М.: Радио и связь, 1988. – 272 с.

11. Уинер Р. Язык Турбо Си: Пер. с англ. – М.: Мир, 1991. – 380 с.

12. Кнут Д. Искусство программирования для ЭВМ. – Т. 3. Сортировка и поиск: Пер. с англ. – М.: Мир, 1978. – 844 с.

13. Абрамов С.А., Зима Е.В. Начала информатики. – М.: Наука, 1989. – 256 с.

14. Керниган Б. и др. Язык программирования Си; Задачи по языку Си/ Б.Керниган, Д.Ритчи, А.Фьюэр: Пер. с англ. – М.: Финансы и стати-

стика, 1985. – 279 с.

571

15. Касаткин А.И. Профессиональное программирование на языке Си. Управление ресурсами.: Справ. пособие. – Минск: Высш. шк., 1992.

– 432 с.

16. Дал У. и др. Структурное программирование/ У.Дал, Э.Дейкстра, К.Хоор: Пер. с англ. – М.: Мир, 1975. – 248 с.

17. Страуструп Б. Язык программирования С++. – 3-е изд.: Пер. с англ. – СПб.– М.: Невский диалект – Издательство БИНОМ, 1999. – 991 с.

18. Флорес И. Структуры и управление данными: Пер. с англ. – М.: Финансы и статистика, 1982. – 319 с.

19. Трамбле Ж., Соренсон П. Введение в структуры данных: Пер. с англ.

– М.: Машиностроение, 1982. –784 с.

20.Хэзфилд Р., Кирби Л. Искусство программирования на С. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста. – Киев: ДиаСофт, 2001. – 736 с.

21. Харбисон С.П., Стил Г.Л. Язык программирования С: Пер. с англ. – М.: ООО Бином-Пресс, 2004. – 528 с.

СОДЕРЖАНИЕ

Предисловие .................................................................................................

3

Тема 1.

Базовые сведения о программе на Си....................................

9

Основные вопросы темы...............................................................................

9

1.1.

Исходный текст программ..........................................................

9

1.2. Стадии и этапы обработки Си-программ ................................

12

1.3. Компиляция и исполнение программы на Си.........................

15

1.4. Модификации исходного текста программы ..........................

17

1.5.

Прототипы функций..................................................................

19

1.6. Роль заголовочного файла stdio.h.............................................

22

1.7. Комментарии в тексте программы...........................................

24

1.8. Особенности вывода строк функцией puts() ...........................

25

Коротко о важном........................................................................................

28

Тема 2.

Константы и их типы..............................................................

30

Основные вопросы темы.............................................................................

30

2.1. Знакомство с функцией форматного вывода ...........................

31

2.2.

Вещественные константы ..........................................................

37

2.3.

Целые константы ........................................................................

41

2.4.

Перечислимые константы..........................................................

46

2.5.

Символьные константы..............................................................

48

2.6.

Символьные строки (строковые константы)............................

58

Коротко о важном........................................................................................

62

Тема 3.

Знакомство с препроцессором...............................................

65

Основные вопросы темы.............................................................................

65

3.1. Включение текстов из файлов...................................................

65

3.2.

Замены (подстановки) в тексте..................................................

70

3.3. Препроцессорное управление включением текста..................

78

3.4.

Несколько полезных макроопределений..................................

80

Коротко о важном........................................................................................

84

Тема 4. Переменные, операции, выражения ....................................

87

Основные вопросы темы.............................................................................

87

4.1.

Имена, вводимые программистом.............................................

87

 

 

573

4.2.

Определение и инициализация переменных............................

93

4.3.

Арифметические выражения .....................................................

96

4.4.

Отношения и логические операции ........................................

103

4.5.

Условная (тернарная) операция ..............................................

107

4.6.

Битовые представления целых и поразрядные операции .....

111

4.7.

Унарная операция & и функция scanf() ..................................

119

Коротко о важном......................................................................................

127

Тема 5.

Управление последовательностью вычислений .............

130

Основные вопросы темы...........................................................................

130

5.1.

Условный оператор ..................................................................

131

5.2.

Переключатели (switch) ...........................................................

140

5.3.

Операторы циклов ....................................................................

145

5.4.

Циклы при работе с символами...............................................

153

5.5.

Переназначение стандартных потоков ввода-вывода ...........

158

Коротко о важном......................................................................................

161

Тема 6.

Массивы ..................................................................................

163

Основные вопросы темы...........................................................................

163

6.1. Определение и простейшая обработка массивов...................

163

6.2.

Вложенные циклы и сортировка массивов ............................

176

6.3.

Решение задачи с массивом с помощью двух программ ......

185

6.4.

Массивы и матрицы .................................................................

197

Коротко о важном.....................................................................................

211

Тема 7.

Указатели и адреса объектов...............................................

214

Основные вопросы темы...........................................................................

214

7.1. Указатели, адреса, разыменование, адресация ......................

214

7.2.

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

224

7.3.

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

230

7.4.

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

238

7.5.

Указатели и динамическое распределение памяти................

247

7.6.

Моделирование многомерных динамических массивов.......

257

Коротко о важном......................................................................................

261

Тема 8.

Функции, определяемые программистом.........................

265

Основные вопросы темы...........................................................................

265

8.1. Определение, прототип и вызов функции..............................

266

8.2.

Адреса объектов и функции ....................................................

278

8.3.

Массивы и функции .................................................................

290

8.4.

Рекурсивные функции..............................................................

306

8.5

Функции с переменным количеством аргументов ................

316

Коротко о важном......................................................................................

329

574

Тема 9.

Строки .....................................................................................

333

Основные вопросы темы...........................................................................

333

9.1.

Представление строк в символьных массивах.......................

333

9.2.

Строки и функции ....................................................................

345

9.3.

Библиотечные функции для работы со строками..................

361

9.4.

Аргументы функции main() и работа со строками ................

377

9.5.

Массивы указателей на строки................................................

389

Коротко о важном......................................................................................

399

Тема 10.Условная компиляция и макрообработка ........................

403

Основные вопросы темы...........................................................................

403

10.1. Условная генерация текста ......................................................

403

10.2. Рекурсивное использование директивы #include...................

406

10.3. Препроцессорная "настройка" программ ...............................

413

10.4. Макросредства препроцессора................................................

418

10.5. Расширение языка Си...............................................................

431

Коротко о важном......................................................................................

439

Тема 11.Структуры, объединения, битовые поля ..........................

442

Основные вопросы темы...........................................................................

442

11.1. Структурные типы и структуры..............................................

443

11.2. Указатели на структуры...........................................................

460

11.3. Структуры и функции ..............................................................

472

11.4. Битовые поля структур и объединения...................................

482

11.5. Динамические информационные конструкции......................

488

Коротко о важном......................................................................................

506

Тема 12.Работа с файлами...................................................................

508

Основные вопросы темы...........................................................................

508

12.1. Основы работы с файлами.......................................................

509

12.2. Обработка файлов в потоковом режиме.................................

525

12.3. Прямой доступ к данным файла .............................................

538

12.4. "Крупный" проект с файлами..................................................

547

Коротко о важном......................................................................................

567

Приложение. Свободно распространяемый компилятор

 

 

DJGPP ...........................................................................

569

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

571

Учебное издание

Подбельский Вадим Валериевич

ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ Си

(+CD)

Заведующая редакцией Л.А.Табакова Ведущий редактор Л.Д.Григорьева Младший редактор Н.А.Федорова Художественный редактор Ю.И.Артюхов Технический редактор В.Ю.Фотиева

Корректор Г.В. Хлопцева

Компьютерная верстка В.Г. Воросколевская Оформление художника О.В.Толмачева

ИБ № 4186

Подписано в печать 28.06.2004 Формат 60х88/16. Печать офсетная. Гарнитура "Таймс"

Усл.п.л. 35,28 Уч.-изд.л.

Тираж 5000 экз. Заказ "С" 171

Издательство "Финансы и статистика" 101000, Москва, ул. Покровка, 7

Телефон (095) 925-35-02, факс (095) 925-09-57 E-mail: maill@finstat.ru http://www.finstat.ru

ГП Псковской области «Великолукская городская типография» Комитета по средствам массовой информации 182100, Великие Луки, ул. Полиграфистов, 78/12

Тел./факс: (811-53) 3-62-95 E-mail: VTL@MART.RU