
- •А. Нейбауэр.
- •Глава 1. Основы программирования 11
- •Глава 3. Переменные и константы 39
- •Глава 6. Операторы 103
- •Глава 13. Как собрать все вместе 253
- •Благодарности
- •Введение
- •Что вам даст эта книга
- •Программные средства
- •Глава 1. Основы программирования
- •Компьютерная программа
- •Языки программирования
- •Компиляторы
- •Интерпретатор
- •Скорость
- •Переносимость
- •Структурирование
- •Библиотеки функций
- •Необходимые пояснения
- •Что такое объектно-ориентированное программирование
- •Что Си может и чего не может
- •Этапы программирования
- •План программы
- •Текст программы
- •Компиляция программы
- •Компоновка программы
- •Тестирование программы
- •Изучение основ программирования
- •Что нужно, чтобы писать программы
- •Структура программы
- •Прописные и строчные символы
- •Инструкция return
- •Использование комментариев
- •Понятие параметров
- •Директива #include
- •Проектирование программы
- •Глава 3. Переменные и константы
- •Символьные данные
- •Целочисленные величины
- •Вещественные числа
- •Почему надо использовать целые числа?
- •Константы и переменные
- •Имена констант и переменных
- •Определение констант
- •Почему используют константы?
- •Определение переменных
- •Присваивание значения
- •Определение строковой переменной
- •Типы данных и функции
- •Литералы
- •Проектирование программы
- •Функция puts()
- •Функция putchar()
- •Двойственность символьных переменных
- •Управляющие коды
- •Код «новая строка»
- •Код «табуляция»
- •Код «возврат каретки»
- •Код «возврат на шаг»
- •Код «перевод страницы»
- •Отображение специальных символов на экране монитора
- •Многогранная функция printf()
- •Вывод чисел
- •Перевод строки
- •Преобразование типов данных
- •Форматированный вывод
- •Выбор правильных средств вывода информации
- •Проектирование программы
- •Функция gets()
- •Функция getchar()
- •«Для продолжения нажмите Enter»
- •Оператор получения адреса &
- •Функция scanf()
- •Входной поток
- •Использование функции scanf()
- •Выбор соответствующих средств ввода данных
- •Будьте осторожны при использовании scanf()
- •Неинициализированные переменные
- •Используемые алгоритмы ввода
- •Глава 6. Операторы
- •Арифметические операторы
- •Деление нацело
- •Типыданныхи операторы
- •Выражения
- •Приоритет операторов и порядок вычислений
- •Используемые алгоритмы обработки данных
- •Счетчики
- •Операторы инкремента
- •Аккумуляторы
- •Операторы присваивания
- •Присваивание начального значения
- •Проектирование программы
- •Остерегайтесь логических ошибок
- •Ищите образцы
- •Диагностические проблемы
- •Глава 7. Для чего нужны функции
- •Как использовать функции
- •Переменные в функциях
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Передача параметров
- •Возвращаемые значения
- •Возврат значений типа float
- •Использование return() в функции main()
- •Использование макроопределений
- •Проектирование программы
- •Автоматические или внешние переменные?
- •Неправильный ввод
- •Глава 8. Позвольте компьютеру принимать решения
- •Условия
- •Составные инструкции
- •Конструкция if...Else
- •Дополненный Опросник
- •Логические операторы
- •Вложенные инструкции if
- •Конструкция switch/case/default
- •Проверка чисел с плавающей точкой и строк
- •Проектирование программы
- •Проверка правильности ввода
- •Глава 9. Циклы
- •Использование цикла for
- •Создание паузы в программе
- •Составные инструкции
- •Использование переменных
- •Вложенные циклы
- •Использование цикла do...While
- •Вложенные циклы do
- •Использование цикла while
- •Комбинирование циклов разных типов
- •Проектирование программы
- •Использование флагов
- •Использование инструкции break
- •Глава 10. Массивы и строки
- •Массивы
- •Определение массива
- •Ввод значений в массив
- •Работа с массивами
- •Просмотр массива
- •Поиск в массиве
- •Передача массива функции
- •Использование массивов
- •Сравнение двух строк
- •Определение длины строки
- •Присваивание строк
- •Слияние строк
- •Массивы строк
- •Проектирование программы
- •Глава 11. Структуры и указатели
- •Использование структур
- •Определение структуры
- •Определение структурных переменных
- •Присвоение начального значения
- •Использование структуры
- •Массивы структур
- •Структуры и функции
- •Указатели
- •Указатели и функции
- •Глава 12. Вывод на диск и принтер
- •Что такое файловая структура
- •Указатель на файл
- •Как открыть файл
- •Как избежать ошибок выполнения
- •Как закрыть файл
- •Функции ввода и вывода
- •Работа с символами
- •Посимвольное чтение из файла
- •Работа со строками
- •Чтение строк
- •Форматированный ввод и вывод
- •Чтение форматированных файлов
- •Работа со структурами
- •Чтение структур
- •Чтение в массив
- •Дополнение файла новыми данными
- •Текстовый и двоичный форматы
- •Двоичный формат
- •Печать данных
- •Проектирование программы
- •Глава 13. Как собрать все вместе
- •Прикладная программа
- •Глобальные определения
- •Функция main()
- •Добавление записей: функция addcd()
- •Удаление записи: функция delcd()
- •Редактирование данных: функция chcd()
- •Изменение номера ячейки: функция chloc()
- •Вывод записи на экран: функция locate()
- •Печать записей: функция plist()
- •Сортировка записей: функция sort()
- •Приложение I Ответы и решения Глава 1. Основы программирования.
- •Глава 3. Переменные и константы.
- •Глава 6. Операторы.
- •Глава 7. Для чего нужны функции.
- •Глава 8. Позвольте компьютеру принимать решения.
- •Глава 9. Циклы.
- •Глава 10. Массивы и строки.
- •Глава 11. Струтуры и указатели.
- •Глава 12. Вывод на диск и принтер.
- •Приложение II Прикладная программа
Моя первая программа на C/C++
А. Нейбауэр.
http://www.piter.com/lib/978588782056/c_v.phtml
Как пользоваться данной книгой 7
БЛАГОДАРНОСТИ 8
ВВЕДЕНИЕ 9
Что вам даст эта книга 9
Программные средства 10
Глава 1. Основы программирования 11
Компьютерная программа 11
Языки программирования 14
Компиляторы 17
Интерпретатор 18
Почему Си/Си++? 19
Скорость 20
Переносимость 20
Структурирование 20
Библиотеки функций 20
Необходимые пояснения 22
Что такое объектно-ориентированное программирование 23
Что Си может и чего не может 24
Этапы программирования 24
План программы 24
Текст программы 25
Компиляция программы 25
Компоновка программы 26
Тестирование программы 26
Изучение основ программирования 26
Что нужно, чтобы писать программы 27
Си/Си++ и ваше будущее 27
Вопросы 28
Упражнения 28
ГЛАВА 2. ВВЕДЕНИЕ В СИ/СИ++ 29
Структура программы 29
Прописные и строчные символы 32
Инструкция return 32
Использование комментариев 33
Комментарии в Си++ 34
Понятие параметров 34
Директива #include 36
Проектирование программы 36
Вопросы 38
Упражнения 38
Глава 3. Переменные и константы 39
Символьные данные 39
Строки 40
Целочисленные величины 41
Вещественные числа 42
Почему надо использовать целые числа? 42
Константы и переменные 43
Имена констант и переменных 43
Определение констант 45
Константы в Си++ 47
Почему используют константы? 48
Определение переменных 50
Присваивание значения 51
Определение строковой переменной 51
Типы данных и функции 54
Литералы 55
Проектирование программы 55
Вопросы 56
Упражнения 56
ГЛАВА 4. ВЫВОД В СИ/СИ++ 58
Функция puts() 58
Функция putchar() 59
Двойственность символьных переменных 60
Управляющие коды 61
Код «новая строка» 61
Код «табуляция» 62
Код «возврат каретки» 63
Код «возврат на шаг» 63
Код «перевод страницы» 63
Отображение специальных символов на экране монитора 64
Многогранная функция printf() 67
Вывод чисел 67
Перевод строки 72
Преобразование типов данных 73
Форматированный вывод 74
Выбор правильных средств вывода информации 77
Вывод в Си++ 78
Проектирование программы 81
Вопросы 82
Упражнения 83
ГЛАВА 5. ВВОД В СИ/СИ++ 84
Функция gets() 85
Функция getchar() 87
«Для продолжения нажмите Enter» 89
Оператор получения адреса & 89
Функция scanf() 91
Входной поток 92
Использование функции scanf() 95
Выбор соответствующих средств ввода данных 96
Будьте осторожны при использовании scanf() 97
Ввод в Си++ 98
Неинициализированные переменные 99
Используемые алгоритмы ввода 100
Вопросы 102
Упражнения 102
Глава 6. Операторы 103
Арифметические операторы 104
Деление нацело 105
Типы данных и операторы 107
Выражения 109
Приоритет операторов и порядок вычислений 110
Используемые алгоритмы обработки данных 114
Счетчики 114
Операторы инкремента 116
Аккумуляторы 118
Операторы присваивания 120
Присваивание начального значения 120
Проектирование программы 121
Остерегайтесь логических ошибок 121
Ищите образцы 122
Диагностические проблемы 122
Вопросы 123
Упражнения 123
ГЛАВА 7. ДЛЯ ЧЕГО НУЖНЫ ФУНКЦИИ 125
Как использовать функции 126
Переменные в функциях 129
Автоматические (локальные) переменные 129
Внешние (глобальные) переменные 131
Статические переменные 132
Передача параметров 133
Возвращаемые значения 137
Возврат значений типа float 140
Использование return() в функции main() 141
Использование макроопределений 142
Проектирование программы 144
Автоматические или внешние переменные? 144
Неправильный ввод 144
Вопросы 145
Упражнения 145
ГЛАВА 8. ПОЗВОЛЬТЕ КОМПЬЮТЕРУ ПРИНИМАТЬ РЕШЕНИЯ 147
If — маленькое слово с большими возможностями 147
Условия 148
Составные инструкции 150
Конструкция if...else 150
Дополненный Опросник 151
Логические операторы 152
Вложенные инструкции if 156
Конструкция switch/case/default 158
Проверка чисел с плавающей точкой и строк 159
Проектирование программы 160
Проверка правильности ввода 161
Вопросы 162
Упражнения 163
ГЛАВА 9. ЦИКЛЫ 164
Использование цикла for 164
Создание паузы в программе 166
Составные инструкции 167
Использование переменных 167
Вложенные циклы 168
Использование цикла do...while 171
Вложенные циклы do 174
Использование цикла while 174
Комбинирование циклов разных типов 175
Проектирование программы 176
Использование флагов 178
Использование инструкции break 180
Вопросы 181
Упражнения 181
ГЛАВА 10. МАССИВЫ И СТРОКИ 183
Массивы 183
Определение массива 183
Ввод значений в массив 185
Работа с массивами 187
Просмотр массива 190
Поиск в массиве 191
Передача массива функции 192
Использование массивов 194
Строки 196
Сравнение двух строк 198
Определение длины строки 199
Присваивание строк 200
Слияние строк 201
Массивы строк 201
Проектирование программы 204
Вопросы 204
Упражнения 204
ГЛАВА 11. СТРУКТУРЫ И УКАЗАТЕЛИ 206
Использование структур 206
Определение структуры 207
Определение структурных переменных 209
Присвоение начального значения 211
Использование структуры 212
Массивы структур 213
Структуры и функции 215
Указатели 217
Указатели и функции 221
Вопросы 225
Упражнения 225
ГЛАВА 12. ВЫВОД НА ДИСК И ПРИНТЕР 227
Что такое файловая структура 227
Указатель на файл 229
Как открыть файл 229
Как Си/Си++ работает с файлами 231
Как избежать ошибок выполнения 233
Как закрыть файл 234
Функции ввода и вывода 234
Работа с символами 235
Посимвольное чтение из файла 236
Работа со строками 237
Чтение строк 239
Форматированный ввод и вывод 239
Чтение форматированных файлов 241
Работа со структурами 242
Чтение структур 244
Чтение в массив 245
Дополнение файла новыми данными 247
Текстовый и двоичный форматы 247
Двоичный формат 249
Печать данных 249
Проектирование программы 250
Вопросы 251
Упражнения 251