C изучение с нуля. Обучение программированию с нуля – пошаговое руководство для начинающих. Десять шагов от чайника к программисту-профессионалу

Сегодня многих интересует, можно ли научиться программировать с нуля.

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

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

Cодержание:

Шаг первый. Подготовка

Нередко начинающие программисты не могут достичь успеха по той простой причине, что изначально не смогли правильно расставить приоритеты.

Они представляют данное ремесло как что-то романтическое, динамичное – прямо какой-то постоянный экшн.

В фильмах этот процесс показывается совсем не таким, какой он есть на самом деле.

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

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

Так что если вы просто пропитались духом всевозможных кинолент и хотите самостоятельно начать «кодить», программирование – это явно не для вас .

Вот вам правда о рассматриваемом ремесле – программирование это:

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

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

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

Шаг второй. Выбор первого языка

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

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

Но интересно, что в хороших учебных заведениях, а также на курсах студенты изучают языки в таком порядке:

1 Pascal .

2 C++ .

3 PHP и все, что связано с веб-программированием, а также SQL (это система, предназначенная для работы с базами данных путем запросов).

  1. Веб (разработка сайтов, онлайн систем и все, что с этим связано) – html (хотя его нельзя назвать полноценным языком программирования), PHP, Perl, Python, Ruby, Java, Groovy, а также технология ASP.NET.
  2. Пользовательское ПО (всевозможные программы вроде справочников, браузеров, мессенджеров и тому подобное) – Delphi, C, C++, C#.
  3. Пользовательское ПО для мобильных устройств – Java, Objective-C.
  4. Машинные разработки (работы с микропроцессорами и другими устройствами, проектирование робототехники) – Assembler, модификации С.

Кто-то также может внести в этот список так называемое программирование 1С. Не верьте профанам и ничего не знающим людям! Это совсем не программирование.

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

Выбирайте то, что вам больше всего понравится.

Совет: Сделайте свой выбор сразу! Вы должны точно знать, в каком направлении будете развиваться и что изучать в дальнейшем.

Большинство специалистов также советуют начать свое обучение с Pascal. Такой вариант позволит

Вам написать самые простые программки и иметь общее представление о рассматриваемом ремесле в целом.

Можно сказать, что Паскаль – это некий мост. Человек, который просто хорошо знает математику, может перейти через него в мир программирования.

Внимание! В какую бы компанию вы не устроились после обучения, вас будут переучивать под себя. Поэтому вы должны просто понимать сам принцип написания программ. А для этого нет ничего лучше, чем Pascal.

Шаг третий. Изучение компиляторов

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

Собственно, все свои программы вы будете писать, и выполнять именно в компиляторах.

Если вы решили последовать нашему совету и начать с Паскаля, то вам следует скачать Free Pascal. Этот компилятор абсолютно бесплатный и распространяется на официальном сайте .

Как видим, выглядит он достаточно «старомодно», но программирование начинается именно с этого. Кстати, компилятор C++ выглядит практически так же.

Называется он Turbo C++ (скачать его можно ).

Что касается Паскаля, то существует также GNU Pascal, Turbo/Borland Pascal, TMT Pascal и Virtual Pascal. А для С++ можно использовать Borland C++, Visual C++, Dev C++, GCC и Eclipse.

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

Вот список наиболее популярных на сегодняшний день компиляторов в зависимости от направлений деятельности:

    Что касается Delphi , то компилятор там так и называется. Существует также Embarcadero Delphi и некоторые другие модификации. Делфи 7 можно скачать на многих сайтах, к примеру, . Если вы выбрали C, C++ или C#, то вам нужна Microsoft Visual Studio. Загрузить ее можно прямо на официальном сайте производителя.

    Если говорить об Assembler и других языках, которые практикуются в робототехнике , то здесь сразу необходимо скачать MASM , если вы работаете на Windows. А вообще, в зависимости от выбранной вами сферы деятельности и компании, на которую вы устроитесь работать, компиляторы могут быть самыми разными. Некоторые фирмы пишут собственные решения для обработки кода. Поэтому, если вы выбрали робототехнику, лучше изучить соответствующие книги и делать все, как там говорится. Об этом мы еще поговорим.

Также существует множество онлайн компиляторов. Они полезны тем, что обслуживают множество языков программирования и не требуют установки – очень удобно!

Вот наиболее популярные из них:

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

