Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Язык си онлайн обучение

Видеокурс для изучения языка Си с нуля

  • Видео, 8 января 2019 в 21:26
  • Алексей Грачев

Язык Си был разработан в 70-е годы XX века Деннисом Ритчи, сотрудником исследовательского центра Bell Labs. Язык отличается несложным синтаксисом, возможностью писать код на низком уровне абстракции, а также компактным размером стандартной библиотеки. Поэтому на нём до сих пор пишут программы для микроконтроллеров, драйвера устройств, промышленное ПО и многое другое.

Чтобы вы смогли изучить Си с нуля, мы нашли интересный видеокурс на русском языке, подробно объясняющий основные конструкции и другие элементы языка. Автор видеоуроков в качестве рабочей среды использует ОС Ubuntu, компилятор GCC и редакторы кода Sublime Text и Visual Studio Code. Каждый видеоурок длится в среднем 25−30 минут, в течение которых подробно разбирается каждая тема. Курс ориентирован на тех, кто никогда не сталкивался с программированием.

Содержание курса

  1. Введение в язык, создание первой программы
    Автор приводит историю языка, объясняет некоторые базовые понятия и создаёт простейшую программу на Си.
  2. Переменные, создание переменных в языке Си
    В данном видео рассказывается о типах переменных (short, int, char, float, double, long, long long) и методах их создания.
  3. Переменные, ввод и вывод информации в терминале в языке Си
    В видеоролике говорится о том, как ввести и вывести через терминал значения переменных с помощью функций scanf() и printf() .
  4. Escape-последовательности
    Escape-последовательности представляют собой сочетания символов, начинающиеся с косой черты и представляющие собой цифру или букву, например n , t . Автор рассказывает, какие escape-последовательности существуют, за что они отвечают и как используются в программе.
  5. Арифметические операции
    Видео посвящено разбору различных арифметических операций, принятых в языке.
  6. Составные операции в языке Си
    В Си можно использовать составное присваивание значений, например, с помощью += , -= , *= и /= . В видео подробно разбираются эти конструкции, а также показывается их использование на примерах программ.
  7. Локальные и глобальные переменные в языке Си
    Автор рассказывает о том, чем отличаются глобальные и локальные переменные, а также знакомит с ключевыми словами extern и static .
  8. Преобразование типов данных в языке Си
    В видео объясняется, как привести переменные к другим типам данных, например int к float .
  9. Массивы, создание массивов в языке Си
    Из видео вы узнаете, что такое массив, как его создать на языке Си и как выполнять действия с его элементами. Рассматривается только одномерный массив.
  10. Многомерные массивы, создание многомерного массива в языке Си
    В видеоролике объясняется работа с многомерными массивами на примере двумерного.
  11. Объявление констант
    В 11-м уроке автор рассказывает о том, что такое константа и как объявить её в коде.
  12. Объявление перечислений в языке Си
    Автор знакомит с ключевым словом enum и рассказывает, как с его помощью создавать собственные типы данных с помощью последовательностей констант.
  13. Отладка с помощью определений препроцессора
    Вы узнаете, какие существуют команды для препроцессора (компонента компилятора, подготавливающего код к компиляции), для чего нужна каждая из них и как применять команды на практике.
  14. Сравнение значений в Си
    В видео рассказывается о сравнении значений переменных с помощью == , != , > , , >= , .
  15. Логические значения
    В данном видеоуроке рассматриваются логические операции И && , ИЛИ || и НЕ ! .
  16. Проверка условий — тернарная операция
    Вы познакомитесь с тернарной операцией, которая представляет собой краткую запись if. else , например (a > b) ? a : b .
  17. Проверка условий if-else
    В 17-м уроке рассматривается конструкция if. else , позволяющая запустить определённый код в зависимости от того, выполнено требуемое условие или нет.
  18. Оператор множественного выбора switch case
    В видео рассмотрен оператор switch. case , с помощью которого в зависимости от поданного ключа можно выполнить нужный код.
  19. Цикл for
    Автор рассказывает о цикле for , позволяющем выполнить код внутри цикла при необходимых условиях требуемое количество раз.
  20. Циклы while, do while
    Цикл while часто используется для перебора элементов и может повторяться сколько угодно раз. Цикл do. while отличается от while блоком do , код в котором вне зависимости от условия выполнится хотя бы один раз.
  21. Утверждения break, continue, goto
    Вы изучите работу с оператором выхода из цикла break , перехода на следующую итерацию цикла continue , а также оператором перехода на определённое место в коде goto .
  22. Функции, прототипы функций
    Здесь даётся введение в функции. Чтобы облегчить понимание, в видео рассматриваются функции без передачи параметров и аргументов. Также вы узнаете, что такое прототип функции.
  23. Функции, передача аргументов в функции
    В видеоуроке рассматривается передача аргументов в функции, а также возврат значений из функций.
  24. Функции, рекурсия
    В видео рассказывается о рекурсии — вызове функции из самой себя.
  25. Сравнение листингов кода на Си
    Вы узнаете, как с помощью команды терминала diff сравнить два файла с исходным кодом.
  26. Пишем код на Си с разделением на файлы
    Вы научитесь разделять свою программу на несколько файлов с исходным кодом и использовать заголовочные файлы с расширением .h.
  27. Указатели в языке Си
    В видеоуроке всё внимание уделяется указателям — переменным, содержащим ссылку на другую переменную.
  28. Передача указателей в функции в языке Си
    С помощью указателей можно напрямую изменять элементы в памяти. Поэтому с их помощью расширяются возможности функций.
  29. Массивы указателей в языке Си
    Тема урока — создание и использование массивов указателей.
  30. Функции ввода и вывода строк в языке Си
    В этом видео автор рассказывает о вводе/выводе строк через терминал с использованием функций printf() , scanf() , fprintf() , fscanf() , gets() , puts() , fgets() , fputs() .
  31. Строки, функции: strcat, strncat в языке Си
    В видеоуроке разбираются функции объединения строк strcat() и strncat() .
  32. Строки, функции: strstr, strcmp в языке Си
    Здесь уделяется внимание функции поиска в строке strstr() и функции сравнения строк strcmp() .
  33. Строки, функции: atoi, sprintf, itoa в языке Си
    В видео рассматривается функция перевода из строки в число atoi() и функции перевода из числа в строку sprintf() и itoa() .
  34. Структуры в языке Си
    Автор объясняет, что такое структуры, а также как их создавать и объявлять.
  35. Структуры в языке Си: объявление указателей в структуре
    В видеоуроке рассматривается использование указателей в структурах и объясняется, почему в структурах лучше оперировать указателями, чем массивами.
  36. Структуры в языке Си: указатели на структуры
    Здесь рассказывается о том, что такое указатели на структуры, на что они действительно указывают, а также объясняется, для чего нужен оператор -> .
  37. Работа с файлами в языке Си
    В данном видеоуроке рассматривается чтение из файла, запись в файл и создание файла на языке Си. В видео демонстрируются кроссплатформенные методы работы с файлами, однако действия с файлами можно проводить и с помощью системных функций Linux.
  38. Работа с файлами в языке Си: функции fread, fwrite
    Вы познакомитесь с функцией чтения из файла fread() и функцией записи в файл fwrite() .
  39. Сообщения об ошибках
    Если при работе с файлами возникают ошибки, их можно обработать с помощью функций perror() и strerror() .
  40. Рандомные числа в Си
    В видео автор разбирает создание псевдослучайных чисел с помощью функций srand(time(NULL)) и rand() и изменение границ множества случайных чисел.
  41. Сортировка в Си
    В данном видеоуроке рассматривается использование быстрой сортировки qsort() (Quick Sort), уже встроенной в язык.
  42. WinAPI
    В последнем видео курса вы изучите несколько базовых функций системной библиотеки WinAPI, с помощью которых вы сможете реализовать MessageBox.

