Green-sell.info

Новые технологии
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основы программирования c книга

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

  • Книги, 21 марта 2017 в 21:09
  • Иван Бирюков

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

The C Book

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

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

Программирование на С для начинающих

«Программирование на С для начинающих» — учебник для максимально быстрого освоения языка, содержащий в себе много практического материала. Изложение четкое и простое, вы узнаете, как организовать программу, хранить и отображать данные, работать с переменными, операторами, вводом/выводом, указателями, массивами, функциями и многими другими вещами.

Пособие содержит всё самое важное, что вам нужно знать для программирования на C:

  • Структура программы.
  • Логические операторы и выражения.
  • Переменные.
  • Циклы.
  • Встроенные функции.
  • Массивы и указатели.
  • Тестирование программ.

C Elements of Style

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

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

Изучаем программирование на C

Книга из серии Head First, которая использует те же подходы, что и другие книги цикла. Материал подается в достаточно игровой форме и с использованием огромного количества иллюстраций. В книге рассматриваются:

  • основы языка Си;
  • динамическое управление памятью;
  • указатели и арифметические операции с ними;
  • многопоточность;
  • сетевое программирование.

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

Программирование на C для начинающих

Еще один хороший учебник по Си. Рассчитан на читателей, никогда не писавших кода и стремящихся начать свое знакомство с программированием именно с Си. Написан доступным языком. Из-за нацеленности на новичков книга охватывает не все аспекты языка. Из минусов можно выделить опечатки в тексте и программном коде. Но для настоящих кодеров такое никогда не было проблемой!

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. Сложная, не для начинающих, но по праву признана шедевром.

C / C++

Русский

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ. Энтони Уильямс