Виртуальные машины будут работать под управлением . На них вы можете хоть удалить системную папку, установить абсолютно любую программу и так далее.

А теперь приступим к написанию вашего первого шифра (кода). Сделать это можно даже без книг и длинных инструкций.

Шаг четвертый. Первый код

Для первого кода мы будем использовать первый язык и первый компилятор, который мы советовали выбирать выше. Это Паскаль и Free Pascal.

Одна из самых простых программ пишется следующим образом:

1 Скачайте Free Pascal по ссылке выше и запустите его на своем компьютере.

2 Введите следующее: «program [название];» . То есть если вы хотите, чтобы программа называлась «hello», необходимо ввести «program hello;».

3 Введите инструкцию «begin» . Это означает, что код, который в дальнейшем нужно будет выполнить, начался.

4 Используем одну из самых распространенных в Паскале конструкций «writeln(‘[какой-то текст]’);» . Она просто выводит на экран текст. Который содержится в скобках и кавычках. Мы введем сочетание «Hello, world!» . Обычно свой путь в большой мир разработок ПО начинают именно с этого. Таким образом, следующая строчка будет выглядеть как «writeln(‘Hello, world!’);» .

5 Чтобы закончить исполняемый шифр, введите «end.» (обязательно с точкой в конце).

6 Теперь нажмите кнопку «F9» , чтобы запустить то, что написали. Вы увидите, как на экране появились слова «Hello, world!» . Это и требовалось!

Чтобы начать свое знакомство с другими языками, в книгах обычно также приводятся инструкции по написанию «Hello, world!» , то есть инструкции, которая просто выводит такой простой текст на экран.

Итак, вы осилили свой первый шифр! Начало положено. Теперь переходите к интенсивному обучению.

Шаг пятый. Пройдите онлайн тренинг

Преимущество онлайн уроков в том, что вы все видите наглядно, причем от начала до конца.

Поэтому новичкам лучше все-таки начинать свой путь именно с онлайн тренингов. Вот лучшие курсы на русском языке:

  • Курс «Основы программирования» от Образовательного IT-портала GeekBrains . Здесь все рассказывается с самого начала, с самых азов. Вы сможете изучить историю, развитие данной отрасли, а затем постепенно стать ее частью. Тот же цикл тренингов можно скачать с торрента (вот ссылка).
  • Уроки от Школы программистов . Этот курс подойдет тем, кто ничего не смыслит даже в математике, не знает природу чисел, как представляется информация в компьютере и другие подобные моменты. То есть если вы считаете себя полным профаном, смотрите эти видеоуроки.
  • «Фундамент программирования» от EG Lab . Здесь расскажут о данном ремесле в целом, о разработке сложных задач и типах данных (всего три урока). Просмотр данных уроков будет отличным подспорьем, чтобы начать изучать какой-то конкретный язык в дальнейшем.

После просмотра этих курсов, необходимо переходить на уроки, посвященные какому-то конкретному языку или отрасли, выбранной вами.

Если вы знаете английский, это огромное преимущество, но только в том случае, если вы уже что-то знаете.

Курсов для тех, кто абсолютный ноль в данном вопросе, там почему-то не предоставляют (или их невозможно найти).

Зато есть курсы для конкретных языков. К примеру, есть Learn Java Simply , C++ Programming Tutorial for Beginners , How to program in C# - BASICS и многое другое.

Выбирайте тренинг в зависимости от направления своей деятельности.

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

Подборка для тех, кто привык воспринимать информацию в визуализированной форме: лучшие видео- и онлайн-курсы по С++ для разработчиков разных уровней от Библиотеки Программиста.

Видеокурсы

Изучение С++ с нуля

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

Программирование на С и С++

Фундаментальный курс по языку С и его тонкостям: структуры, функции, работа с памятью, потоки ввода-вывода, компиляция и сборка проекта. Три последние лекции посвящены ООП в С++.

Алгоритмы, структуры данных и программирование в С++

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

Практическое решение задач на С++

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

Создание простых игр на С++

Кто из нас в детстве не мечтал делать игры? Данный курс состоит из 16 одно-/двухминутных видео, в каждом из которых под легкую музыку демонстрируется написание кода для классических игр вроде змейки, арканоида и Doodle Jump.

