9 бесплатных книг по языку Си для начинающих и не только

Язык Си — это очень мощный язык программирования, и к тому же один из самых популярных. Он очень гибок и не накладывает на программиста никаких ограничений, но именно это и может стать проблемой при изучении. Поэтому мы подобрали для вас несколько книг, которые помогут разобраться с основами языка, не отстрелив себе пару конечностей 😉

The C Book

Книга «The C Book» предназначена для тех, кто уже имеет опыт программирования на высокоуровневых языках. Она посвящена моментам, характерным именно для Си.

Вот оглавление:

  • Введение в Си.
  • Переменные и арифметика.
  • Логические выражения и условные операторы.
  • Функции.
  • Массивы и указатели.
  • Структуры данных.
  • Препроцессор.
  • Особенности Си.
  • Библиотеки.
  • Примеры программ.

C Elements of Style

«C Elements of Style» — это полезное руководство, описывающее основы хорошего стиля программирования. Оно научит вас писать код, который будет легко читать, понимать и поддерживать.

В книге вы найдёте советы по написанию комментариев, именованию переменных, форматированию, организации каталогов, созданию сборочных файлов и другим темам.

Build Your Own Lisp

Изучайте язык Си и одновременно пишите свой язык программирования — минималистскую версию Lisp — меньше чем за 1000 строк кода.

Эта книга предназначена для тех, кто хочет изучить Си и / или написать свой язык программирования. Однако вам явно потребуется какой-то опыт написания кода, поэтому в качестве первой книги мы её не рекомендуем.

The GNU C Reference Manual

«The GNU C Reference Manual» — это шпаргалка по языку Си стандартов C89 ANSI, C99 ISO и расширениям GNU. Она точно не нужна начинающим программистам.

Затронутые темы:

  • Лексические элементы.
  • Типы данных.
  • Выражения и операции.
  • Операторы.
  • Функции.
  • Структура программы и области видимости.
  • Пример программы.

The GNU C Programming Tutorial

Руководство «The GNU C Programming Tutorial» понятным образом объясняет читателю основы языка. Оно подробно описывает все основные элементы Си и рассказывает, как писать на нём программы, делая акцент на компиляторе GNU/Linux.

Рассматриваются такие темы, как функции, переменные и их объявление, области видимости, операторы, указатели, циклы, массивы, строки, а также многие другие.

Essential C

Эта книга — небольшая методичка, составленная в Стэнфорде. Она вкратце описывает все основы языка Си. Из-за сжатых объяснений рекомендуется, чтобы у читателя уже был опыт программирования.

Затрагиваются такие темы: переменные, операторы, циклы, функции, ссылки, указатели, структуры, препроцессор и стандартная библиотека.

Содержание:

  • Вступление.
  • Базовые типы и операторы.
  • Условные операторы.
  • Сложные типы данных.
  • Функции.
  • Препроцессор.
  • Массивы и указатели.
  • Стандартная библиотека.

Beej’s Guide to C Programming

Книга «Beej’s Guide to C Programming» пытается вывести читателя из состояния полного непонимания Си и дать ему понять, что Си — это лучший язык программирования.

Оглавление:

  • Основы программирования.
  • Переменные, выражения и операторы.
  • Возвращение к основам.
  • Функции.
  • Переменные, часть 2.
  • Указатели.
  • Структуры.
  • Массивы.
  • Строки.
  • Динамическая память.
  • Продвинутые фичи.
  • Стандартная библиотека ввода / вывода.
  • Управление строками.
  • Математика.

Modern C

«Modern C» стремится мотивировать читателя повысить свой уровень знания языка. Книга разделена на 5 уровней:

  • Первый уровень предоставляет читателю базовые знания о программах Си, их целях и структуре.
  • Второй уровень описывает основные принципы и фичи, такие как условные операторы, типы данных и функции.
  • Третий уровень ведёт к сердцу Си. Он рассказывает об указателях, модели памяти языка и его стандартной библиотекеe.
  • Четвёртый уровень затрагивает такие продвинутые темы, как производительность, атомарность, потоки, и другие.
  • Пятый уровень — в нём автор описывает своё видение развития языка.

An Introduction to GCC

Руководство «An Introduction to GCC» рассказывает о C и C++ компиляторах GNU, gcc and g++, являющихся частью GNU Compiler Collection (GCC).

Содержание:

  • Вступление.
  • Компиляция Си-программы.
  • Опции компиляции.
  • Использование препроцессора.
  • Компиляция для отладки.
  • Компиляция с оптимизацией.
  • Компиляция CPP-программы.
  • Платформо-специфические опции.
  • Решение проблем.
  • Инструменты.
  • Принципы работы компилятора.
  • Изучение скомпилированных файлов.
  • Типичные ошибки.
  • Дополнительные материалы.

Вот ещё несколько бесплатных книг по языку Си:

И, разумеется, не стоит забывать про каноничную книгу Кернигана и Ритчи: The C Programming Language. Сложная, не для начинающих, но по праву признана шедевром.

По материалам «Learn C Pprogramming With 9 Excellent Open Source Books»