Курс изучения c. Зачем и как эффективно учить язык программирования Си: исчерпывающая подборка ресурсов для освоения

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

С чего начать

Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый - родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант - модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант - хобби, которое переросло в работу.

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование . Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно , и приложений , которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет . Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор . Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о , где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы . Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий . Конечная цель этого пути - найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения . Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса . Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли - разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки , стили и , который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.

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

Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.

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

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или . Не стесняйтесь задавать там вопросы.

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

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

Почему стоит выбрать Python

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

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python - язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP - ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby - хороший выбор в качестве второго языка, но не первого. JavaScript - очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что - зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста - уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

1 голос

Здравствуйте, дорогие читатели!

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

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

Всем ли дано

Как-то Вуди Аллен сказал, что большая часть жизни – это показуха. Все хотят написать книгу, сценарий (программу), но дальше желаний мало у кого доходит, а зря. Если вы начали, вы на полпути к завершению. И не нужно откладывать начало на завтра, на следующий месяц либо на понедельник и искать причины не реализовать идею прямо сейчас.

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

Правильный старт – полдела

На вопрос том, что нужно для того, чтобы обучиться программированию с нуля и потом этим зарабатывать, гуру отвечают: «Усвоение основ, которые впоследствии встречаются в работы повсеместно». Это:

  • алгоритм;
  • функция;
  • цикл;
  • условие.

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

С какого языка начать

В большинстве технических вузов обучение начинают с немного устаревших языков. Это могут быть Turbo Pascal и Turbo C. Сами программисты их сейчас практически не используют, но цель обучения эти языки оправдывают. Они помогают студентам разобраться с тонкостями работы с оперативной памятью и помогают постичь, какой путь требуется пройти, чтобы преобразовать замысел в работающую программу.

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

Если же интересуют перспективные языки программирования, обратите внимание на:

  • Python. К слову, с него многие начинающие программисты и начинают. Секрет его популярности – не в обширном функционале, а в возможности быстро приступить к практике. Чтобы начать работу, достаточно скачать файл и его запустить. Разобраться в тонкостях работы также несложно: есть масса книг, написанных под Python. Кстати, этот язык используется во многих крупных компаниях, и те, кто хорошо в нем разбираются, всегда могут найти работу.
  • Java. Очень популярный, применяется на всех устройствах и платформах. Специалисты, которые освоили его, востребованы и всегда смогут найти высокооплачиваемую должность. К слову, он не имеет ничего общего с JavaScript.
  • PHP. . Его называют «не совсем настоящим» языком программирования, так как он заточен исключительно под веб, в то же время его редко применяют в веб-приложениях. Язык лежит в основе самых популярных «движков», или CMS. (В этой публикации я уже писал о том, что , а здесь вы можете увидеть, ) Поэтому, если вы разберетесь с ним, а затем и с WordPress, которая является одной из самых популярных систем управления сайтами, работу себе вы всегда найдете. .

Есть и другие языки: Ruby (как и Python скриптовый), С# (по функционалу похож на Java, позволяет создавать сайты и приложения на фреймворке.NET), С++ (сложная версия С, которая открывает массу возможностей, разбираться с которыми лучше с наставником).

Как изучать

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

Самообразование

В этом случае в свободное время нужно будет читать книги, например:

  • «Изучаем РНР и MySQL» Л. Бейли и М. Моррисон;
  • «Простой Python. Современный стиль программирования » Б. Любанович и др.

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

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

Помощь ментора

Ментор – это опытный программист, который направит вас на путь истинный. Он и литературу посоветует, и код проверит, и задания на отработку практических навыков подкинет. Главное, его отыскать. Где? На форумах, онлайн-конференциях. Причем, отыскать и заинтересовать работать с вами.

Тренинги

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


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

Куда податься

С чего начать обучение? С выбора направления, которое подскажет и выбор языка. Есть:

  • Веб-программирование – перспективная и быстроразвивающаяся область, для работы с которой нужен только компьютер и браузер. Позволяет создавать и поддерживать сайты. Освоив его, вы приобретете специальность, благодаря которой сможете хорошо зарабатывать. Хотите быть веб-программистом? Учите PHP.
  • Разработка программ и приложений. Сложное, но интересное направление, разобраться в котором без знания основ практически невозможно. Выбор языка зависит от сферы: мобильные, под Android () или другую платформу. Java подойдет.
  • Системное администрирование. Здесь все просто: нужно настраивать программы ранее кем-то созданные. В этом направление важно разностороннее развитие.

