Домой / Обзоры / Языки программирования c обучение для начинающих. Язык программирования си. Создание приложений под операционную систему Windows

Языки программирования c обучение для начинающих. Язык программирования си. Создание приложений под операционную систему Windows

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

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

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

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

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

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

  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

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

Скачать

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

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

Презентации

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

Методика

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

8 класс

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

9 класс

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

10 класс

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

11 класс

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


Предисловие редактора перевода

Созданием языков программирования занимаются в большинстве случаев очень квалифицированные люди, часто группы программистов, а иногда даже международные коллективы. Однако подавляющее большинство языков программирования умирало, едва родившись. Лишь к немногим из них был проявлен интерес, и буквально единицы получили действительно широкое распространение. К таким "счастливым" языкам принадлежит язык Си, разработанный Д. Ритчи. Он появился не на пустом месте. Ему предшествовали и оказали на него серьезное влияние язык BCPL, разработанный М. Ричардсоном, и язык Би (В), созданный К. Томпсоном.

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

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

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

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

Перевод выполнили В. С. Явнилович (предисловие, гл. 1–9) и Л. Н. Горинович (гл. 10–15 и приложения).

Э. А. Трахтенгерц

Предисловие

Си - простой, изящный язык программирования, на котором останавливает свой выбор все большее число программистов. Эта книга (если вы не посмотрели на титульный лист) называется "Язык Си. Руководство для начинающих"; она представляет собой простой и хороший учебник по языку Си.

Слова "Руководство для начинающих", стоящие в подзаголовке книги, говорят о том, что нашей целью было дать обзор основ языка Си. В программировании опыт - великий учитель; с этой целью в книге приведено много задач учебного и познавательного характера. Мы пытались использовать рисунки всюду, где, как мы надеялись, они помогут внести ясность. Чтобы вы имели возможность проверить себя, в конце каждой главы приводятся вопросы для самоконтроля (и ответы на них). Мы не предполагаем у вас большого опыта работы на каком-нибудь языке программирования, однако иногда будем сравнивать язык Си с другими языками, ориентируясь на тех читателей, которые знают их.

Мы несколько расширили границы обычного учебника: обсудили ряд более сложных тем, таких, как использование структур, приведение типов, работу с файлами; в приложении мы рассмотрели возможности побитовой обработки на языке Си, а также некоторые расширения языка. Мы описали программную среду компилятора с языка Си, функционирующего как с операционной системой UNIX, так и с программным обеспечением микрокомпьютеров: например, обсудили вопрос переключения ввода-вывода и продемонстрировали использование портов в микропроцессорах INTEL 8086/8088. И наконец, мы включили шутливые рисунки как одно из довольно приятных дополнений.

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

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

Мы благодарим Роберта Лафора из издательства Waite Group за редакторские советы и Боба Петерсена за техническую помощь. Мы приносим благодарность также компании Lifeboat Associates (в особенности Джошуа Аллену и Тодду Кацу) за возможность использовать компилятор Lattice С. Мы благодарим специалистов компаний C-Systems, Software Toolworks, Telecon Systems и Supersoft за предоставленную нам информацию о своих компиляторах с языка Си. Один из авторов, С. Прата, посвящает свой труд родителям - Вики и Биллу - с любовью.

М. Уэйт, С. Прата, Д. Мартин

1. Вступление

ИСТОРИЯ СИ ДОСТОИНСТВА СИ

ЯЗЫКИ КОМПИЛЯЦИИ

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

ПРОИСХОЖДЕНИЕ ЯЗЫКА СИ

Сотрудник фирмы Bell Labs Деннис Ритчи создал язык Си в 1972 г. во время совместной работы с Кеном Томпсоном над операционной системой UNIX. Ритчи не выдумал Си просто из головы - прообразом послужил язык Би, разработанный Томпсоном, который в свою очередь…, но это уже другая история. Важным моментом для нас является то, что язык Си был разработан как инструмент для программистов-практиков. В соответствии с этим главной целью его автора было создание удобного и полезного языка.

Мы думаем, что критерий полезности принимался во внимание ПРИ разработке большинства языков программирования, но, кроме того, часто учитывались и другие потребности. Одной из главных Целей при создании языка Паскаль, например, было построение ПРОЧНЫХ основ обучения принципам программирования. Язык Бейсик создавался так, чтобы его синтаксис был близок к синтаксису английского языка; поэтому им легко могли пользоваться студенты, не знакомые с ЭВМ. Все эти цели тоже важны, но они не всегда совместимы с прагматическими, каждодневными требованиями. Предпосылки, послужившие основой создания языка Си как средства программирования, позволили разработать, кроме того, язык, облегчающий труд программиста.

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

Видеокурсы

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

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

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

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

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

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

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

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

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

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

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

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

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

(Code-Live)

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

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

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

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

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

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

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

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

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

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

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

Типы данных

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

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

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

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

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

Функции

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

ООП

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

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

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

Cкачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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