Дополнительные материалы

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

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

25 бесплатных онлайн-курсов для программистов на русском языке

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

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

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

Основы основ

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

  1. Введение в математическую логику . Курс находится на сайте Hexlet в виде видеозаписей. Вы узнаете базовые понятия математики логики, изучите математические инструменты, познакомитесь с парадоксами, поймете основные принципы работы компьютерной техники.
  2. Введение в архитектуру ЭВМ. Курс постоянно доступен на сайте Stepic, по окончанию можно сдать экзамен и получить электронный сертификат. Здесь вы узнаете об архитектуре и принципах работы компьютерной техники, начиная от простейших логических схем до сложных мультипроцессорных устройств.
  3. История ЭВМ и программирования . Курс расположен на сайте Лекториума. Доступен периодически, по мере наполнения группы. Необходимо записаться и ждать уведомления о начале. Длительность – 5 недель. Здесь вы узнаете об истории развития разных ЯП, а также появлению технологий, познакомитесь с разными поколениями компьютерной техники. Также в программе рассматриваются основные принципы работы ЭВМ и существующие типы ЯП.
  4. Основы программирования . Курс находится на страницах Geek Brains, видео в постоянном доступе. На уроках вы узнаете базовые понятия и терминологию, нужные будущему программисту. Лектор расскажет о том, какие бывают ЯП, поясняет различия между ними, в какой сфере каждый из них применяется. Вы познакомитесь с популярными на сегодня направлениями в программировании, научитесь создавать самые простые программы. Курс поможет понять основы и выбрать язык программирования для последующего изучения.
  5. Объектно-ориентированное программирование — это мини-курс, постоянно доступный в формате видео на страницах Geek Brains. Весь материал посвящен основам этой парадигмы программирования, описанию важнейших принципов ООП, которые понадобятся разработчику, независимо от выбранной специализации и ЯП.