Путь к успеху во всех случаях лежит через умение совершенствоваться и саморазвиваться.

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

1. Самостоятельно

Если вы обладаете железной силой воли и горите желанием стать программистом, то можете добиться своей цели с помощью самообразования. Это не самый простой и короткий путь: вам придётся самому разбираться в информационном хаосе и бороться с прокрастинацией. Зато вы можете учиться в удобное время за относительно небольшие деньги или же совсем бесплатно.

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

Платформа с бесплатными курсами по веб-разработке freeCodeCamp

Запомните, что у вас ничего не получится без практики. Учитесь по проектно-ориентированным курсам и пытайтесь сами писать разобранные в них программы и сайты. Ищите лекции на YouTube с разбором проектов, которые вы бы хотели разрабатывать. Сначала копируйте работу других людей и анализируйте её. Затем пробуйте отходить от оригинала, экспериментируйте, изменяйте отдельные элементы, пока не сможете создавать что-то уникальное.

Помимо курсов и видеолекций, к вашим услугам официальная документация, доступная на сайтах языков, и . Когда разберётесь в основах, поищите свежие издания с подзаголовком Best Practices по выбранному языку программирования. Такие книги содержат лучшие приёмы разработки.

Обязательно поставьте перед собой цель создать свой проект и постоянно работайте над ним.

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

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


Сервис вопросов и ответов на технологические темы «Тостер»

Оттачивать навыки удобно на специальных площадках, где можно посоревноваться с другими программистами, решая с помощью кода различные практические задачи. В числе таких сервисов - Codewars , TopCoder и HackerRank .

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

2. С помощью ментора

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

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

3. У преподавателей «живых» курсов

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

Популярные русскоязычные онлайн-площадки, которые занимаются системной подготовкой программистов: «Нетология », GeekBrains и Loftschool .

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

4. В университете

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

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

Как выбрать направление и язык

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

  1. Веб-разработка . Популярные языки: JavaScript, PHP, Python, Ruby.
  2. Мобильная разработка . Популярные языки: Java, Swift.
  3. Разработка игр и программ для настольных компьютеров . Популярные языки: C++, C#, C.
  4. Big Data, машинное обучение . Популярные языки: Python, R, Scala.

На что обратить внимание при выборе

Чтобы сделать правильный выбор направления и, в частности, языка, учитывайте следующие факторы: сложность освоения и количество обучающих материалов в Сети, ваши личные предпочтения (что именно хотите разрабатывать) и востребованность языка на рынке труда.


График востребованности языков на международном рынке труда / research.hackerrank.com

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

Если не можете определиться

Если вы в замешательстве, присмотритесь к JavaScript - языку, на котором написан почти весь веб. Многие организации и программисты советуют новичкам выбирать именно этот язык в качестве первого.

Например, основатель образовательного ресурса freeCodeCamp Квинси Ларсон JavaScript всем начинающим. Ларсон приводит очень простые аргументы:

  1. JavaScript относительно легко освоить. А чтобы написать что-то и запустить на этом языке, достаточно иметь редактор кода и браузер.
  2. JavaScript - самый востребованный язык на международном рынке труда и у него большие перспективы. В экосистему JavaScript инвестируют крупные компании вроде Google, Microsoft и Facebook.
  3. У JavaScript очень широкая сфера применения: от сайтов и браузерных игр до мобильных приложений.

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

Что ещё должен знать программист: математика и английский?

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

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

Как получить первый опыт и первую работу

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

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

  1. Выполните несколько заказов на . Это могут быть «Фрилансим » или Upwork . Предлагайте свои услуги бесплатно, тогда к вам придут первые заказчики.
  2. Найдите единомышленников и создайте с ними общий проект. Люди объединяются для таких целей почти на каждой образовательной площадке, где есть курсы по программированию.
  3. Выберите курсы, организатор которых помогает с трудоустройством. Например, в GeekBrains после обучения открывается доступ к стажировкам от разных компаний, в том числе - оплачиваемым. GeekUniversity и «ШАГ» гарантируют трудоустройство своим выпускникам.

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

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 Programming For Beginners - Master the C Language

Duration 22:23:08

C Programming For Beginners - Master the C Language - Полный список уроков