Англоязычный курс от поможет приобрести базовые навыки написания программ на языке C++, усвоить принципы объектно-ориентированного программирования, а также универсальные концепции разработки программного обеспечения. Курс подходит для подготовки к экзамену на получение сертификата CPA от C++ Institute.

Программирование на языке С++

Данный базовый курс, входящий в онлайн-программы по основам программирования и анализу данных , дает представление об основных средствах языка C++. Особое внимание уделяется обсуждению базовых принципов работы программ, а также процессу их компиляции.

(Code-Live)

Этот самоучитель создан для тех, кто хочет освоить основы программирования на C++. Уроки рассчитаны, в первую очередь на новичков, но будут полезны и тем, кто уже имеет небольшой опыт в программировании.

Введение в программирование (С++) (Яндекс)

Курс рассчитан на школьников, интересующихся программированием. Для его освоения достаточно знания программы 8 класса. Слушатели начнут изучать C++ с нуля, напишут множество небольших программ и познакомятся с основными конструкциями языка. Полученные знания станут отличной основой для продолжения обучения программированию в вузе.

В курсе подробно и доступно разобраны базовые концепции программирования и основы C++. Прекрасный выбор для начинающих разработчиков.

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

Крайне важно сразу построить прочный фундамент из базовых знаний, иначе все ваше здание рано или поздно рухнет.

Этот курс поможет вам плавно влиться в программирование и простыми словами объяснит непростые основы C++ .

Немного о языке

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

Каркас первой программы

По традиции основы C++ начинаются с классического HelloWorld-приложения, которое продемонстрирует, как программист может давать указания компилятору языка. Вы узнаете о заголовочных файлах и пространствах имен, а также научитесь использовать два полезных метода стандартной библиотеки для работы с потоками ввода и вывода.

Типы данных

Следующие несколько уроков посвящены основным типам данных языка.

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

Расширенный набор математических операций вы найдете в этом видео .

Еще один способ собрать данные в единый набор – это перечисления. В курсе они рассматриваются на примере лифта в торговом центре .

Структуры в C++ – это подобие упрощенных классов. Разобравшись с ними, вы сделаете первый шаг к объектно-ориентированному программированию.

Функции

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

ООП

С 18 урока начинается знакомство с объектно-ориентированным программированием. В отличие от языка C в C++ эта парадигма поддерживается. Вы создадите свой первый класс, познакомитесь с модификаторами доступа и научитесь делать переменные приватными.

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

Затем вы узнаете, что такое дружественные функции и как они позволяют организовать взаимодействие между классами. А после этого познакомитесь с дружественными классами на примере совсем недружелюбного объекта Volodya.

Cкачать

Д. Кнут. Искусство программирования. В трех томах. Классика программирования. djvu.

Том.1. 680 стр. 5.8 Мб. Скачать.

Том 2. 790 стр. 6.3 Мб. Скачать.

Том 3. 800 стр. 6.6 Мб. Скачать.