Обучение веб-программированию

Вы хотите создавать собственные веб-сайты и сервисы? Создавать уникальные дизайнерские решения или продавать шаблоны дизайнов? Заниматься доработками для популярных CMS, их интеграцией и техническим обслуживанием? Тогда вам понадобится изучить основы – HTML и CSS, а также изучить инструменты разработки под веб (PHP, JavaScript, Python и др.). Нужно понимать, что такое базы данных и как с ними работать. И только после этого можно сконцентрироваться на углубленном изучении одного или нескольких направлений в этой сфере.

  1. Основы разработки сайтов и веб-приложений . Базовый курс, где вы познакомитесь с основными принципами web-разработки. Доступен в любой момент времени на сайте Microsoft Virtual Academy.
  2. Web-технологии . Курс посвящен основным принципам веб-разработки, серверным технологиям и особенностям работы web-приложений. Изучите особенности HTTP протокола, разберетесь с обеспечением безопасности. Изучите технологии node.js, ajax, WebSocket и т.д. Курс доступен в видеозаписи на сайте ИНТУИТ.
  3. HTML . Подробное изучение особенностей HTML. Вы получите достаточно знаний, чтобы создавать собственные шаблоны или странички. Видео доступны в любой момент времени на сайте HTML Academy.
  4. CSS . Полноценный и подробный набор уроков по CSS-стилям и их применению. Видео постоянно доступны на страницах HTML Academy.
  5. HTML5. Основы клиентской разработки . Важные особенности верстки с использованием HTML5. Адаптивная верстка и другие современные возможности. Видео курса доступны в любой момент времени на сайте ИНТУИТ.
  6. Программирование на Python . Изучение языка программирования с первых шагов. Основные принципы, синтаксис, особенности. Интересные примеры, хитрости и нюансы. Преимущества и важные особенности ЯП. Видео доступны на сайте Stepic.
  7. Введение в программирование на Python . Еще один базовый курс по изучению ЯП Python, но немного с другим подходом от преподавателей ИНТУИТ. Доступен в любое время в записи.
  8. JavaScript . Интересный курс по языку программирования, без которого сложно себе представить любую анимацию или интерактивные страницы сайтов. Создатели курса – практикующие разработчики из компании Яндекс. Доступен в видео постоянно.
  9. PHP/MySQL Интересный интерактивный бесплатный курс от Fructcode. Доступ к видео и заданиям открыт на постоянной основе. Можно соревноваться с другими пользователями по рейтинге достижений. При желании ресурс может выдать сертификат, но за него придется заплатить.
  10. Базы данных . Изучение принципов работы с базами данных, оптимизация структуры под web, изучение noSQL, работа с большими массивами. Доступен на ресурсе ИНТУИТ в формате видео.

Мобильные приложения

Вас привлекает создание игр и полезных приложений для мобильных устройств? Значит, вам необходимо изучить особенности программирования для iOS (операционная система устройств Apple) или Android (самая популярная ОС для мобильных). Для работы с ними потребуется изучить не только особые языки, но также понять основные принципы и особенности работы с мобильными. Ведь здесь вас ждет небольшой экран, ограниченные ресурсы, работа с тачпадом и еще много интересного. Вот несколько вводных курсов в эту сферу:

  1. Разработка приложений для iOS . Курс станет прекрасным решением для поклонников «яблокофонов». Если вы хотите создавать приложения под IPhone или IPad, заходите на сайт ИНТУИТ и смотрите обучающие видео.
  2. Введение в разработку приложений для ОС Android . Этот вводный курс поможет разобраться с созданием приложений под Андроид – самую популярную ОС, на которой работает огромное количество различных мобильных устройств: смартфоны, планшеты, «умные часы» и другие гаджеты от различных производителей. Видео всегда доступны на сайте ИНТУИТ.
  3. Введение в разработку приложений для смартфонов на ОС Android . В отличие от предыдущего, в этом курсе делается акцент на работу со смартфонами. Изучают их особенности и рассказывают многие полезные хитрости, которые помогут разобраться с этой сферой деятельности. Доступ – постоянный на страницах ИНТУИТ.
  4. Разработка приложений для смартфонов на ОС Аndroid . Углубленный курс для Андроид-разработчиков. Рекомендуется к изучению после знакомства с вводными уроками (см. курсы выше). Постоянно доступен на ресурсе ИНТУИТ.

