Руководство по программированию на языке С
Руководство по программированию на языке СПоследнее обновление: 30.01.2023
Глава 1. Введение в C
Язык программирования C
Компилятор GCC. Первая программа на Windows
Компилятор Clang. Первая программа на Windows
GCC. Первая программа на Linux
Clang. Первая программа на MacOS
Настройка параметров компиляции
Глава 2. Основы языка Си
Структура программы на Си
Переменные
Типы данных
Консольный вывод. Функция printf
Константы
Арифметические операции
Условные операции
Поразрядные операции
Операции присваивания
Преобразование типов
Условные конструкции
Циклы
Введение в массивы и строки
Ввод в консоли. Функция scanf
Глава 3. Указатели
Что такое указатели
Операции с указателями
Арифметика указателей
Константы и указатели
Указатели, массивы и строки
Массивы указателей и многоуровневая адресация
Глава 4. Функции
Определение и описание функций
Параметры функции
Результат функции
Рекурсивные функции
Область видимости переменных
Внешние объекты
Указатели в параметрах функции
Указатели на функции
Указатели на функции как параметры и результаты функций
Функции с переменным количеством параметров
Параметры командной строки
Глава 5. Препроцессор
Директива #include. Включение файлов
Директива #define
Макросы
Условная компиляция
Глава 6. Структуры
Определение структур
Структуры как элементы структур
Указатели на структуры
Массивы структур
Структуры и функции
Объединения
Перечисления
Битовые поля
Глава 7. Динамическая память
Выделение и освобождение памяти
Выделение памяти для двухмерного массива произвольной длины
Управление динамической памятью
Указатель как результат функции
Глава 8. Ввод-вывод и работа с файлами
Открытие и закрытие потоков
Чтение и запись бинарных файлов
Чтение и запись структур в файл
Чтение и запись текстовых файлов
Форматируемый ввод-вывод
Позиционирование в потоке
Консольный ввод-вывод
Форматированный ввод из строки и функция sscanf
Глава 9. Стандартная библиотека С
Заголовочные файлы стандартной библиотеки С
-
Работа со строками
Работа с памятью
Работа с датами и временем
Математические функции
Преобразование строк в числа и чисел в строки
Обобщения и макрос _Generic
Поддержка Unicode и кодировки UTF-16 и UTF-32
Глава 10. Среды разработки для С
Первая программа в Visual Studio
Первая программа в Qt Creator
YooMoney:
410011174743222
Перевод на карту
Номер карты:
4048415020898850
Номер карты:
4890494751804113
как стартовать и куда двигаться? / Хабр
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Этап I. Основы
Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.
Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.
Этап II. Hardware
Шаг 1
Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.
Шаг 2
Гук «Аппаратные интерфейсы ПК»
Гук «Интерфейсы устройств хранения»
Этап III. Операционные системы
Шаг 1
Таненбаум «Архитектура компьютера»
Шаг 2
Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.
Немет, Снайдер, Хейн «Руководство администратора Linux»
Этап IV. Собственно программирование
Шаг 1
Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.
Шаг 2
Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск
Бентли «Жемчужины программирования»
Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.
Ну а для затравки можно прочесть небольшой цикл лекций «Культура программирования» (автор – А. Бабий). Он помогает начинающим программистам понять, что их деятельность не будет проходить в вакууме, а неизбежно включит взаимодействие с другими программистами, с заказчиками и пользователями (а также включит необходимость копаться потом в своих собственных или в чужих программах).
Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.
Буду крайне благодарна за ваши советы и уточнения.
Начало программирования на C Для чайников
Выбранный тип: Мягкая обложка
29,99 $
Продукт недоступен для покупки
Дэн Гукин
ISBN: 978-1-118-73763-7 Октябрь 2013 464 страницы
Печать
Всего от 29,99 долл. США
Мягкая обложка
$29,99
издания Предыдущий Далее
Загрузить рекламный проспект
Загрузить рекламный проспект
Загрузить флаер продукта для загрузки PDF в новой вкладке. Это фиктивное описание. Загрузить флаер продукта — загрузить PDF в новой вкладке. Это фиктивное описание. Загрузить флаер продукта — загрузить PDF в новой вкладке. Это фиктивное описание. Загрузить флаер продукта — загрузить PDF в новой вкладке. Это фиктивное описание.
Описание
Изучите основы программирования на C с помощью этого веселого и понятного руководства!
C предлагает надежную и прочную основу для программирования и служит ступенькой для расширения ваших знаний и изучения дополнительных языков программирования. Это простое, но интересное руководство для начинающих, написанное ветераном For Dummies Дэном Гукиным, охватывает основы использования C и постепенно знакомит вас с более сложными темами, включая указатели, связанные списки, файловый ввод-вывод и отладку. Уделяя особое внимание теме интегрированной среды разработки, она дает вам глубокое понимание компьютерного программирования в целом по мере того, как вы учитесь программировать на языке C.
- Побуждает вас постепенно углублять свои знания и понимание C, каждая глава строится на основе предыдущей
- Дает вам прочную основу для понимания языка C, чтобы вы могли браться за более крупные проекты по программированию, изучать новые популярные языки программирования и уверенно решать новые темы
- Включает более 100 примеров программ с кодом, который можно адаптировать к вашим собственным проектам
Начало программирования на C Для чайников предполагает отсутствие предыдущего опыта работы с языками программирования и поможет вам быстро освоить основы C.
Об авторе
Дэн Гукин написал оригинальную книгу For Dummies в 1991 году. Сейчас тиражом более 11 миллионов экземпляров его многочисленные книги переведены на 32 языка. Среди бестселлеров Дэна Android-планшеты для чайников, Ноутбуки для чайников , ПК для чайников , Вкладки Samsung Galaxy для чайников и Word 2013 для чайников . Посетите его на wambooli.com.
Разрешения
Запросить разрешение на повторное использование контента с этого сайта
Содержание
Введение 1
Часть I: Начало работы с программированием на C 7
Глава 1: Быстрый старт для нетерпеливых 9
Глава 2: Вещь программирования 21
Глава 3: Анатомия C 31
Часть II: Программирование на C 101 45
Глава 4: Пробы и ошибки 47
Глава 5: Значения и константы : Место для размещения вещей 71
Глава 7: Ввод и вывод 83
Глава 8: Принятие решений 97
Глава 9: Циклы, циклы, циклы 113
Глава 10: Развлечения с функциями 129
III Часть: 90 Опирайтесь на то, что знаете 143Глава 11. Неизбежная математика Глава 145
Глава 12. Дай мне массивы 163
Глава 13. Развлечение с текстом 181
Глава 16: Переменная чепуха 219
Глава 17: Binary Mania 231
Часть IV: Продвинутая часть 24
Глава 20. Связанные списки 287
Глава 21. Пришло время 307
Часть V: И все остальное 315
Глава 22. Функции постоянного хранения 317
Глава 22. Функции постоянного хранения 317
Глава 23 24: Beyond Mere Mortal Projects.0005
ПОСЛЕВОДОВ 385
Приложение A: Коды ASCII 387
Приложение B: Ключевые слова 393
Appendix C: Операторы 395
Приложение D: varible types 397
D.: varible 397 99 Escape-последовательности 399
Приложение F. Преобразование символов 401
Приложение G. Порядок старшинства 403
Указатель 405
Скачано
Программирование на C для чайников, Дэн Гукин, Мягкая обложка
Введение 1
Почему язык C? 1
Подход «Программирование на C для чайников» 2
Как работает эта книга 3
Иконки, используемые в этой книге 4
Мысли на прощание 5
Старт для нетерпеливых 9
Что нужно для программирования 9
Программирование в командной строке 10
Программирование в среде IDE 11
Установка Code::Blocks 12
Обзор рабочего пространства Code::Blocks 13
Ваша первая программа 14
5 Кодирование 90
Создание нового проекта Code::Blocks 16
Создание и запуск 18
Глава 2. Программирование Thing0005
Внедрение языка C 22
Процесс программирования 23
Понимание программирования 23
Написание исходного кода 24
Компиляция и связывание 26
. Запуск и тестирование 27
Глава 3: Анатомия C 29
.Части языка Си 29
Ключевые слова 30
Функции 31
Операторы 33
Переменные и значения 33
Операторы и структура 33
Комментарии 35
Взгляните на типичную программу на C 37
Понимание структуры программы на C 37
Настройка функции main() 38
Возврат чего-либо в операционную систему 39
Добавление функции 40
Часть 200 101 43Глава 4: Пробы и ошибки 45
Отображение материала на экране 45
Отображение юмористического сообщения0042 Функция 46
Добавление дополнительного текста 47
Комментируя оператор 49
Goofing Up для целей 49
Подробнее Text Output Bnessens function 52
Знакомство с новой строкой 53
Использование escape-последовательностей 54
Снова намеренная лажа 55
Глава 5: Значения и простая математика 57
Место места для различных значений 57
Понимание значений 58
Отображение значений с printf () 59
Познакомясь с дополнительными нулями 61
. -integer thing 63
Представление целых чисел в виде чисел с плавающей запятой 64
Глава 6. Место для хранения вещей 67
Варьирующиеся значения 67
Настройка быстрого примера 68
Знакомство с типами данных 69
Использование переменных 70
Переменная Безумие! 73
Использование более специфических типов данных 73
Работа с несколькими переменными 75
Присвоение значения при создании 77
Повторное использование переменных 77
Константы Всегда одни и те же 79
Использование одних и тех же значений постоянно 50 09 9 в вашем коде 80
Использование констант 81
Глава 7: Ввод и вывод 83
символ ввода/вывода символов 83
Понимание входных и выходных устройств 83
Символы избрания с GetChar () 84
Использование PutChar () Функция 86
Работа с переменными. Текстовый ввод/вывод, но в основном I 88
Сохранение строк 89
Знакомство с функцией scanf() 90
Чтение строки с помощью scanf() 91
Чтение значений с помощью scanf() 93
Использование fgets() для ввода текста 94
Глава 8: Принятие решений 97
Что если? 97
Производительное сравнение 97
, вводя , если Ключевое слово 99
Сравнение значений различными способами 100
Знание разницы между = и = 102
Забывание, где поставить полуколон 103
.
Принятие более сложных решений 104
Добавление третьего варианта 105
Многочисленные сравнения с логикой 106
Построение логического сравнения 106
Добавление некоторых логических операторов 107
Старый Переключатель. корпус переключателя структура 110
Без перерывов 111
Странно?: Принятие решения 112
Глава 9: Циклы, циклы, циклы 115
Небольшой дежа Vu 115
Ощущение для петли 116
Делая что -то x Количество раз 116
, вводя для Loop 117
Подсчет с для . 120
Вложение для циклов 121
Радость цикла , пока 123
Структурирование цикла , пока 123
1, пока 90 Loop 125Loopy Stuff 126
Цикл бесконечно 126
Бесконечно, но с целью 127
Разрыв из петли 128
Добавление нескольких для Условия петли 129
Взвет 10: Fun with Functions 133
Анатомия функции 133
Конструирование функции 133
Прототипирование (или нет) 136
Функции и переменные 139
Использование переменных в функциях 139
Отправка значения в функцию 140
Отправка нескольких значений в функцию 142
Создание функций, возвращающих значения 143 константы 147
Использование определенных констант 148
Часть 3: опирайтесь на то, что вы знаете 151
Глава 11. Неизбежная математика Глава 153
Математические операторы из Beyond Infinity 153
Увеличение и уменьшение 154
Префикс ++ и операторов 156
Обнаружение оставшейся (модуль) 158
Сэкономить время с операторами назначения 158
Math функция математика. 160
Изучение некоторых общих математических функций 161
Страдание с помощью тригонометрии 163
Это совершенно случайно 166
Извержение случайных чисел 166
Сделать числа более случайными 167
Святой порядок приоритета 170
Получив заказ. Избегание массивов 173
Понимание массивов 174
Инициализация массива 177
Игра с массивами символов (строками) 177
Работа с пустыми массивами char 179
Сортировочные массивы 181
Многомерные массивы 183
Сделать двумерный массив 183
, сходящие с ума с трехмерными массивами 186
, склонны к инициализированной многомерной массиве 188
и функции 189
. function 189
Возврат массива из функции 191
Глава 13. Развлечение с текстом 193
Функции обработки символов 193
Внедрение CTYPES 193
Символы тестирования 195
Изменение символов 197
Строковые функции в изобилии 198
Просмотр струнных функций 198
Сравнение текста 199
Строки здания 200
FUN с PRINTF () Formatting 20000 200009
FUN с PRINTF () FORMATTYTTION 202
FUN с PRINTF () .
Форматирование с плавающей запятой 202
Установка ширины вывода 204
Выравнивание вывода 206
Мягко вниз по потоку 207
Демонстрация потокового ввода 207
Работа с входом потока 208
Глава 14: Структуры, многовариантный 211
Привет, Структура 211
Внедрение многомерного 211
Понимание Структура 213
Заполнение 215
Массив структур 216Странные концепции структур 218
Размещение структур внутри структур 218
Передача структуры в функцию 219
ГЛАВА 15: Срок службы в командной строке 221
Слушайте окно терминала 221
Запуск окна терминала 222
Запуск кода в текстовом режиме 223
Аргументы для Main () Функция 225
Чтение командной строки 225
Понимание аргументов main() 227
Время выхода из программы 229
Выход из программы 229
Запуск другой программы 230
Глава 16: переменная бессмысленность 233
Управление переменным 233
Тип -восстановительный переменные 241
Создание переменной внешней структуры 243
Перечисление 245
Глава 17: Binary Mania 249
Основы двоичного кода 249
Понимание двоичного кода 249
Вывод двоичных значений 251
Работа с битами 253
Использование побитового | оператор 253
Использование побитового & 256
Работа исключительно с XOR 257
Понимание ~ и ! операторы 259
Сдвиг двоичных значений 259
Объяснение функции binbin() 263
The Joy of Hex 264
Часть 4: Продвинутая часть 267
ГЛАВА 18: Введение в указатели 269
Самая большая проблема с указателями 269
Размер переменного хранилища 270
Понимание переменного хранилища 270
Чтение. Размер переменной 271
.
Обзор информации о хранении переменных 278
Ужасно сложная тема указателей 279
Знакомство с указателем 279
Работа с указателями 282
ГЛАВА 19: Глубокая земля По указателе 285
Указатели и массивы 285
Получение адреса массива 285
Математика рабочего указателя в матче 287
Заместительные указатели для примечания 293
. Pointer-Things 294
Использование указателей для отображения строки 294
Использование указателя для объявления строки 295
Построение массива указателей 296
Сортировка строк 300
Указатели в функциях 302
Передача указателя в функцию 302
Возврат указателя из функции 303
Глава 20. Блоки памяти и связанные списки 305 Me
Give! 306Знакомство с функцией malloc().0005
Распределение места для структуры 314
Создание связанного списка 316
Редактирование связанного списка 323
Сохранение связанного списка 328
Глава 21: Это время 329
Что это время? 329
Понимание календаря 330
Работа со временем в C 330
Время для программирования 331
Проверка часов 331
Просмотр метки времени 333
Нарезка 3 4 строки времени 30005
Snoozing 336
Часть 5: и остальная часть 337
Глава 22: Постоянные функции хранения 339
Последовательный доход 339
341
Чтение текста из файла.