Керниган Б.В., Ричи Д.М. Язык программирования Си. 3-е изд. иправл. 2003 год. 355 стр. PDF. 15.9 Мб.
Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд-вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей. Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.
Для программистов, преподавателей и студентов.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Керниган Б.В., Ричи Д.М. Язык программирования С. 229 стр. PDF. 1.3 Мб.
Язык "C"(произносится "си") - это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык "C" не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения. но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные. Язык "C", первоначально предназначавшийся для написания операционной системы "UNIX" на ЭВМ DEC P DP-11, б ы лр а з р а б о т а нир е а л и з о в а нн аэ т о йс и с т е м е Деннисом Ричи. Операционная система, компилятор с языка "C" и по существу все прикладные программы системы "UNIX" (включая все программное обеспечение, использованное при подготовке этой книги) написаны на "C". Коммерческие компиляторы с языка "C " существуют также на некоторых других ЭВМ, включая IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. Язык "C", однако, не связан с какими-либо определенными аппаратными средствами или системами, и на нем л е г к о писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей "C"-компилятор.
Эта книга предназначена для того, чтобы помочь читателю научиться программировать на языке "C". Она содержит учебное введение, цель которого - позволить новым пользователям начать программировать как можно быстрее, отдельные главы по всем основным особенностям языка и справочное руководство. Обучение построено в основном на чтении, написании и разборе примеров, а не голой формулировке правил. Примеры, приводимые в книге, по большей части являются законченными реальными программами, а не отдельными фрагментами. Все примеры были проверены непосредственно с текста книги, где они напечатаны в виде, пригодном для ввода в машину. Кроме указаний о том, как сделать использование языка более эффективным, мы также пытались, где это возможно, проиллюстрировать полезные алгоритмы и принципы хорошего стиля и разумной разработки.
Настоящая книга не является вводным курсом в программирование; она предполагает определенное знакомство с основными понятиями программирования такими как переменные, операторы присваивания, циклы, функции. Тем не менее и новичок в программировании должен оказаться в состоянии читать подряд и освоиться с языком, хотя при этом была бы полезной помощь более опытного коллеги.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Каррано, Причард. Абстракция данных и решение задач на C++. 3-е изд. 2003 год. 850 стр. PDF. 21.9 Мб. Помимо предоставления прочных основ методов абстракции данных, в ней особо подчеркивается различие между спецификацией и реализацией, что является принципиально важным в объектно-ориентированном подходе. В книге подробно обсуждаются ключевые понятия объектно-ориентированного профаммирования, включая инкапсуляцию, наследование и полиморфизм, однако в центре внимания всегда находится именно абстракция данных, а не синтаксические конструкции языка C++. Книга будет полезна всем, кто заинтересован в глубоком изучении важнейших аспектов ООП и полном освоении соответствующих возможностей языка C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Герб Каммер. Новые сложные задачи на С++. 2005 год. 271 стр. djvu. 2.2 Мб.
Данная книга представляет собой продолжение вышедшей ранее книги "Решение сложных задач на C++". В форме задач и их решений рассматриваются современные методы проектирования и программирования на C++. В книге сконцентрирован богатый многолетний опыт программирования на C++ не только самого автора, но и всего сообщества программистов на C++, так что некоторые рекомендации автора могут показаться неожиданными даже опытным программистам-профессионалам. Автор рассматривает и конкретные методики, приемы и идиомы программирования, однако основная тема книги - это стиль программирования, причем в самом широком понимании этого слова. Особое внимание во всех задачах книги уделено вопросу проектирования, которое должно обеспечить максимальную надежность, безопасность, производительность и сопровождаемость создаваемого программного обеспечения.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Ласло М. Вычислительная геометрия и компьютерная графика на С++. 1997 год. 150 двойных стр. DJVU. 18.6 Mб.
В книге описываются основные проблемы, возникающие в компьютерной графике и вычислительной геометрии. Рассмотрены практические задачи и представлены относительно простые способы их решения. Приведены основные приемы разработки и анализа алгоритмов, обсуждаются элементарные структуры данных (списки и деревья) и способы их использования.
Для математиков-прикладников, аспирантов и студентов вузов как учебное пособие по машинному проектированию, машинной графике, распознаванию образов.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Лаптев и др. С++. Объектно-ориентированное программирование. Задачи и упражнения. 2007 год. 288 стр. DJVU. 3.2 Мб.
Книга предназначена для изучения возможностей объектно-ориентированного стиля программирования на языке С++. Приведены сведения о синтаксисе и семантике объектно-ориентированных конструкций С++, стандартной библиотеке шаблонов STL. Книга содержит необходимые теоретические сведения, упражнения и задачи для самостоятельной работы, справочную информацию по наиболее популярным средам программирования: С++ Builder 6 и Visual C++.NET 2003. Для преподавателей и студентов, начинающих программистов.
Допущено Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки «Информатика и вычислительная техника».

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Дж. Либерти. Освой самостоятельно C++. 3-изд. 2009 год. 820 стр. djvu. 10.4 Мб.
В книге широко представлены возможности новейшей версии программного продукта Microsoft Visual C++. Подробно описаны средства и подходы программирования современных профессиональных приложении. Материалы книги дополнены многочисленными демонстрационными программами в процессе разработки которых максимально используются возможности программных инструментов Microsoft Visual Studio.
Особое внимание уделено новинкам версии 6.0 и новейшим технологиям объектно-ориентированного программирования, включая использование библиотеки MFC и шаблонов классов, а также создание связанных списков. Отдельное занятие посвящено вопросам объектно-ориентированного анализа и проектирования приложений. Подробно рассмотрены все средства и подходы конструирования собственных пользовательских классов. Книга рассчитана на широкий круг читателей, интересующихся современными проблемами программирования.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стенли Б. Липпман, Жози Лажойе. С++ для начинающих. 2001 год. 1167 стр. PDF. 6.1 Мб.
Книга известного эксперта по языку C++ Стенли Липпмана написана в соавторстве с Жози Лажойе, принимавшем активное участие в разработке международного стандарта C++. Несмотря на название, настоящее издание является исчерпывающим руководством для изучения современной версии языка C++. Авторы рассматривают как основы языка (структуру программы на C++, использование команд препроцессора и заголовочных файлов), так и более сложные конструкции (исключения, классы, шаблоны функций и классов, перегрузку операторов множественное наследование и т. п.). Текст содержит большое количество примеров, поясняющих излагаемый материал. Книга предназначена для тех, кто начинает изучение языка C++, однако и более опытные программисты смогут найти в ней полезные сведения о функционировании сложных конструкции языка, а также описание последних нововведений в стандарт C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Мозговой М.В. 85 нетривиальных проектов, примеров и задач. Серия Масттер класс C++. 2007 год. 135 стр. djvu. 5.1 Мб.
Данная книга посвящена анализу интересных задач, встречающихся в повседневной практике программирования и требующих нетривиальных подходов в их решении. На основе небольшого количества характерных реалистичных примеров иллюстрируется применение важных алгоритмов и методик программирования. Обозначены задачи, в которых могут использоваться те или иные подходы и решения.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Оверлнд. С++ без страха. Серия "Знания и опыт экспертов". Rybe можно читать с нуля, то есть не требуется умения программирования. 4.6 Мб. 430 стр. djvu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Пахомов Б.И. C/C++ и MS Visual C++ 2008 для начинающих. Учебник. 2009 год. 609 стр, djvu. 9.3 Мб.
Книга является руководством для начинающих по разработке приложений в среде Microsoft Visual C++ 2008 Express Edition. Рассмотрены основные элементы языков программирования C/C++ и примеры создания простейших классов и программ. Изложены принципы визуального проектирования и событийного программирования. На конкретных примерах показаны основные возможности визуальной среды разработки Visual C++ 2008 Express Edition, назначение базовых компонентов и процесс разработки различных типов консольных и Windows-приложений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Прохоренок Н.А. Программирование на C++ в Visual Studio 2010 Express. 2010 год. 229 стр. djvu. 2.1 Мб.
Описан базовый синтаксис языка C++, применительно к бесплатной среде Visual Studio 2010 Express: типы данных, операторы, условия, циклы, встроенные функции, объектно-ориентированное программирование, работа с файлами и каталогами, часто используемые модули стандартной библиотеки.
Кроме того, в книге рассматривается стандартная библиотека шаблонов (STL), реализующая динамические массивы, множества, очереди и стеки. Благодаря большому количеству примеров книга будет полезна в качестве самоучителя для начинающих разработчиков. Читатели уже имеющие опыт программирования могут использовать книгу как справочник.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. 2006 год. 265 стр. PDF. 7.9 Мб.
Практикум предназначен для студентов, изучающих язык C++ на семинарах или самостоятельно. Классы, шаблоны, наследование, исключения, стандартная библиотека, UML, концепции программной инженерии (software engineering) и паперны проектирования рассматриваются на примерах, сопровождаемых необходимыми теоретическими сведе}шями. Обсуждаются алгоритмы, приемы отладки и вопросы качества. По каждой теме приведегю по 20 вариантов заданий. Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению "Информатика и вычислительная техника".

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Т. А. Павловская. C/C++. Программирование на языке высокого уровня. Из серии "300 лучших учебников".2003 год. 461 стр. PDF. 9.7 Мб.
Задача этой книги - дать краткое и четкое изложение языка C++ в соответствии со стандартом ISO/IEC 14882. Она предназначена для студентов, изучающих язык «с нуля», но будет полезна и более искушенным в программировании. Цель, которая ставилась при написании книги - дать правильное представление о возможностях языка C++ и способах их применения, толчок к дальнейшему изучению этого и других языков программирования и ключ к пониманию современных объектно-ориентированных технологий.
Контрольные задания по ключевым темам представлены в 20 вариантах, и автор надеется, что преподаватели оценят проявленную о них заботу.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. 2003 год. 240 стр. djvu. 3.2 Мб.
Практикум предназначен для студентов, изучающих язык C++ на семинарах или самостоятельно. Он является дополнением к учебнику Т.А. Павловской: C/C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