Программирование для десктопов: компьютеры, ноутбуки

Этот раздел заинтересует тех, кто стремится создавать программы для настольных компьютеров. Для программирования под Windows или Linux самыми популярными считаются языки C++ и С#. Их изучение позволит вам освоить синтаксис, который частично используется также и в других известных языках, разобраться в основных принципах разработки, научиться создавать программы и читать чужой код, в том числе, на многих «си-подобных» языках.

  1. Программирование . Курс позволит изучить основы программирования на языках Си и С++. В его рамках вы освоите основные понятия – алгоритмы, переменные, управляющие элементы, процедуры и функции и т.д. Изучите работу циклов и работе с файлами, научитесь решать сложные математические задачи при помощи ЯП. Курс бы разработан в МГУ, предназначен в помощь студентам, но также может быть очень полезен для самообразования. Видео можно посмотреть в удобное время на сайте ИНТУИТ.
  2. Алгоритмизация. Введение в язык программирования С++ В рамках этого курса можно изучить не только особенности языка, но и разные методы работы с алгоритмами. Курс находится на сайте ИНТУИТ.
  3. Язык программирования C++ . Основные понятия, возможности, синтаксис и конструкции ЯП. Описание различных библиотек и особенностей применения C++ на практике. Курс можно посмотреть на сайте ИНТУИТ.
  4. Увлекательное программирование на языке C# . Видео-курс подойдет для изучения программирования с нуля на языке С#. При этом уроки реализованы в очень простой, практически, игровой форме. Подойдут для школьников. Сайт с видео — Microsoft Virtual Academy.
  5. Язык программирования C# (часть 1) . Первая часть объемного обучающего курса по изучению ЯП. Основные понятия, особенности синтаксиса, управляющие элементы и конструкции. Видео-уроки предназначены для глубокого изучения ЯП с нуля.
  6. Язык программирования C# (часть 2) . Продолжаем изучать ЯП C#. Библиотеки и особенности ООП на этом языке, другие нюансы и тонкости работы. Оба курса находятся в видеозаписи на сайте Microsoft Virtual Academy.

Надеемся, что вы нашли в этом списке что-то полезное для себя или ваших знакомых. А если знаете что-то еще интересное, делитесь в комментариях.

C++ с нуля

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

Первая программа на C++ — урок 1

В качестве среды разработки под Windows автор советует использовать Visual Studio 2008 (800 Мб), если у вас Windows XP, Visual Studio 2013 (6.5 Гб) для Windows 7 и выше, или Dev C++ 5 (41 Мб) для тех, у кого слишком медленный интернет для загрузки Visual Studio. Пользователям Unix-подобных систем, потребуется компилятор GCC и любой текстовый редактор, например Vim.

После того, как вы установили все необходимое, приступим к написанию первой программы.

Переменные и типы данных в C++ — урок 2

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

Конструкция ветвления в C++ — урок 3

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

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

Циклы в C++ — урок 4

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

Массивы в C++ — урок 5

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

Возьмем группу студентов из десяти человек. У каждого из них есть фамилия. Создавать отдельную переменную для каждого студента — не рационально. Создадим массив, в котором будут храниться фамилии всех студентов.

Функции в C++ — урок 6

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

Указатели в C++ — урок 7

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

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

Динамические массивы в C++ — урок 8

В пятом уроке мы разобрали понятие массива. При объявлении, мы задавали массиву определенный постоянный размер.

Параметры командной строки в C++ — урок 9

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

Классы в C++ — урок 10

Весь реальный мир состоит из объектов. Города состоят из районов, в каждом районе есть свои названия улиц, на каждой улице находятся жилые дома, которые также состоят из объектов.

Практически любой материальный предмет можно представить в виде совокупности объектов, из которых он состоит. Допустим, что нам нужно написать программу для учета успеваемости студентов. Можно представить группу студентов, как класс языка C++. Назовем его Students .

Видео- и онлайн-курсы по С++

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

Видеокурсы

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

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

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

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

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

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

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

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

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

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

Программирование простых игр на С++ за 10 минут

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

Углубленный С++

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

Онлайн-курсы

CPA: Programming Essentials in C++ (Netacad)

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

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

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

С++ с нуля (Code-Live)

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

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

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

Читать еще:  Ассемблерная вставка в си
Ссылка на основную публикацию
Adblock
detector