Пограитрование по c для начинающих. Обучение программированию с нуля – пошаговое руководство для начинающих


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

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

Что нужно знать «чайнику»

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

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

Многие начинающие обучение считают написание кода чуть ли не самой романтической профессией. Особенно увеличилось количество желающих познать программирование после просмотра фильма «Матрица ». Именно главный герой этой картины Нео подтолкнул многих к становлению на путь постижения программных наук:

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

После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.

Программирования как отдельной отрасли и специализации не существовало как таковой. Его основы преподавались лишь как привязка к другим инженерным дисциплинам. И даже те крохи знаний, которые давались студентам в этой области, не соответствовали современным стандартам и утратили свою актуальность еще 20-30 лет назад.

В странах бывшего СССР основным языком программирования, преподаваемым в технических ВУЗах, был Бейсик.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:


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

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

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

С какого языка начать изучать программирование

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

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

Чаще всего выбор падает на язык программирования C (си) . Именно с него большинство новичков во всем мире начинают свое обучение. На основе C было создана основная часть программных языков, и во многом они наследуют его структуру и синтаксис.

Изучая C, вы постигаете основы не одного языка программирования, а сразу нескольких.


Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

  • Простая для понимания основа – часть встроенных возможностей языка для простоты вынесена в отдельно подключаемые библиотеки. К таким элементам относится большая часть математических функций и методов для работы с файловой системой;
  • Оптимально подогнанная система типов – благодаря простому набору типов данных и строгой типизации уменьшается риск допущения ошибок в процессе написания программного кода;
  • Направленность C на процедурный тип программирования, при котором соблюдается четкая иерархия всех элементов кода;
  • Доступ к памяти машины с помощью указателей;
  • Минимальное количество поддерживаемых ключевых слов;
  • Поддержка области действия имен;
  • Поддержка пользовательских типов данных (объединения и структуры ).

Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.

Программы (компиляторы) для программирования

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

Компилятор – специальная программа, переводящая программный код в форму, понятную для компьютера.

Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:


  • Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:


  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:


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

Да и в интернете можно найти очень много информации. Например, на нашем сайте специализированной литературе по IT тематике посвящен целый .

Тенденции на рынке программирования

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

  • Веб-программирование – здесь понадобятся знания PHP , CSS и HTML ;
  • Разработка приложений под мобильную операционную систему Android – данная платформа построена на основе Java . Поэтому потребуется знание основ этого языка;
  • C# (си sharp) – дальний потомок C . На основе C# построена веб-технология ASP.net от Microsoft .


И последний совет всем начинающим. Перед тем, как приступить к обучению программированию с нуля, следует запастить терпением. А также: таблетками от головной боли, кофе, чаем и побрить череп наголо. Потому что во время постижения программных наук, обучающиеся часто вырывают волосы со своей головы вместе с корнем. Удачного старта!

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

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

Установка /IDE

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

Введение в язык C++

Язык C++ представляет собой набор команд, которые говорят компьютеру, что необходимо сделать. Этот набор команд, обычно называется исходный код или просто код. Командами являются или «функции» или «ключевые слова». Ключевые слова(зарезервированные слова С/С++) являются основными строительными блоками языка. Функции являются сложными строительными блоками, так как записаны они в терминах более простых функций — вы это увидите в нашей самой первой программе, которая показана ниже. Такая структура функций напоминает содержание книги. Содержание может показывать главы книги, каждая глава в книге может иметь своё собственное содержание, состоящее из пунктов, каждый пункт может иметь свои подпункты. Хотя C++ предоставляет много общих функций и зарезервированных слов, которые вы можете использовать, все-таки возникает потребность в написании своих собственных функций.

В какой же части программы начало? Каждая программа в C++ имеет одну функцию, её называют главная или main-функция, выполнение программы начинается именно с этой функции. Из главной функции, вы также можете вызывать любые другие функции, неважно, являются ли они написанными нами, или, как упоминалось ранее, предоставляются компилятором.

Так как же получить доступ к этим Стандартным функциям? Чтобы получить доступ к стандартным функциям, которые поставляются с компилятором, необходимо подключить заголовочный файл используя препроцессорную директиву — #include . Почему это эффективно? Давайте посмотрим на примере рабочей программы:

#include << "Моя первая программа на С++\n"; cin.get(); }

Рассмотрим подробно элементы программы. #include это директива «препроцессору», которая сообщает компилятору поместить код из заголовочного файла iostream в нашу программу перед тем как создать исполняемый файл. Подключив к программе заголовочный файл вы получаете доступ к множеству различных функций, которые можете использовать в своей программе. Например, оператору сout требуется iostream . Строка using namespace std; сообщает компилятору, что нужно использовать группу функций, которые являются частью стандартной библиотеки std . В том числе эта строка позволяет программе использовать операторы, такие как cout . Точка с запятой является частью синтаксиса C++. Она сообщает компилятору, что это конец команды. Чуть позже вы увидите, что точка с запятой используется для завершения большинства команд в C++.

Следующая важная строка программы int main() . Эта строка сообщает компилятору, что есть функция с именем main , и что функция возвращает целое число типа int . Фигурные скобки { и } сигнализируют о начале { и конце } функции. Фигурные скобки используются и в других блоках кода, но обозначают всегда одно — начало и конец блока, соответственно.

В C++ объект cout используется для отображения текста (произносится как «Cи аут»). Он использует символы << , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Следующая команда cin.get() . Это еще один вызов функции, которая считывает данные из входного потока данных и ожидает нажатия клавиши ENTER. Эта команда сохраняет консольное окно от закрытия, до тех пор пока не будет нажата клавиша ENTER. Это даёт вам время для того, чтобы посмотреть результат выполнения программы.

По достижении конца главной функции (закрывающая фигурная скобка), наша программа вернёт значение 0 для операционной системы. Это возвращаемое значение является важным, поскольку, проанализировав его, ОС может судить о том, успешно завершилась наша программа или нет. Возвращаемое значение 0 означает успех и возвращается автоматически (но только для типа данных int , другие функции, требуют вручную возвращать значение), но если бы мы хотели вернуть что-то другое, например 1, мы должны были бы сделать это вручную.

#include using namespace std; int main() { cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Для закрепления материала, наберите код программы в своей IDE и запустите его. После того, как программа запустилась, и вы увидели результат работы, поэкспериментируйте немного с оператором cout . Это поможет вам привыкнуть к языку.

Обязательно комментируйте свои программы!

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

Что делать со всеми этими типами переменных?

Иногда это может сбить с толку — иметь несколько типов переменных, когда кажется, что некоторые типы переменных являются избыточными. Очень важно использовать правильный тип переменной, так как некоторым переменным, требуется больше памяти, чем другим. Кроме того, из-за способа хранения в памяти, числа с плавающей точкой, типы данных float и double являются «неточным», и не должны использоваться, когда необходимо сохранить точное целое значение.

Объявление переменных в C++

Чтобы объявить переменную используется синтаксис тип <имя>; . Вот некоторые примеры объявления переменных:

Int num; char character; float num_float;

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

Int x, y, z, d;

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

Распространенные ошибки при объявлении переменных в C++

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

Использование переменных

Итак, теперь вы знаете, как объявить переменную. Вот пример программы, демонстрирующий использование переменной:

#include using namespace std; int main() { int number; cout << "Введите число: "; cin >> number; cin.ignore(); cout << "Вы ввели: "<< number <<"\n"; cin.get(); }

Давайте рассмотрим эту программу и изучим её код, строку за строкой. Ключевое слово int говорит о том, что number — целое число. Функция cin >> считывает значение в number , пользователь должен нажать ввод после введенного числа. cin.ignore () — функция, которая считывает символ и игнорирует его. Мы организовали свой ввод в программу, после ввода числа, мы нажимаем клавишу ENTER, символ который также передаётся в поток ввода. Нам это не нужно, поэтому мы его отбрасываем. Имейте в виду, что переменная была объявлена целого типа, если пользователь попытается ввести десятичное число, то оно будет обрезано (то есть десятичная часть числа будет игнорироваться). Попробуйте ввести десятичное число или последовательность символов, когда вы запустите пример программы, ответ будет зависеть от входного значения.

Обратите внимание, что при печати из переменной кавычки не используются. Отсутствие кавычек сообщает компилятору , что есть переменная, и, следовательно, о том, что программа должна проверять значение переменной для того, чтобы заменить имя переменной на её значение при выполнении. Несколько операторов сдвига в одной строке вполне приемлемо и вывод будет выполняться в том же порядке. Вы должны разделять строковые литералы (строки, заключенные в кавычки) и переменные, давая каждому свой оператор сдвига << . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Изменение и сравнение величин

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

  • * умножение,
  • - вычитание,
  • + сложение,
  • / деление,
  • = присвоение,
  • == равенство,
  • > больше,
  • < меньше.
  • != неравно
  • >= больше или равно
  • <= меньше или равно

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

Вот несколько примеров:

A = 4 * 6; // использование строчного комментария и точки с запятой, a равно 24 a = a + 5; // равно сумме исходного значения и пяти a == 5 // не присваивается пять, выполняется проверка, а равно 5 или нет

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

A < 5 // Проверка, a менее пяти? a > 5 // Проверка, a больше пяти? a == 5 // Проверка, a равно пяти? a != 5 // Проверка, а неравно пяти? a >= 5 // Проверка, a больше или равно пяти? a <= 5 // Проверка, a меньше или равно пяти?

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

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

Интерактивная онлайн-платформа для обучения 12 языкам программирования: Python, PHP, JavaScript, Ruby, Java и др., а также работе с библиотекой jQuery и языкам разметки и оформления веб-страницы HTML и CSS.

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

Обучающий стриминговый сервис LiveEdu.tv предлагает вам уникальные туториалы для изучения программирования. Что же такого особенного в LiveEdu.tv? Уроки интерактивны, в режиме реального времени вы видите написание проекта и можете коммуницировать с преподавателем в чате, также доступны записи стримов.

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

На сайте недавно запустили русскоязычный премиум раздел, где вы можете найти различные обучающие проекты, например: “Серверная реализация мессенджера” , “Как написать укорачиватель ссылок на Node.js” . Благодаря огромной базе обучающих видео и проектов, сайт подойдет как новичкам так и опытным специалистам. А стать преподавателем и создать свой собственный обучающий проект здесь может любой специалист, который соответствует требованиям .

Сервис для изучения программирования, а именно Full-stack разработки на JavaScript. Обучение построено по принципу самообразования от простого к сложному. Сначала дается основа, а затем дают задание, которое выходит за рамки изученного и нужно решить его самостоятельно.

Все начинается с HTML, CSS, Bootstrap и продолжается заданиями по базовым функциям JS, задачами на алгоритмы, front-end проектами. Планируется к запуску раздел про React. Для общения есть чат в Gitter.

Этот сайт предоставляет упражнения по программированию, а в частности, на: C #, C ++, Haskell, JavaScript, Lua, Objective-C, Perl 5, Python, Ruby и Scala.

Идея проста:

  • Вы загружаете упражнение на языке по вашему выбору (упомянутого выше) с клиентским приложением exercism.io
  • Добавляете решение на сайт.
  • Программисты со всего мира будут комментировать то, что вы сделали.
  • Вы улучшаете свой код.
Благодаря этому методу обучения, когда вы, как новичок в программировании, получите обратную связь от экспертов, можно избежать застревания на тренировках, если вам не удалось найти правильное решение. Это также помогает застенчивым людям или тем, кто не решается задать вопросы, так как нет никакого способа двигаться дальше. Katrona Owen, создатель Exercism.io, заметил, что этот тип обучения поможет ученикам в Jumpstart Labs в Денвере, штате Колорадо, завершить упражнения.

Pluralsight - один из лидеров в разработке интерактивных учебных курсов для профессиональных разработчиков. Pluralsight предлагает подписки для частных лиц и компаний стоимостью от 29 долларов США в месяц. На сайте доступны следующие категории: IT Ops, Software Development, Data Professional, Architecture and Construction, Manufacturing and Design, Business Professional, Information and Cyber Security.

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

Также доступны программы Nanodegree Plus. Суть такова, что Udacity гарантирует трудоустройство в течении 6 месяцев после выпуска или возвращает вам деньги. Стоит обучение 299$/мес. Большое преимущество - code review, причем, весьма детальные. Также в программу входят: помощь в подготовке резюме, аккаунтов в гитхабе и линкедин, тестовые собеседования (с живыми людьми).

Code School использует для обучения скринкасты и видеоуроки рассказывающие о HTML/CSS, JavaScript, Ruby, Python, .NET, iOS, Git и другим языкам, подавая материал через интересные истории. Большая часть контента рассчитана на продвинутых программистов, но новичкам доступны бесплатные курсы об основах программирования.

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

Udemy - это платформа для обучения, где вы можете быть как учеником так и преподавателем. Udemy предлагает большое количество курсов по таким прикладным направлениям как дизайн, программирование, веб-разработка. Среди преподавателей можно встретить Марка Цукерберга и других гигантов IT-индустрии. Цена курсов на Udemy от 10$ до 200$, есть также бесплатные.

Lynda.com – ветеран индустрии онлайн-образования. Lynda.com - это сервис платного онлайн-обучения преимущественно в направлении IT и дизайн. Сервис основан в 1995-м году и в 2015-м был куплен Linkedin.

Lynda работает по подписке. Хотя часть курсов доступны бесплатно, основная доля доступна только после оформления подписки стоимостью от $19/месяц. После оплаты пользователь получает неограниченный доступ к любым курсам в базе данных Lynda. Для ознакомления с функционалом Lynda предлагается 10-ти дневная trial-версия, с полным доступом ко всей библиотеке.

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

Разнообразные задачи, достижения, тесты, просмотр наиболее лучших решений, обсуждения, ранги - все это делает сервис очень удобным и ценным для тех кто хочет порешать задачки на том или ином языке. Сейчас сервис поддерживает следующие языки: Clojure, C++, C#, Elixir, F#, Go, Haskell, Java, JavaScript, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript.

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

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

Продолжительность курсов примерно от шести до десяти недель с 1-2 часами видеолекций в неделю, курсы содержат задания, еженедельные упражнения и иногда заключительный проект или экзамен. За $40 вы можете получить сертификат от вуза, в котором прошли курс. На Coursera примерно 700 курсов в различных сферах деятельности.

Code Avengers предоставляет возможность обучаться в интерактивной и игровой форме основам HTML5, CSS3, JavaScript прямо в браузере. В ходе обучения вы сможете обучиться основам программирования и вёрстки шаг за шагом, выполняя небольшие задания.

На бесплатном аккаунте можно изучить 5 первых уроков каждого из курсов.Некоторые курсы доступны на русском языке (на текущий момент переведены HTML/CSS / JavaScript / Game Dev / Intro to Coding)

Сайт создан StackOverflow разработчиком. Ресурс представляет собой тур по лучшим руководствам в интернете, туда входят интерактивные занятия, видео и материалы для чтения. Bento бесплатен и подает материал в абсолютно логичной последовательности.

Bloc помогает освоить профессии UI/UX-дизайнера и разработчика, с тем, чтобы создавать «современные адаптивные веб-сайты и мобильные приложения». У сервиса не совсем обычная система оплаты: за фиксированную сумму в 3 999 долларов можно выбрать один из трех вариантов нагрузки - 3 месяца по 40 часов в неделю, 4,5 месяца по 25–30 часов и 9 месяцев по 12–15 часов. Так обучение можно совместить с учебой в другом месте или даже работой.

CheckIO - ресурс для изучения и практики языка программирования Python. Обучение представлено в виде игры, в которой каждому пользователю необходимо в той или иной мере использовать свои знания. Например, первый этап обучения «Learning» - это цепочка задач от легкой к сложной. Причем, в описании самой задачи есть все справочные данные для ее решения.

Codingame.com - сервис для изучения различных языков программирования в игровой форме. В каждом случае от игрока требуется решить определенную проблему или исправить чужой код.

Изюминка нашего списка Codebabes.com. Все видеоуроки на этом интернет-ресурсе ведут молодые девушки. Специфика таких уроков в том, что по мере того, что материал усложняется, девушки… раздеваются. В каждом разделе предусмотрено нескольких видеороликов для обучения. На видео девушка, которая ведет курс, на протяжении нескольких минут объясняет пользователю одну из тем какого-либо блока.

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

MIT OpenCourseWare - это специальный ресурс Массачусетского технологического института, на котором собраны многие обучающие курсы, лекции и семинары. OpenCourseWare содержит материалы более чем 2 000 курсов. На сайте есть аудио и видеокурсы, поиск по каталогу, по номеру курса, по наименованию дисциплины, все предметы и степень сложности разделены в отдельные рубрики.

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

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

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

Подробное изучение CSS при помощи большого альманаха по CSS. Сейчас блог охватывает много тем, помимо CSS – например, Sass, JavaScript, PHP и прочее. Вы можете ознакомиться с огромным количеством ресурсов и даже с фрагментами кода.

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

Code4startup.com - обучение разным языкам программирования и фреймворкам на примерах успешных стартапов. Например, Code4Startup предлагает изучить AngularJS и FireBase создавая клон TaskRabbit, а HTML 5, CSS и jQuery копируя Airbnb (потом можно будет создать и гибридное мобильное приложение для сервиса).

Русскоязычные сайты для изучения программирования:

Это интерактивные онлайн-курсы по HTML и CSS, которые помогут вам пройти путь от решения простых практических задач, до создания полноценных сайтов. Практике здесь уделяется большое внимание, каждый новый материал подкрепляется примерами и контрольными заданиями, которые вам придется решить для перехода к следующему уроку.

Hexlet - это открытая веб-платформа для обучения программированию, предлагающая короткие курсы длительностью в несколько часов для разработчиков программ, от новичков до профессионалов. Все учебные программы состоят из двух частей: теоретической и практической.

LendWings – эта платформа предлагает видеолекции лучших преподавателей со всего мира на русском языке, но не все курсы бесплатны. LendWings позволяет пользователям подключаться к обучающим курсам независимых преподавателей («инструкторов»), которые предоставляют обучение при помощи записанных видеолекций, текстовых документов, слайдов, презентаций и других материалов.

Это онлайновая школа обучения программированию, системному администрированию, дизайну и интернет-маркетингу. Каждый курс GeekBrains имеет подробную программу и отзывы. Занятия охватывают почти все отрасли разработки и готовят к конкретной работе в той или иной области IT. Для студентов, также доступны программы стажировок и сертификации.

JavaRush обучает программированию на Java в форме онлайн-игры. Игра сделана по мотивам вселенной Футурамы. Цель игры - прокачать персонажа (робота Амиго) с 1 до 80-го уровня. В игре вы выполняете задания и зарабатываете черную материю, которую тратите на открытие новых уровней. Курс JavaRush содержит 1200 практических задач возрастающей сложности.

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

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

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.

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

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

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

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

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

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

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

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

Типы данных

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

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

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

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

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

Функции

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

ООП

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

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

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

Завершают тему объектно-ориентированного программирования в C++ концепции







2024 © gtavrl.ru.