К. Поляков. Прграммирование на языке СИ. 2002 год. 4 главы в отдельных файлах PDF. Размер архива 2.7 Мб.
Глава I. Введение в программирование. Глава II. Хранение и обработка данных. Глава III. Разработка программ. Глава IV. Динамические структуры данных.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Подкур М.Л. Подкур П.Н. Смоленцев Н.К. Проrраммирование в среде Borland с++ Builder с математическими библиотеками MAТLAВ С/С++. 2006 год. 498 стр. djvu. 8.9 Мб.
Данная книrа посвящена изложению вопросов COBMeCTHoro использования боrатой библиотеки визуальных компонент Borland С++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB@. Книrа coдepжит основы проrраммирования в Borland С++ Builder и на MATLAB, описание математических библиотек MATLAB дЛЯ CjC++ и компиляторов MATLAB (включая последнюю версию). Рассматриваются примеры проrрамм на Borland С++ Builder, которые используют математические библиотеки MATLAB. Хотя книr по основам системы MATLAB и по проrраммированию на CjC++ и на Borland С++ Builder достаточно мнoro, в настоящее время нет ни одной книrи, в которой были бы изложены вопросы cовместного использования MATLAB и C/C++ и Borland С++ Builder.
Книrа предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике (математическая подrотовка читателя предполаrается в пределах техническоrо вуза), профессиональным проrpаммистам С ++, которые сталкиваются с проблемами реализации математических алrоритмов на С++, и МАТLAВ проrраммистам, которые хотят использовать rибкость языка С++ и боrатую библиотеку визуальных компонент Borland С++ Builder для реализации алrоритмов МА ТLЛВ в виде законченных и независимых от MATLAB приложений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Прата Стивен. Яык программирования С++. Лекции и упражнения. Учебник. 2005 год. 1100 стр. djvu. 30 Мб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Peкс Жeшкe. TOЛKOBblЙ CIЛOBАРb CTАHДАРTЩ8 Я3blKА CИ. 225 стр. DJVU. 5.2 Мб.
Словарь является лоцманом в море имен и терминов, используемых при работе на языке СИ: американской (ANSI C) и международной (ISO C). Книга рассчитана на прграммистов всех уровней владения языком СИ.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Саттер, Герб. Новые сложные задачи на C++. 2005 год. 272 стр. 2.2 Мб.
Данная книга представляет собой продолжение вышедшей ранее книги Решение сложных задач на C++. В форме задач и их решений рассматриваются современные методы проектирования и программирования на C++. В книге сконцентрирован богатый многолетний опыт программирования на C++ не только самого автора, но и всего сообщества программистов на C++, так что некоторые рекомендации автора могут показаться неожиданными даже опытным программистам-профессионалам. Автор рассматривает и конкретные методики, приемы и идиомы программирования, однако основная тема книги - это стиль программирования, причем в самом широком понимании этого слова. Особое внимание во всех задачах книги уделено вопросу проектирования, которое должно обеспечить максимальную надежность, безопасность, производительность и сопровождаемость создаваемого программного обеспечения.
Книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Слабженников С.Н. Программирование на языке С++. Учебнтмк. 2004-2008 год. 3 файла PDF в одном архиве 880 Кб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стефенс, Диггинс, Турканис, Когсуэлл. С++. Сборник рецептов. 2007 год. 624 стр, djvu. 11.6 Мб.
В этой книге рассматриваются следующие темы:
работа с числами; работа с датой и временем; потоковый ввод/вывод; обработка исключений; работа с классами и объектами; сборка приложений; синтаксический анализ XML-документов; обработка строк и текста; многопоточная обработка; алгоритмы и контейнеры стандартной библиотеки; программирование математических задач; интернационализация; система Boost.Build.
В книге даны реальные решения, отражающие современные методы программирования на C++. Основное внимание уделяется производительности и переносимости с учетом официальных и специальных стандартов. Во многих решениях используются преимущества стандартной библиотеки C++. Авторами также рассматриваются библиотеки Boost, в которых отражены некоторые из самых передовых идей в мире C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стивенс. ТЕХНИКА ПРОГРАММИРОВАНИЯ НА ТУРБО СИ. txt в RAR архиве, 135 Кб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Страуструп. Дизайн и эволюция С++. Книга написана создателем языка С++. 2006 год. 440 стр. djvu.
2.9 Мб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Страуструп. Язык программирования С++. 2-ое доп. изд. doc в RAR архиве. 430 Кб.
Мне больше нравится этот файл в формате PDF. 2.6 Мб.
Книга от создателя самого популярного языка программирования.
Превосходный учебник по C++, который должен стоять на полке у каждого уважающего себя разработчика C++. Автор рассказывает в своей книге об основах языка, акцентируя свое внимание прежде всего на объектной ориентированности C++.
Из книги читатель узнает о том:
1. Каковы основные принципы объектно-ориентированного программирования и как они реализованы в C++ . 2. Как происходит поддержка абстракции данных. 3. Что такое классы и объекты. 4. Для чего применяются виртуальные функции 5. Что такое шаблоны типов и шаблоны классов 5. Как происходит обработка ошибок 7. С помощью каких средств осуществляется ввод/вывод данных 8. Каковы этапы процесса объектно-ориентированного проектирования 9. Как проектировать библиотеки. И многое другое.
Книга будет безусловно полезна абсолютно всем, кто интересуется объектно-ориентированным программированием и в частности языком C++.