Развернуть / Свернуть
  • Урок 1. Welcome to Class! 00:12:23
  • Урок 2. Class Organization 00:05:54
  • Урок 3. Fundamentals of a Program 00:17:54
  • Урок 4. Overview 00:13:41
  • Урок 5. Language Features 00:12:10
  • Урок 6. Creating a C Program 00:16:28
  • Урок 7. Installing Code::Blocks 00:06:48
  • Урок 8. Exploring the Code::Blocks Environment 00:11:22
  • Урок 9. Creating a Project in Code::Blocks 00:05:11
  • Урок 10. Creating and running your first C Program 00:08:03
  • Урок 11. (Challenge) Writing a C program that displays your name 00:05:15
  • Урок 12. (Demonstration) Writing a C program that displays your name 00:04:17
  • Урок 13. Structure of a C Program 00:07:00
  • Урок 14. Comments 00:12:32
  • Урок 15. The preprocessor 00:05:01
  • Урок 16. The #include statement 00:12:12
  • Урок 17. Displaying Output 00:04:13
  • Урок 18. Reading input from the terminal 00:13:15
  • Урок 19. Overview 00:16:56
  • Урок 20. Basic Data Types 00:17:57
  • Урок 21. Enums and Chars 00:19:24
  • Урок 22. Format Specifiers 00:13:45
  • Урок 23. Command line arguments 00:11:17
  • Урок 24. (Challenge) Print the Area of a Rectangle 00:07:12
  • Урок 25. (Demonstration) Print the Area of a Rectangle 00:12:14
  • Урок 26. (Challenge) Create and use an enum type 00:03:35
  • Урок 27. (Demonstration) Create and use an enum type 00:08:53
  • Урок 28. Overview 00:08:39
  • Урок 29. Basic Operators 00:19:56
  • Урок 30. Bitwise Operators 00:18:42
  • Урок 31. The Cast and sizeof Operators 00:12:44
  • Урок 32. Operator Precedence 00:09:59
  • Урок 33. (Challenge) Convert minutes to years and days 00:03:52
  • Урок 34. (Demonstration) Convert minutes to years and days 00:11:12
  • Урок 35. (Challenge) Print the byte size of the basic data types 00:03:06
  • Урок 36. (Demonstration) Print the byte size of the basic data types 00:05:39
  • Урок 37. Overview 00:08:40
  • Урок 38. If Statements 00:21:33
  • Урок 39. Switch Statement 00:15:45
  • Урок 40. (Challenge) Determine amount of Pay 00:05:00
  • Урок 41. (Demonstration) Determine the amount of weekly Pay 00:18:18
  • Урок 42. For Loop 00:17:50
  • Урок 43. While and Do-While 00:13:05
  • Урок 44. Nested Loops and loop Control - Break and Continue 00:11:03
  • Урок 45. (Challenge) Guess the Number 00:07:24
  • Урок 46. (Demonstration) Guess the Number 00:17:49
  • Урок 47. Creating and using Arrays 00:18:37
  • Урок 48. Initialization 00:10:10
  • Урок 49. Multidimensional Arrays 00:12:45
  • Урок 50. Variable Length Arrays 00:04:25
  • Урок 51. (Challenge) Generate Prime Numbers 00:06:22
  • Урок 52. (Demonstration) Generate Prime Numbers 00:12:34
  • Урок 53. (Challenge) Create a simple Weather program 00:05:43
  • Урок 54. (Demonstration) Create a simple Weather Program 00:14:35
  • Урок 55. Basics 00:13:43
  • Урок 56. Defining Functions 00:14:59
  • Урок 57. Arguments and Parameters 00:10:41
  • Урок 58. Returning data from functions 00:13:18
  • Урок 59. Local and Global Variables 00:10:12
  • Урок 60. (Challenge) Write some functions! 00:04:50
  • Урок 61. (Demonstration) Write some functions! 00:21:09
  • Урок 62. (Challenge) Create a Tic Tac Toe Game 00:06:46
  • Урок 63. (Demonstration) Create a Tic Tac Toe Game 00:24:07
  • Урок 64. Overview 00:08:11
  • Урок 65. Defining a String 00:14:39
  • Урок 66. Constant Strings 00:07:42
  • Урок 67. Common String Functions 00:20:31
  • Урок 68. Searching, Tokenizing, and Analyzing Strings 00:20:08
  • Урок 69. Converting Strings 00:07:06
  • Урок 70. (Challenge) Understanding char arrays 00:03:33
  • Урок 71. (Demonstration) Understanding char arrays 00:15:28
  • Урок 72. (Challenge) Utilizing common string functions 00:02:13
  • Урок 73. (Demonstration) Utilizing common string functions 00:16:47
  • Урок 74. Overview 00:21:22
  • Урок 75. Understanding the call stack 00:06:14
  • Урок 76. Code Blocks Debugger 00:12:42
  • Урок 77. Common C Mistakes 00:13:54
  • Урок 78. Understanding Compiler Errors 00:11:32
  • Урок 79. Overview 00:11:22
  • Урок 80. Defining Pointers 00:07:46
  • Урок 81. Accessing Pointers 00:13:02
  • Урок 82. Using Pointers 00:20:15
  • Урок 83. Pointers and const 00:07:31
  • Урок 84. void pointers 00:03:20
  • Урок 85. Pointers and Arrays 00:07:21
  • Урок 86. Pointer Arithmetic 00:17:44
  • Урок 87. Pointers and Arrays Example 00:07:27
  • Урок 88. Pointers and Strings 00:08:51
  • Урок 89. Pass by reference 00:14:55
  • Урок 90. Dynamic Memory Allocation 00:07:47
  • Урок 91. malloc, calloc, and realloc 00:17:45
  • Урок 92. (Challenge) Pointer Basics 00:02:37
  • Урок 93. (Demonstration) Pointer Basics 00:07:15
  • Урок 94. (Challenge) Using Pointers as parameters 00:02:15
  • Урок 95. (Demonstration) Using Pointers as parameters 00:07:42
  • Урок 96. (Challenge) Counting characters in a String 00:03:50
  • Урок 97. (Demonstration) Counting characters in a string 00:09:31
  • Урок 98. (Challenge) Using Dynamic Memory 00:02:55
  • Урок 99. (Demonstration) Using Dynamic Memory 00:10:48
  • Урок 100. Creating and Using Structures 00:20:01
  • Урок 101. Structures and Arrays 00:11:19
  • Урок 102. Nested Structures 00:10:05
  • Урок 103. Structures and Pointers 00:20:48
  • Урок 104. Structures and Functions 00:11:28
  • Урок 105. (Challenge) Declaring and Initializing a structure 00:02:05
  • Урок 106. (Demonstration) Declaring and Initializing a structure 00:08:37
  • Урок 107. (Challenge) Structure Pointers and Functions 00:03:24
  • Урок 108. (Demonstration) Structure Pointers and Functions 00:13:48
  • Урок 109. Overview 00:10:27
  • Урок 110. Accessing Files 00:16:21
  • Урок 111. Reading for a file 00:14:51
  • Урок 112. Writing to a file 00:09:36
  • Урок 113. Finding your position in a File 00:11:31
  • Урок 114. (Challenge) Find the number of lines in a file 00:02:22
  • Урок 115. (Demonstration) Find the number of lines in a file 00:07:40
  • Урок 116. (Challenge) Convert characters in a file to uppercase 00:03:24
  • Урок 117. (Demonstration) Convert characters in a file to uppercase 00:10:30
  • Урок 118. (Challenge) Print the contents of a file in reverse order 00:02:24
  • Урок 119. (Demonstration) Print the contents of a file in reverse order 00:07:22
  • Урок 120. Standard Header Files 00:03:48
  • Урок 121. Various Functions 00:12:11
  • Урок 122. Math Functions 00:03:22
  • Урок 123. Utility Functions 00:07:33
  • Урок 124. Further Topics of Study 00:09:41
  • Урок 125. Course Summary 00:13:36
  • Урок 126. Bonus - Please Watch! 00:00:49