В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. .

    Программирование на С для начинающих. М. МакГрат

    С — это компактный компьютерный язык программирования общего назначения, созданный .

    Алгоритмы и программы. Язык С++. Е. Конова, Г. Поллак

    При изложении материала авторы используют методику обучения от алгоритмов к .

    Expert C Programming: Deep Secrets. P. Linden

    C programming is a craft that takes years to perfect. .

    Программирование на С для начинающих. 3-е изд. Грег Перри, Дин Миллер

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

    Программирование: учебное пособие. Л.А. Надейкина

    В Учебном пособии рассматривается на базе языка С++ одна из .

    Введение в язык Си++. А.В.Столяров

    Краткое (объём четвёртого издания — 136 страниц) введение в язык .

    Объектно-ориентированное программирование в С++. Р. Лафоре

    Основная задача этой книги — научить вас создавать программы на .

    Введение в C++. 4-ое издание. А. В. Столяров

    Краткое введение в язык Си++. Содержание построено по принципу плавного .

    Объектно-ориентированное программирование на C++. Пол Айра

    Если вы хотите писать качественные приложения, с хорошей архитектурой и .

    Язык программирования С. Брайан Керниган, Деннис Ритчи

    Книга по программированию от авторов языка C.
    В своё .

    Метапрограммирование шаблонов C++ в задачах математической физики. М.М. Краснов

    Рассматривается применение метапрограммирования шаблонов языка C++ для упрощения записи алгоритмов .

    English

    The C programming language. 2 ed. B. W. Kernighan, D. M. Ritchie

    The computing world has undergone a revolution since the publication .

    Test Driven Development for Embedded C. J. W. Grenning

    I was first exposed to Test-Driven Development at the first .

    C Programming in Linux. David Haskins

    So where do we start? A sensible place is “at .

    Structured Programming with C++. Kjell Bäckman

    The purpose of the course Structured Programming with C/C++ is .

    Understanding and Using C Pointers. R. M. Reese

    Numerous books have been written about C. They usually offer .

    Programming in C. S. G. Kochan

    The C programming langguage was pioneered by Dennis Ritchie at .

    API Design for C++. Martin Reddy

    API Design for C++ provides a comprehensive discussion of Application .

    The C++ Standard Library. Nicolai M. Josuttis

    The Best-Selling C++ Resource Now Updated for C++11
    The .

    C++ Templates. David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor

    Templates are among the most powerful features of C++, but .

    Effective Modern C++. Scott Meyers

    Topics include:
    The pros and cons of braced initialization, .

    Objective-C for Absolute Beginners. Gary Bennett, Brad Lees, Mitchell Fisher

    Learn Objective-C and its latest release, and learn how to .

    Optimized C++. Kurt Guntheroth

    This book is here to help you get your job .

    Литература по С++

    Когда я учился такой книги, к сожалению, не было. Книга толстая, но читать ее интересно. Автор не является членом комитета стандартизации языка, а преподает в ВУЗе, поэтому написал не справочник, а учебник. Это лучший учебник по С++, который я видел. Прата собрал весь свой педагогический опыт и сделал упор именно на те аспекты, с которыми у студентов возникают проблемы (как ни странно, но у моих студентов те же самые проблемы, поэтому я рекомендую им эту книгу). Книга новая и в ней описывается новый стандарт. Специально под фичи С++11 выделено всего 50 страниц, но по ходу всей книги делаются небольшие отступления на эту тему.

    Хорошая книга от автора языка. Текст книги сухой, хотя в ней есть примеры, советы по поводу «хорошего кода» и даже упражнения. Лично я, использую ее в качестве справочника — как учебник книга вряд ли может сравниться с произведением Прата.

    Рецензия от другого, уважаемого мной программиста:

    Бьерн Страуструп — это удивительный человек, сочетающий в себе несочетаемые вещи. Во-первых, это человек, придумавший один из самых гениальных языков современности. Во-вторых, это человек, дающий ужасающие рекомендации по программированию на собственном языке.

    Если вы уже успели потратить свои деньги на приобретение этой книги, то будьте бдительны. Отнеситесь к ней как к справочнику возможностей языка C++ и не воспринимайте близко к сердцу советы, которые дает автор книги (за исключением банальных типа инкапсуляции данных).

    У меня сложилось впечатление, что книга писалась в жутко укуренном состоянии. Совершенно никакой последовательности мысли. Напоминает письмо дяди Федора из Простоквашино. Читается тяжело и муторно, насквозь пронизана бессмысленными и никому не нужными лирическими отступлениями.

    Когда я впервые читал эту книгу в русскоязычном издании, я долго не мог понять, какому идиоту пришло в голову сверстать исходники наклонным, и главное, не моноширинным шрифтом. Когда я узнал, что предпочтения относительно шрифта исходили от самого автора, мне вообще поплохело.

    Диагноз
    Данная книга категорически противопоказана неокрепшим умам. Если ее и стоит читать, то только тогда, когда вы научитесь безошибочно отделять плохие рекомендации от хороших. Чтение этой книги с целью получения новых знаний похоже на добычу золота из морской воды.

    Две книги Скотта Мейерса для углубленного изучения С++. Выполнены в виде сборников правил типа: «Никогда не вызывайте виртуальные функции в конструкторе или деструкторе». Правила касаются понимания концепций объектно-ориентированного программирования, вопросов управления памятью, обработки ошибок и эффективности кода. К правилами прилагается исчерпывающее объяснение. В очень небольшой части материал книг пересекается, но в целом, они дополняют друг друга. Начать изучение стоит с книги «35 рекомендаций» — она попроще.

    Отзыв от уважаемого мной программиста:

    Если вы будете читать эту книгу впервые, то сначала у вас закипит мозг, после чего вы свалитесь со стула, а после того, как придете в себя, первой вашей мыслью будет фраза «Них#я себе, что можно на C++ вытворять!».

    Это одна из тех редких книг, которую нужно прочесть всем, кто желает стать настоящим профессионалом своего дела.

    Книга рассказывает об основных паттернах проектирования с упором на их реализацию. Особый восторг вызывают фирменные метапрограммные рецепты господина Александреску.

    Единственным, но в то же время практически незаметным недостатком, я считаю несколько недостаточное внимание, уделенное разделению предлагаемых подходов на хорошие и плохие. Однако, если ваш мозг будет в состоянии понять, о чем же именно рассказывает эта книга, то такое разделение вы сможете сделать самостоятельно без особого труда.

    Отзыв от уважаемого мной программиста:

    На мой взгляд это одна из лучших книг (если не самая лучшая) из серии «C++ In-Depth». Коротко, просто и по делу. Ничего лишнего, ни одной плохой рекомендации. Создается ощущение, что читаешь некий доклад о том как нужно программировать, основанный на опыте всех программистов, полученном с момента создания языка C++, из которого тщательным образом было отобрано только самое лучшее и выкинута вся муть, которую выдумывают современные воспаленные мозги.

    Остается добавить, что само название, «101 правило и рекомендация», это не просто бойкое маркетинговое название, выдуманное молодым маркетологом-энтузиастом. Книга действительно представляет собой сто одну коротенькую рекомендацию по программированию.

    Если вы еще не успели прочитать эту книгу, то я рекомендую вам сделать это без отлагательств — результат превзойдет все ваши ожидания.

    Краткое содержание книги прекрасно описано в первой главе, не буду дублировать, перечислю лишь то, что привлекло внимание.

    Первая часть посвящена языку С++, ее можно рассматривать как очень краткое, но глубокое введение в язык.
    — во второй главе приведено очень поверхностное изложение тонкостей С++, а также множество коварных фрагментов кода, на которых можно проверить знаете ли вы язык в достаточном объеме чтобы читать дальше или нет.
    — третья глава посвящена шаблонам (templates). Если вы до этого не сталкивались с ними — то по приведенному материалу сможете разобраться. Все, что там описано работает, но стоит учитывать, что книга писалась в 90х годах, сейчас возможности шаблонов гораздо шире.
    — глава 4 посвящена обработке исключений, написана в том же стиле, что и третья. Можно использовать как полноценный учебник.

    Во второй части книги рассказывается про умные указатели и итераторы. Очень подробно, про всякие разные. Поразительно, что по этой теме написано так много… Например, про умные указатели писал в своих книгах Майерс, но совсем с другой стороны. Наиболее понравилась глава 7 про «грани и другие мудрые указатели» и глава 9 «транзакции и гениальные указатели».

    В части 3 речь идет о двойной диспетчеризации, производящих функциях и, опять же, умных (на этот раз «невидимых») указателях. Материал местами отдает академизмом, но все равно интересно.

    В четвертой части речь идет о памяти — перегрузке операторов new и delete, при этом описывается несколько алгоритмов, которые могут улучшить работу с памятью в ваших программах, в том числе уплотнения памяти и сборки мусора. Мое личное мнение — все это интересно, но реализовать качественно эти алгоритмы слишком сложно и не совсем очевидны случаи когда стоит это делать. Так, например, недавно я публиковал аннотацию на доклад по похожей теме: https://vk.com/wall-105242702_701, в котором нечто подобное (не все) реализовано в malloc. Вероятно, в тех редких случаях, когда вас не устраивает стандартный malloc — можно использовать другую реализацию.

    Резюме: книга интересная. Первая глава однозначно имеет практическую направленность. Остальная часть книги интересна, полезна для кругозора и местами на практике (например раздел по двойной диспетчеризации).

    Многие ребята, занимающиеся промышленной разработкой на С++ сообщили мне, что не читали эти книги, но хотели бы (времени нет). Нужно ли вам читать их или вы уже знаете STL? — выяснить это я предлагаю так:

    1. попробуйте пройти короткие (6-7 вопросов) тесты на темы std::vector и std::list. Эти тесты касаются мизерной и самой простой части содержимого книг.
    2. ответьте сами себе в рамках такого опросника:
      1. есть у вас ссылка на элемент vector/list/deque — вы делаете вставку нового элемента в контейнер. Останется ли валидной ссылка?
      2. что изменится если вместо ссылке в предыдущем вопросе использовать итератор?
      3. какие есть типы итераторов? Что такое адаптеры итераторов и как ими пользоваться?
      4. знаете ли вы как удалить элементы с определенным значением из вектора/списка/ассоциативного контейнера?
      5. что изменится если нужно удалить элементы, удовлетворяющие определенному условию? (особенно std::map/std::set )?
      6. знаете ли вы, какие возможности дает istreambuf_iterator?
      7. что делать, если нужно отсортировать вектор не полностью, а только его часть? — что умеет std::nth_element ? А как быть с std::list?
      8. чем map::operator[] отличается от map::insert ? Что выбрать для вставки элемента?
      9. знаете ли вы о том, какие функции есть в STL для работы с отсортированными векторами и пирамидами? Есть ли смысл строить на такой структуре данных множество?
      10. что делают фукнция std::replace_copy_if , std::remove_copy_if , std::unique , std::random_shuffle ? — это касается не зазубривания, а того, будете ли вы писать свой велосипед или хотя бы попробуете найти готовую функцию для перемешивания массива;
      11. как можно использовать std::copy и std::copy_backward ? — Можно ли копировать элементы между контейнерами разных типов? Использовать их с файловыми итераторами? Можно ли применять их для копирования элементов внутри одного и того же контейнера ?

      Книга Аммерааля, откровенного говоря, очень скучная, почти как справочник. Читать ее стоит по диагонали, однако, я выбрал для вас наиболее интересные (с моей точки зрения) моменты:
      1. Из первой главы можно узнать зачем вообще нужны итераторы и как их не стоит использовать. Хорошо написано про категории итераторов. Если вы не знаете что такое Erase–remove idiom — то эту главу точно нужно просмотреть. Тут же можно прочитать про ряд полезных алгоритмов: sort, find, copy, merge, replace_reverse, find_if, remove_if — однако эта часть очень скучна, хотя, полезно знать что такие алгоритмы вообще существуют (ну чтобы не писать велосипеды).

      2. Во второй главе описаны ассоциативные контейнеры и ряд алгоритмов. Если вы не знаете что такое set/map — то можно почитать. В третьей главе подробно описываются vector (и vector ), list и deque, стоит заглянуть если вы не знаете как может быть реализован deque внутри (тут перекликается с одним из советов Маерса — не использовать deque вместо вектора без особой необходимости, хоть он и эффективнее). Если вы не используете в своей работе операции splice, remove и merge для std::list — то также почитайте.

      3. Вы слышали про set_intersection/set_union? — если нет, посмотрите примеры к четвертой главе (из них все понятно, текст читать не стоит). Если не знаете что такое адаптеры контейнеров (stack, queue, priority_queue) — загляните в пятую главу. Из полезного в шестой главе — адаптеры итераторов (inserter) и std::transform (незаслуженно забытый студентами).

      4. В седьмой главе описаны алгоритмы, опять же как в справочнике, но с хорошими примерами. Нет смысла всех их перечислять, но заглянуть туда стоит если вы не слышали про: adjacent_find, mismatch, copy (им можно хитро пользоваться, а также есть copy_backward), generate, random_shuffle, partition (и stable_partition). А знали ли вы, что STL есть генератор перестановок, операции с пирамидами, а также ряд операций, позволяющих работать с массивами (отсортированными) как со множествами? — знать детали всех этих функций не обязательно (для этого есть справочник), а вот знать что такое вообще существует — нужно.

      Что касается второй книги (Мейерса) — то в ней традиционно (для этого автора) материал упорядочен в виде советов. Читается она интересно и увлекательно (местами даже может оказаться удивительно). Перечислять что из нее можно узнать смысла нет, т.к. лучше просмотреть список советов и читать лишь те, что вам интересны (я бы на всякий случай просмотрел все).

      Итог: эти две книги не являются учебниками по STL, чтобы научиться им пользоваться — надо ставить задачу и писать код. Книги же помогут вам набить меньше шишек. Читать лучше сначала Аммерааля, а потом уже Мейерса, т.к., несмотря на то, что вторую книгу читать проще, ориентирована она на людей, уже знакомых с STL — упор в ней больше делается на тонкости.

      Язык программирования Си

      практический курс

      Что это такое?

      В свое время (1991-1992 года), выбрав язык Си в качестве основного языка программирования для математических классов, автор столкнулся с проблемой отсутствия нормальных учебников, которые можно было бы рекомендовать школьникам. Это вынудило его написать свой конспект лекций, который можно было бы назвать «Практический курс программирования на Си» — в него вошли те сведения, которые действительно требовались автору на практике. Многолетний опыт преподавания показал, что конспект действительно востребован и широко используется как школьниками, так и выпускниками.

      В качестве среды разработки используется бесплатно распространяемая оболочка Dev-C++ с открытым исходным кодом, включающая компилятор GCC.

      Автор будет благодарен за отзывы и конструктивную критику по поводу содержания и оформления этих материалов. Если вы заметили ошибку или у вас есть предложения, замечания, жалобы, просьбы и заявления, пишите.

      Лицензионное соглашение

      Все опубликованные ниже материалы могут быть свободно использованы в некоммерческих целях при условии сохранения авторства.

      Скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.

      Скачать

      Конспект распространяется свободно в формате PDF. Для просмотра требуется бесплатный просмотрщик Acrobat Reader. Конспект курса условно разбит на 4 части:

      1. Введение в программирование на языке Си (860 Кб)29.03.2014
        Изучение основных конструкций языка и приемов написания программ.
      2. Xранение и обработка данных (792 Кб)21.11.2013
        Язык Си: массивы, матрицы, структуры, символьные строки, структуры, рекурсия.
      3. Разработка программ на языке Си (937 Кб)01.03.2014
        Приемы проектирования программ, структурное программирование, целочисленные алгоритмы, численные методы, моделирование.
      4. Динамические структуры данных в языке Си (666 Кб)11.06.2009
        Списки, стеки, деревья, графы.

      Презентации

      Для преподавателей и учащихся могут быть полезны презентации, построенные на основе этого конспекта. Их можно скачать на странице Презентации.

      Методика

      В программе предусмотрено изучение языка Си в 7-11 классах:

      Часть I представляет собой расширенный конспект курса 7 класса. Введение в язык Си строится на базе алгоритмической подготовки, которую дети получили в 6 классе, работая с исполнителями.

      Основная задача — познакомить учащихся с основными конструкциями языка Си: циклами, условными операторами, процедурами. Весьма успешно проходит изучение разделов, связанных с графикой, анимацией.

      Для работы с графикой через браузер можно использовать онлайн-сервис Антона Деникина.

      Программа включает следующие разделы (в скобках указана часть конспекта): Массивы (II), Работа с файлами (II), Символьные строки (II), Вращение объектов (III), Моделирование (III). Особое внимание уделяется изучению алгоритмов работы с массивами, в том числе поиска, сортировки и т.п. Дается понятие об эффективности вычислительных методов.

      Основное внимание уделяется изучению методов разработки программ на языке Си. Учащиеся выполняют индивидуальное задание, в ходе которого учатся строить графики на экране, знакомятся с преобразованиями систем координат, изучают методы решения уравнений, знакомятся с численными методами, учатся правильно оформлять программы (разделы 1-2 части III). Одно из заданий посвящено использованию метода Монте-Карло для вычисления площади сложной фигуры. Из новых разделов изучаются также Матрицы (II), Массивы символьных строк (II). Вводится понятие указателей и изучаются простейшие операции с ними.

      Изучения языка Си выходит на более серьезный уровень. Основные темы — Управление памятью (II), Рекурсия (II), Структуры (II). Предусмотрено изучение языка Паскаль в качестве второго языка программирования. С этого момента алгоритмы на теоретических занятиях записываются поочередно на двух языках.

      Изучаются не столько особенности языков, сколько алгоритмы. Основные разделы — Численные методы (III), Моделирование (III), Динамические структуры данных (IV).

      Программирование на С для начинающих, Майк МакГрат, 2016

      Программирование на С для начинающих, Майк МакГрат, 2016.

      В этой книге с помощью примеров программ и иллюстраций, показывающих результаты работы кода, разбираются вес ключевые аспекты языка С. В этой книге описано даже то, как установить бесплатный компилятор для языка С и работать в нем, — у вас просто не будет шансов ошибиться!
      Книга идеально подойдет программистам, переключающимся на работу с другим языком, студентам, изучающим язык С, а также тем, кто только начинает свою профессиональную деятельность и хочет научиться основам процедурного программирования.

      Установка компилятора языка С.
      Программы на языке С изначально создаются как простые текстовые файлы, сохраняемые с расширением .с. Они могут быть написаны в любом текстовом редакторе, даже в программе Блокнот (Notepad) операционной системы Windows — никакого специального программного обеспечения не требуется.

      Для того чтобы выполнить программу, написанную на языке С, необходимо ее «скомпилировать» в байт-код, который компьютер сможет понять. Компилятор языка С считывает оригинальную текстовую версию программы и переводит ее во второй файл, имеющий исполняемый байтовый формат, который сможет распознать компьютер.

      Если текст программы содержит синтаксические ошибки, компилятор об этом сообщит, и исполняемый файл не будет построен.
      Один из наиболее популярных компиляторов языка С — GNU С Compiler (GCC) — доступен бесплатно под лицензией General Public License (GPL). Он включен во все дистрибутивы операционной системы Linux. GNU С Compiler был использован для компилирования в исполняемый код всех примеров этой книги.

      Оглавление.
      Введение.
      1 Приступаем к работе.
      Введение в язык С.
      Установка компилятора языка С.
      Написание программы на языке С.
      Компилирование программы на языке С.
      Понимание процесса компилирования.
      Заключение.
      2 Сохранение значений переменных.
      Создание переменных в программе.
      Отображение значений переменных.
      Ввод значений переменных.
      Спецификаторы типов данных.
      Использование глобальных переменных.
      Размещение переменных в регистрах.
      Преобразование типов данных.
      Создание массивов переменных.
      Описание нескольких измерений.
      Заключение.
      3 Установка значений переменных.
      Объявление констант в программе.
      Перечисление значений констант.
      Создание константного типа.
      Определение констант.
      Отладка с помощью определений.
      Заключение.
      4 Выполнение операций.
      Выполнение арифметических операций.
      Присваивание значений.
      Сравнение значений.
      Логические значения.
      Проверка условий.
      Измерение размера.
      Сравнение битовых значений.
      Флаги.
      Знакомство с приоритетами.
      Заключение.
      5 Создание утверждений.
      Проверка значений выражений.
      Ветвление с помощью операции switch.
      Зацикливание с помощью счетчика.
      Зацикливание с помощью условия.
      Досрочный выход из циклов.
      Переход к меткам.
      Заключение.
      6 Использование функций.
      Объявление функций.
      Передача аргументов.
      Рекурсивные вызовы.
      Размещение функций в заголовках.
      Ограничение доступности.
      Заключение.
      7 Указатели.
      Получение доступа к данным с помощью указателей.
      Арифметика указателей.
      Передача указателей в функции.
      Создание массивов указателей.
      Указатели на функции.
      Заключение.
      8 Работа со строками.
      Чтение строк.
      Копирование строк.
      Объединение строк.
      Поиск подстрок.
      Валидация строк.
      Преобразование строк.
      Заключение.
      9 Создание структур.
      Группирование данных в структуру.
      Определение типа данных с помощью структуры.
      Использование указателей в структурах.
      Указатели на структуры.
      Передача структур в функции.
      Группирование данных в объединение.
      Выделение памяти.
      Заключение.
      10 Получение результата.
      Создание файла.
      Чтение и запись символов.
      Чтение и запись строк.
      Считывание и запись файлов целиком.
      Сканирование файловых потоков.
      Сообщение об ошибках.
      Получение даты и времени.
      Запуск таймера.
      Генерация случайных чисел.
      Отображение диалогового окна.
      Заключение.
      Справочная информация.
      ASCII-коды символов.
      Функции ввода и вывода.
      Функции проверки символов.
      Арифметические функции.
      Функции работы со строками.
      Вспомогательные функции.
      Диагностические функции.
      Функции для работы с аргументами.
      Функции для работы с датой и временем.
      Функции переходов.
      Сигнальные функции.
      Константы пределов.
      Константы с плавающей точкой.
      Основы программирования на языке С.
      Предметный указатель.

      Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
      Скачать книгу Программирование на С для начинающих, Майк МакГрат, 2016 — fileskachat.com, быстрое и бесплатное скачивание.

      Скачать pdf
      Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

      Читать еще:  Объектно ориентированное программирование что это такое
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×