. . . . . . . Скачать doc. . . . . . . . . . . . . . . . Скачать PDF.

Седжвик. Фундаментальные алгоритмы на С++. Принстон, 3-е изд. 15.4 Мб. 690 стр. djvu

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Тихомиров Ю.И. Самоучитель MFC. 2000 год. 628 стр, PDF. 20.5 Мб.
Библиотека MFC - мощный и гибкий инструмент разработки Windows - приложений на базе языка Visual C++. Книга содержит подробную информацию об основных классах библиотеки и их компонентах. Рассмотрены принципы создания одно- и многодокументных приложений, все типы окон, элементы управления и работа с базами данных. Практические примеры помогут усвоить теоретический материал и одновременно освоить современный стиль программирования.
В приложении излагаются основы языка C++, что позволяет рекомендовать книгу не только подготовленным программистам, желающим познакомиться с библиотекой MFC, но и новичкам.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Тан, Стиб, Харди. Символьный С++. Введение в компьютерную алгебру с использованием объектно-ориентированного программирования. Пер. со 2-го англ. изд. 2001 год. 622 стр, djvu. 5.2 Мб.
В книге представлен подход к разработке новой системы компьютерной алгебры, основанной на объектно-ориентированном программировании. В первых вводных главах излагаются требования пользователя к таким системам, описан необходимый математический аппарат, лежащий в основе разработки системы, дан обзор наиболее популярных из существующих систем (REDUCE, MAPLE, AXIOM, MATHEMATICA, MuPAD). Далее обсуждаются основные понятия объектно-ориентированного программирования, языки Java, Eiffel, Smalltalk, Лисп и Оберон, излагаются средства языка C++, вводится новая система компьютерной алгебры SymbolicC++. Приводятся примеры применения системы к задачам математики и физики (нумерация Гёделя, аппроксимация Паде, техника рядов Ли, метод Пикара, фрактальное множество Мандельброта и др.). В книгу включены листинги всех компонентов системы, что позволяет пользователям развивать и наращивать систему в соответствии со своими потребностями. Для студентов и аспирантов вузов в качестве учебного пособия, для специалистов по компьютерной алгебре как справочное пособие, а также для непрофессионалов, желающих расширить свои познания в возможностях вычислительной техники.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Фленов М.Е. DirectX и С++. 2006 год. 195 стр. djvu. 5.8 Мб.
Рассмотрено программирование графических эффектов на языке C++ с использованием популярной библиотеки DirectX. На занимательных практических примерах показано, как создавать различные визуальные эффекты (реалистичный огонь, электрические разряды, зеркала и др.), используемые при разработке демонстрационных роликов (Demoscene). Пошагово описано применение основных методов и интерфейсов DirectX. Показано, как написать оптимальный и эффективный программный код. Большое внимание уделено технологии использования вершинных и пиксельных шейдеров для создания реалистичных изображений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Холзнер С. Visual C++ 6. Учебный курс. 2007 год. 575 cтр. DjVu. 16.2 Мб.
Популярная серия "Шаг за шагом" предназначена для тех, кто осваивает новые программные продукты на курсах или самостоятельно. Изучив данную книгу, вы пройдете основной курс программирования на Microsoft Visual Basic 6.0. Секрет, как стать профессиональным разработчиком программ на Visuall Basic, состоит в том, чтобы писать программы, требующие от вас применения самых разнообразных возможностей Visual Basic. Среди них: доскональное знание и способность на практике применять стандартные средства управления панели инструментов и компоненты ActiveX; умение правильно устанавливать и манипулировать свойствами, функциями и событиями объекта; способность писать ясный и четкий программный код с возможностью повторного использования некоторых сегментов программы в дальнейшем; умение создавать наглядный и эффективный интерфейс пользователя. В каждом из уроков данного курса внимание читателя акцентируется именно на этих принципах программирования. Вы обнаруживаете, что сможете немедленно применить полученные вами навыки и знания, изучив содержащиеся в этой книге примеры, при создании более сложных приложений на Visual Basic для выполнения реальных практических задач.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Хаймен, Арнсон. Visual C++ .NET для "чайников". Итак, вы решили серьезно взяться за Visual C++ .NET. Это хорошая идея, ведь вы в действительности убиваете сразу трех зайцев: в ваших руках оказывается мощный, полезный и широко распространенный инструмент. С языком С++ можно сделать очень многое. С его помощью созданы такие продукты, как Excel и Access. Этот язык также применяется при разработке управленческих информационных систем и систем целевого назначения, используемых для анализа деятельности предприятий и принятия решений в сфере управления бизнесом. И, конечно же, целые армии хакеров и не только хакеров используют C++ для создания инструментов, утилит, игр и шедевров мультимедиа. Знания, которые вы получите, изучив язык C++ .NET. позволят создавать не просто приложения, а приложения, работающие в разных операционных системах. Возможности этого языка практически не ограничены, и вы сами в этом убедитесь, прочитав эту книгу. Книга предназначена для начинающих программистов. 3.0 Мб. 280 стр. PDF.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Макс Шлее. Профессиональное программирование на C++. 3-изд. 2009 год. 863 стр. djvu. 25.1 Мб.
Лучшая книга для начального изучения кроссплатформенной библиотеки Qt для C++. Если до этого с Qt не работали, другие варианты даже не рассматривайте. Макс Шлее очень подробно и наглядно описал в книге использование всех основных классов библиотеки.
Стоит отметить, что данная книга значительно отличается от аналогичной книги по Qt3: много информации обновлено и добавлено. Появились даже новые разделы, а в некоторых задачах программирования,например, графики с переходом от Qt3 к Qt4 появились намного более новые и лучшие подходы решения данных задач, что привело к появлению соверешенно новых классов (старые подобные классы теперь морально устарели, но оставлены, что бы избавиться от проблем совместимости конечно же, но в книге уже не рассмотрены) и полному пересмотру некоторых разделов книги! То-есть делайте вывод: книга по QT3 уже явно устарела и даже лучше её не открывать, а сразу перейти на эту... а то ещё и переучиваться придётся...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Г. Шилдт. C++. Руководство для начинающих. 2005 год. 669 стр. djvu. 18.1 Мб.
В книге описаны основные средства языка С++, которые необходимо освоить начинающему программисту. После рассмотрения элементарных понятий (переменных, операторов, инструкций управления, функций, классов и объектов) читатель легко перейдет к изучению таких более сложных тем, как перегрузка операторов, механизм обработки исключительных ситуаций (исключений), наследование, полиморфизм, виртуальные функции, средства ввода-вывода и шаблоны.Автор книги общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в свою книгу множество тестов для самоконтроля, которые позволяют быстро проверить степень освоения материала, а также разделы "вопросов и ответов", способствующие более глубокому изучения основ программирования даже на начальном этапе.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Ю.А. Щупак. Win32 API. Эффективная разработка приложений. 2007 год. 573 стр. djvu. 22.5 Мб.
В этой книге изложены основополагающие принципы программирования для Windows на языке C/C++ с применением Win32 API. Книга ориентирована на широкий круг читателей: от начинающих программистов, студентов вузов, аспирантов и преподавателей до профессионалов в области программирования, желающих освоить специальные средства Win32 API. Практика показывает, что те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьёзными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней.
Владение базовыми знаниями Win32 API является надёжной основой для вашего профессионального роста в сфере программирования.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Элджер. С++, библиотека программиста. Книга предпологает, что вы уже пару лет занимаетесь прогрммированием и себя перестали называть просто программист, а добавляете старший, ведущий и так далее. Если вы узнали себя, то эта книга для вас. 1.9 Мб. 260 стр. PDF.