C (си) Программирование увеличит возможности карьеры. Станьте лучшим разработчиком на других языках, изучив C.

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

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

Или возможно вы застряли в низкооплачиваемой работе и хотите перейти на более качественную, более старшую позицию. Обучение C (си) может помочь вам!

Дело в том, что научиться программировать на C - это не только отличный язык программирования, он поможет вам улучшить программирование на других компьютерных языках!

Зачем учить C?

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

C (си) один из самых мощных языков, когда-либо созданных. Учитывая, что он был создан более 40 лет назад, он по-прежнему используется в значительной степени и обычно находится в топ-5 или 10 самых популярных и наиболее распространенных языках программирования в мире.

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

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

Если вы хотите стать лучшим разработчиком, обучение C(си) - отличный способ начать!

К концу этого курса вы поймете основы языка программирования C и сделаете себя более доступным для позиций программирования начального уровня.

Вы поймете переменные и разные типы данных, сможете использовать функции и массивы, понять концепцию указателей, узнать о потоке управления (решения и итерации).

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

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

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

Ваш преподаватель Джейсон Федин учит студентов более 12 лет через онлайн-платформы в более чем 10 различных онлайн-университетах. Он создал множество различных учебных программ, начиная от мобильного программирования и заканчивая bash до объектно-ориентированного дизайна и, конечно же, языка программирования C(си).

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: