Самоучитель по программированию c
Записная книжка программиста-новичка, C#, SQL, PHP и все-все-все
Я ведь это уже делал, но хрен теперь найдешь тот кусок кода, гуглим снова… Где бы найти простое и понятное руководство для начинающего, а не тонкости для мега-гуру?
Навигация по записям
Самоучитель по C# для начинающих. 01. Основы языка, переменные, логика, циклы.
1.1 Начальные понятия
Данный самоучитель рассчитан на людей, совершенно не знакомых с программированием, но способных скачать, установить и запустить программу — в данном случае Visual Studio 2010 (2008,2012). В первой части я кратко расскажу о основах языка C#. Формат самоучителя подразумевает краткое и упрощенное изложение — за подробностями касательно отдельных функций и классов обращайтесь в гугл и msdn, за продвинутыми методиками программирования в продвинутые книги. В принципе почти всю информацию можно найти в интернете, надо лишь знать что искать, так что в отличие от классических книг на несколько сотен страниц я буду давать ту основу, зная которую вы уже сможете сформулировать поисковый запрос — ни в одном разделе я сознательно не даю полной и исчерпывающей информации, ее место в документации. Крайне желательно знать английский язык хотя бы на уровне чтения со словарем — в англоязычном интернете информации на порядок больше, невероятно полезные сайты вроде StackOverflow не имеют русских аналогов, а русскоязычные форумы и обсуждения чаще всего напоминают знаменитый анекдот (под американским форумом можно смело понимать англоязычный с немцами, индусами и бразильцами):
Чем отличаются русский, американский и еврейский форумы?
— на американском форуме вы задаете вопрос и вам дают ответ
— на еврейском форуме вы задаете вопрос и вам задают встречный вопрос
— на русском форуме вы задаете вопрос и вам долго объясняют почему вы такой мудак.
Современные языки программирования вообще и C# в частности скрывают многие низкоуровневые особенности работы компьютеров, так что детально разбираться в особенностях работы регистров процессора и тому подобной зауми новичку не надо (99% программистов тоже). Но некоторые вещи стоит держать в уме.
Что такое язык программирования? Это язык, который понимает компьютер. (ваш Капитан Очевидность) Но на самом деле компьютер понимает только нули и единицы. Так что любой современный язык программирования на самом деле промежуточен — после того как вы напишете программу, он переводится на настоящий язык компьютера — компилируется. Таким образом сначала мы пишем программу на языке программирования в обычном текстовом файле, потом компиллируем в двоичный язык компьютера.
С# в этом плане еще сложней — сначала ваша программа на C# переводится в специальный промежуточный язык — байт-код, после чего уже этот промежуточный язык переводится в двоичный код. Промежуточный язык рассчитан на специальный набор промежуточных программ, которые надо установить на компьютер перед запуском программы на C# — .Net Framework.
Схема работы .Net и C#
Таким образом мы:
1. Пишем код на языке C# в обычный текстовый файл
2. Компилируем программу в байт-код с помощью компилятора C# (1 и 2 можно делать без Visual Studio, например набрать исходный текст в Блокноте и скомпилировать через командную строку)
3. Запускаем полученную программу на компьютере, где уже установлен .Net Framework соответствующей версии), который переводит программу в двоичный код и собственно запускает, давая доступ к компьютеру. (соответственно на компьютере без Net Framework программа не запустится вообще).
1.2 Привет мир
Перейдем к практике, для создания самой простой программы мы запустим Visual Studio и выполним следующее:
1. Пойдем в меню File-New Project (Файл — Новый проект) или сразу кликнем на Create New Project
2. Выберем шаблон Console Application (Консольное приложение)
3. Выберем каталог на диске, где будет расположен наш проект
4. Добавим две строчки в текст программы, чтобы он выглядел вот так
4. Нажмем F5 (можно выбрать в меню Debug — Start Debugging ) и увидим черное окошко с нашим Привет мир, которое закроется после нажатия Enter.
Что это и зачем оно надо? В теории это программа без кнопок и меню, которой можно управлять через командную строку. В наше время такие программы используются редко, в основном очень продвинутыми сисадминами или в мире Linux (что в принципе одно и то же), но знать об их существовании полезно — программисту может довестись с такой работать или даже писать. Нам она нужна по одной-единственной причине — такая программа меньше всего будет отвлекать от изучения универсальных особенностей языка C#.
В самом простом случае (это про нас) компьютер последовательно выполняет команды программиста — одну за другой:
System.Console.WriteLine(«Привет мир!»); — выводит в консоль (то самое черное окно) строку «Привет мир»»
System.Console.ReadLine(); — читает строку, которую мы вводим (ввод завершается нажатием Enter) и переходит к следующей команде.
Так как следующей команды нет, программа завершает работу и закрывает окно.
1.3 Простые переменные
Обычно программы используются для хранения и обработки какой-то информации. Например списока покупателей магазина, сотрудников фирмы или героев и монстров в компьютерной игре. При работе программы все ее данные хранятся в переменных. Переменные и сама программа хранятся в оперативной памяти.
Переменную можно рассматривать как ящик или сумку для данных. Однажды сделав такой ящик мы можем класть в него разные вещи. Само собой на нижнем уровне абсолютно все данные хранятся в виде нулей и единиц, но языки высокого уровня скрывают от нас ненужные сложности. Под каждый тип данных — строку, число, картинку — нужен ящик соответствующего типа, вы ведь не будете складывать деньги, спички, бензин и котят в одну и ту же коробку. Так что у каждой переменной есть тип, который надо указать при ее создании. Тип одновременно описывает и размер переменной — сколько данных в нее можно сложить.
Есть языки программирования, в которых переменные не делятся на типы. Что происходит с котятами в таком случае вы узнаете чуть позже, в разделе про обработку ошибок.
— int, целое число от -2,147,483,648 до 2,147,483,647
— string, строка
— double, число с дробной частью и переменным количеством знаков после запятой, например 1.38 принимает значения от -1,79769313486232 в 308 степени до 1,79769313486232 в 308 степени. Проще говоря очень большие.
— decimal, число с дробной частью и повышенной точностью рассчетов, специально для финансовых операций — в миллионных и более мелких долях float могут накапливаться мелкие ошибки, банки это не любят
— bool — специальный тип для передачи данных об истинности или ложности, принимает только два значения — true или false. В старых языках вместо него использовали int с значениями 1 и 0, но это было менее наглядно и приводило к ошибкам.
Как уже говорилось выше очень часто программы обрабатывают данные о людях. Попробуем это сделать и мы.
Не забудьте запустить по F5 и посмотреть результаты.
Здесь мы объявляем две переменные-строки, оставляем их пока пустыми, объявляем набор переменных с данными о людях, склеиваем из них одну большую строку и заносим в первую переменную-строку, заносим в тот же самый набор переменных другие данные, склеиваем все вместе и заносим в другую строку и только после этого выводим две финальные строки на экран.
Стоит обратить внимание на склеивание нескольких строк в одну с помощью +. Больше информации можно найти здесь, подробное описание всевозможных издевательств над строками — здесь.
1.4 Арифметические операции
Компьютеры почти всегда что-то считают. Собственно само слово computer означает вычислитель. В этой области даже самый слабенький процессор намного превосходит человеческий мозг.
Почему произошло столь странное недоразумение с дробным числом во второй раз? Все дело в том, что внутри одной строки мы выполнили сразу несколько операций. А в каком порядке они выполняются? В порядке приоритета. И у оператора присваивания =, который записывает данные в переменную, этот приоритет один из самых низких
Сначала выполнилось деление двух целочисленных переменных a и b и только после этого целый результат деления записался в дробную переменную doubleResult.
Небольшое отступление:
В дальнейших примерах кода подразумевается, что вы самостоятельно вставите их внутрь
1.5 Управление и логика
На данный момент наша программа не отличается умом — Скайнет из нее не получится, уничтожение человечеству не грозит. Мы просто выполняем команды по очереди, одну за другой, а хотелось бы принимать решения в зависимости от внешних условий — например «если есть возможность, уничтожить всех людей, иначе работать над созданием такой возможности». Делается это с с помощью специальной конструкции если-иначе, или, на родном для C# английском if-else и специальных операторов сравнения:
- — величина слева больше
- = — меньше либо равно и больше либо равно
- == — просто равно, обратите внимание, что равенство очень похоже на оператор присваивания, который записывает значение в переменную = — не путайте их, равенство — это двойное «равно»
- != — не равно
- и другие
Компьютерная логика проста — высказывание или результат сравнения может быть либо истиной либо ложью, либо true либо flase, либо уничтожать человечество либо нет. Третьего компьютеру не дано. Для хранения таких данных существует специальный тип данных — логический — bool — который может принимать только два значения (догадываетесь какие?). Если вы хотите чего-то посложней и похардкорней — то все вместе это булева алгебра, изучайте и просвещайтесь.
Нам важно понять, что любая операция сравнения, на пример 2
C / C++
Русский
Параллельное программирование на С++ в действии. Практика разработки многопоточных программ. Энтони Уильямс
В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. .

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

Алгоритмы и программы. Язык С++. Е. Конова, Г. Поллак
При изложении материала авторы используют методику обучения от алгоритмов к .

Expert C Programming: Deep Secrets. P. Linden
C programming is a craft that takes years to perfect. .

Программирование на С для начинающих. 3-е изд. Грег Перри, Дин Миллер
Простое и понятное руководство по программированию на С поможет быстро .

Программирование: учебное пособие. Л.А. Надейкина
В Учебном пособии рассматривается на базе языка С++ одна из .

Введение в язык Си++. А.В.Столяров
Краткое (объём четвёртого издания — 136 страниц) введение в язык .

Объектно-ориентированное программирование в С++. Р. Лафоре
Основная задача этой книги — научить вас создавать программы на .

Введение в C++. 4-ое издание. А. В. Столяров
Краткое введение в язык Си++. Содержание построено по принципу плавного .

Объектно-ориентированное программирование на C++. Пол Айра
Если вы хотите писать качественные приложения, с хорошей архитектурой и .

Язык программирования С. Брайан Керниган, Деннис Ритчи
Книга по программированию от авторов языка C.
В своё .
- Введение в программирование на языке Си (860 Кб)29.03.2014
Изучение основных конструкций языка и приемов написания программ. - Xранение и обработка данных (792 Кб)21.11.2013
Язык Си: массивы, матрицы, структуры, символьные строки, структуры, рекурсия. - Разработка программ на языке Си (937 Кб)01.03.2014
Приемы проектирования программ, структурное программирование, целочисленные алгоритмы, численные методы, моделирование. - Динамические структуры данных в языке Си (666 Кб)11.06.2009
Списки, стеки, деревья, графы. - Видео, 8 января 2019 в 21:26
- Алексей Грачев
- Введение в язык, создание первой программы
Автор приводит историю языка, объясняет некоторые базовые понятия и создаёт простейшую программу на Си. - Переменные, создание переменных в языке Си
В данном видео рассказывается о типах переменных (short, int, char, float, double, long, long long) и методах их создания. - Переменные, ввод и вывод информации в терминале в языке Си
В видеоролике говорится о том, как ввести и вывести через терминал значения переменных с помощью функций scanf() и printf() . - Escape-последовательности
Escape-последовательности представляют собой сочетания символов, начинающиеся с косой черты и представляющие собой цифру или букву, например n , t . Автор рассказывает, какие escape-последовательности существуют, за что они отвечают и как используются в программе. - Арифметические операции
Видео посвящено разбору различных арифметических операций, принятых в языке. - Составные операции в языке Си
В Си можно использовать составное присваивание значений, например, с помощью += , -= , *= и /= . В видео подробно разбираются эти конструкции, а также показывается их использование на примерах программ. - Локальные и глобальные переменные в языке Си
Автор рассказывает о том, чем отличаются глобальные и локальные переменные, а также знакомит с ключевыми словами extern и static . - Преобразование типов данных в языке Си
В видео объясняется, как привести переменные к другим типам данных, например int к float . - Массивы, создание массивов в языке Си
Из видео вы узнаете, что такое массив, как его создать на языке Си и как выполнять действия с его элементами. Рассматривается только одномерный массив. - Многомерные массивы, создание многомерного массива в языке Си
В видеоролике объясняется работа с многомерными массивами на примере двумерного. - Объявление констант
В 11-м уроке автор рассказывает о том, что такое константа и как объявить её в коде. - Объявление перечислений в языке Си
Автор знакомит с ключевым словом enum и рассказывает, как с его помощью создавать собственные типы данных с помощью последовательностей констант. - Отладка с помощью определений препроцессора
Вы узнаете, какие существуют команды для препроцессора (компонента компилятора, подготавливающего код к компиляции), для чего нужна каждая из них и как применять команды на практике. - Сравнение значений в Си
В видео рассказывается о сравнении значений переменных с помощью == , != , > , , >= , . - Логические значения
В данном видеоуроке рассматриваются логические операции И && , ИЛИ || и НЕ ! . - Проверка условий — тернарная операция
Вы познакомитесь с тернарной операцией, которая представляет собой краткую запись if. else , например (a > b) ? a : b . - Проверка условий if-else
В 17-м уроке рассматривается конструкция if. else , позволяющая запустить определённый код в зависимости от того, выполнено требуемое условие или нет. - Оператор множественного выбора switch case
В видео рассмотрен оператор switch. case , с помощью которого в зависимости от поданного ключа можно выполнить нужный код. - Цикл for
Автор рассказывает о цикле for , позволяющем выполнить код внутри цикла при необходимых условиях требуемое количество раз. - Циклы while, do while
Цикл while часто используется для перебора элементов и может повторяться сколько угодно раз. Цикл do. while отличается от while блоком do , код в котором вне зависимости от условия выполнится хотя бы один раз. - Утверждения break, continue, goto
Вы изучите работу с оператором выхода из цикла break , перехода на следующую итерацию цикла continue , а также оператором перехода на определённое место в коде goto . - Функции, прототипы функций
Здесь даётся введение в функции. Чтобы облегчить понимание, в видео рассматриваются функции без передачи параметров и аргументов. Также вы узнаете, что такое прототип функции. - Функции, передача аргументов в функции
В видеоуроке рассматривается передача аргументов в функции, а также возврат значений из функций. - Функции, рекурсия
В видео рассказывается о рекурсии — вызове функции из самой себя. - Сравнение листингов кода на Си
Вы узнаете, как с помощью команды терминала diff сравнить два файла с исходным кодом. - Пишем код на Си с разделением на файлы
Вы научитесь разделять свою программу на несколько файлов с исходным кодом и использовать заголовочные файлы с расширением .h. - Указатели в языке Си
В видеоуроке всё внимание уделяется указателям — переменным, содержащим ссылку на другую переменную. - Передача указателей в функции в языке Си
С помощью указателей можно напрямую изменять элементы в памяти. Поэтому с их помощью расширяются возможности функций. - Массивы указателей в языке Си
Тема урока — создание и использование массивов указателей. - Функции ввода и вывода строк в языке Си
В этом видео автор рассказывает о вводе/выводе строк через терминал с использованием функций printf() , scanf() , fprintf() , fscanf() , gets() , puts() , fgets() , fputs() . - Строки, функции: strcat, strncat в языке Си
В видеоуроке разбираются функции объединения строк strcat() и strncat() . - Строки, функции: strstr, strcmp в языке Си
Здесь уделяется внимание функции поиска в строке strstr() и функции сравнения строк strcmp() . - Строки, функции: atoi, sprintf, itoa в языке Си
В видео рассматривается функция перевода из строки в число atoi() и функции перевода из числа в строку sprintf() и itoa() . - Структуры в языке Си
Автор объясняет, что такое структуры, а также как их создавать и объявлять. - Структуры в языке Си: объявление указателей в структуре
В видеоуроке рассматривается использование указателей в структурах и объясняется, почему в структурах лучше оперировать указателями, чем массивами. - Структуры в языке Си: указатели на структуры
Здесь рассказывается о том, что такое указатели на структуры, на что они действительно указывают, а также объясняется, для чего нужен оператор -> . - Работа с файлами в языке Си
В данном видеоуроке рассматривается чтение из файла, запись в файл и создание файла на языке Си. В видео демонстрируются кроссплатформенные методы работы с файлами, однако действия с файлами можно проводить и с помощью системных функций Linux. - Работа с файлами в языке Си: функции fread, fwrite
Вы познакомитесь с функцией чтения из файла fread() и функцией записи в файл fwrite() . - Сообщения об ошибках
Если при работе с файлами возникают ошибки, их можно обработать с помощью функций perror() и strerror() . - Рандомные числа в Си
В видео автор разбирает создание псевдослучайных чисел с помощью функций srand(time(NULL)) и rand() и изменение границ множества случайных чисел. - Сортировка в Си
В данном видеоуроке рассматривается использование быстрой сортировки qsort() (Quick Sort), уже встроенной в язык. - WinAPI
В последнем видео курса вы изучите несколько базовых функций системной библиотеки WinAPI, с помощью которых вы сможете реализовать MessageBox.

Метапрограммирование шаблонов C++ в задачах математической физики. М.М. Краснов
Рассматривается применение метапрограммирования шаблонов языка C++ для упрощения записи алгоритмов .
English
The C programming language. 2 ed. B. W. Kernighan, D. M. Ritchie
The computing world has undergone a revolution since the publication .
Test Driven Development for Embedded C. J. W. Grenning
I was first exposed to Test-Driven Development at the first .
C Programming in Linux. David Haskins
So where do we start? A sensible place is “at .
Structured Programming with C++. Kjell Bäckman
The purpose of the course Structured Programming with C/C++ is .
Understanding and Using C Pointers. R. M. Reese
Numerous books have been written about C. They usually offer .
Programming in C. S. G. Kochan
The C programming langguage was pioneered by Dennis Ritchie at .
API Design for C++. Martin Reddy
API Design for C++ provides a comprehensive discussion of Application .
The C++ Standard Library. Nicolai M. Josuttis
The Best-Selling C++ Resource Now Updated for C++11
The .
C++ Templates. David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor
Templates are among the most powerful features of C++, but .
Effective Modern C++. Scott Meyers
Topics include:
The pros and cons of braced initialization, .
Objective-C for Absolute Beginners. Gary Bennett, Brad Lees, Mitchell Fisher
Learn Objective-C and its latest release, and learn how to .
Optimized C++. Kurt Guntheroth
This book is here to help you get your job .
Язык программирования Си
практический курс
Что это такое?
В свое время (1991-1992 года), выбрав язык Си в качестве основного языка программирования для математических классов, автор столкнулся с проблемой отсутствия нормальных учебников, которые можно было бы рекомендовать школьникам. Это вынудило его написать свой конспект лекций, который можно было бы назвать «Практический курс программирования на Си» — в него вошли те сведения, которые действительно требовались автору на практике. Многолетний опыт преподавания показал, что конспект действительно востребован и широко используется как школьниками, так и выпускниками.
В качестве среды разработки используется бесплатно распространяемая оболочка Dev-C++ с открытым исходным кодом, включающая компилятор GCC.
Автор будет благодарен за отзывы и конструктивную критику по поводу содержания и оформления этих материалов. Если вы заметили ошибку или у вас есть предложения, замечания, жалобы, просьбы и заявления, пишите.
Лицензионное соглашение
Все опубликованные ниже материалы могут быть свободно использованы в некоммерческих целях при условии сохранения авторства.
Скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.
Скачать
Конспект распространяется свободно в формате PDF. Для просмотра требуется бесплатный просмотрщик Acrobat Reader. Конспект курса условно разбит на 4 части:
Презентации
Для преподавателей и учащихся могут быть полезны презентации, построенные на основе этого конспекта. Их можно скачать на странице Презентации.
Методика
В программе предусмотрено изучение языка Си в 7-11 классах:
Часть I представляет собой расширенный конспект курса 7 класса. Введение в язык Си строится на базе алгоритмической подготовки, которую дети получили в 6 классе, работая с исполнителями.
Основная задача — познакомить учащихся с основными конструкциями языка Си: циклами, условными операторами, процедурами. Весьма успешно проходит изучение разделов, связанных с графикой, анимацией.
Для работы с графикой через браузер можно использовать онлайн-сервис Антона Деникина.
Программа включает следующие разделы (в скобках указана часть конспекта): Массивы (II), Работа с файлами (II), Символьные строки (II), Вращение объектов (III), Моделирование (III). Особое внимание уделяется изучению алгоритмов работы с массивами, в том числе поиска, сортировки и т.п. Дается понятие об эффективности вычислительных методов.
Основное внимание уделяется изучению методов разработки программ на языке Си. Учащиеся выполняют индивидуальное задание, в ходе которого учатся строить графики на экране, знакомятся с преобразованиями систем координат, изучают методы решения уравнений, знакомятся с численными методами, учатся правильно оформлять программы (разделы 1-2 части III). Одно из заданий посвящено использованию метода Монте-Карло для вычисления площади сложной фигуры. Из новых разделов изучаются также Матрицы (II), Массивы символьных строк (II). Вводится понятие указателей и изучаются простейшие операции с ними.
Изучения языка Си выходит на более серьезный уровень. Основные темы — Управление памятью (II), Рекурсия (II), Структуры (II). Предусмотрено изучение языка Паскаль в качестве второго языка программирования. С этого момента алгоритмы на теоретических занятиях записываются поочередно на двух языках.
Изучаются не столько особенности языков, сколько алгоритмы. Основные разделы — Численные методы (III), Моделирование (III), Динамические структуры данных (IV).
Решил начать программирование C++ с нуля:)
Обучение программированию на C# и Java бесплатно без регистрации и смс
На волне поста prodigal.son’а об обучение кодингу на Ruby, в связи с избытком времени, я (Java developer) и мой лучший друг (.Net developer) готовы бесплатно помочь наставлять на путь истинный обучения програмированию пикабушников. Почему наставлять, а не проводить какие то уроки? Да потому что вся информация, курсы, книги, материалы и задачи и так разбросаны по сети. Но из-за этого избытка новички просто теряется в этом океане информации и я хочу помочь им разобраться по мере своих возможностей. А тем кто уже что то-делает и немного умеет подсказывать :).
Сразу к делу, отвечу на несколько популярных вопросов и дам важные комментарии.
Все ли смогут научиться программированию?
Скажу честно, не все. На всевозможных курсах вам будут обещать золотые горы, легкий вход в отрасль, а иногда даже гарантировать 100% успех. Но мало кто расскажет о подводных камнях профессии. Профессия программиста легка на первый взгляд, также присутствуют нюансы, возможно узнав которые может от затеи учиться кодить. Поэтому вряд ли кто-то кроме вас сможет сказать получится у вас или нет. Все зависит от человека, его целей и желания. Если у тебя есть мотивация много учиться, то у тебя есть шансы.
Почему именно Java и C#?
С чем работаем, с тем и помогаем 🙂 Это одни из наиболее популярных языков программирования в 2020 году в мире. И к тому же высокооплачиваемые. Да, языки не самые простые. Главное не подумайте, что все обучение это изучение синтаксиса одного языка.
Что лучше — курсы, книги или видео?
Важно все, но еще важнее — практика, практика и еще раз практика. Кодить и кодить каждый день, причем вам должно это нравится. Если вам не будет это нравится то исход печален.
Можно ли войти в отрасль после 30+?
Да, можно, примеров достаточно. Тяжелее чем более молодому соискателю, но опять же, все зависит от Вас. Предрассудки в России по поводу возраста никто не отменял. Поэтому плавно переходим к следующему вопросу.
Тяжело ли найти работу на начальную позицию?
В 2020 году чтобы войти в IT-отрасль на позицию Junior-разработчика требования к подготовке серьезные. 10 лет назад было гораздо проще. Но не унывай падаван, IT отрасль все еще рынок соискателя, главное что-то представлять из себя ценное. Мы готовы указать на знания, твое дело их принять.
Насколько важен английский?
Архиважен. Без него на успех и не надейтесь. В начале со словарем, но по мере углубления в тему без английского не обойтись. Лучшие книги, онлайн курсы будут на английском и это не шутки. Поэтому готовьтесь к изучения необходимого уровня языка. Из приятных бонусов английский нужен не только в IT.
Что насчет хороших зарплат?
Зарплаты хорошие. Загвоздка в том, что чтобы достичь высот нужно много работать, знать, читать, изучать. Причем изучать постоянно. Не факт, что если бы попробовали себя в какой то другой отрасли и потратив столько же времени, сил, энергии не достигли тех же зарплат.
Самое главное, осилит путь идущий. Путь новичка нелегок. Мы будем помогать мотивировать, от вас нужна полная самоотдача и усидчивость. Лень наш главный враг и с ней мы не будем мириться.
Как все будет происходить?
Для всего этого я создал чат в котором мы будем отвечать на ваши вопросы в телеграм и другие пикабушники будут помогать, если мы не будем успевать отвечать:
Также я создал канал для важной информации и плана обучения. На текущий момент уже создан небольшой FAQ для новичков. Скоро появятся важные книги.
Также будем рады уже состоявшимся сеньорам помидорам (^_^), которые готовы будут помогать новичкам пикабушникам.
Для примера, мы обязательно затронем такие темы как с чего начинать, необходимые навыки, IDE или онлайн-компиляторы, книги, алгоритмы, подготовка к собеседованиям.
И напоследок, в силу последних событий в мире у многих нас появилось время, которое можно потратить с пользой и «вложить» в себя. Вложиться в себя значит инвестировать в свое будущее. Так что нам надо начинать, let’s start!
Видеокурс для изучения языка Си с нуля
Язык Си был разработан в 70-е годы XX века Деннисом Ритчи, сотрудником исследовательского центра Bell Labs. Язык отличается несложным синтаксисом, возможностью писать код на низком уровне абстракции, а также компактным размером стандартной библиотеки. Поэтому на нём до сих пор пишут программы для микроконтроллеров, драйвера устройств, промышленное ПО и многое другое.
Чтобы вы смогли изучить Си с нуля, мы нашли интересный видеокурс на русском языке, подробно объясняющий основные конструкции и другие элементы языка. Автор видеоуроков в качестве рабочей среды использует ОС Ubuntu, компилятор GCC и редакторы кода Sublime Text и Visual Studio Code. Каждый видеоурок длится в среднем 25−30 минут, в течение которых подробно разбирается каждая тема. Курс ориентирован на тех, кто никогда не сталкивался с программированием.
Содержание курса
Дополнительные материалы
Чтобы быстро вникнуть в синтаксис языка, вы можете посмотреть часовое видео, в котором объясняются основы языка. В частности, в нём рассказывается о переменных, условных операторах, структурах, типах данных, арифметических операциях, функциях, циклах и многом другом.
Если видеоуроки не подходят для вас, вы можете ознакомиться с подборкой книг по языку Си и найти для себя подходящую. После изучения основ языка Си вы можете заглянуть в наш раздел с материалами по Си и смежным темам.